external-secrets.io_externalsecrets.yaml 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.16.5
  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.name
  24. name: Store
  25. type: string
  26. - jsonPath: .spec.refreshInterval
  27. name: Refresh Interval
  28. type: string
  29. - jsonPath: .status.conditions[?(@.type=="Ready")].reason
  30. name: Status
  31. type: string
  32. deprecated: true
  33. name: v1alpha1
  34. schema:
  35. openAPIV3Schema:
  36. description: ExternalSecret is the Schema for the external-secrets API.
  37. properties:
  38. apiVersion:
  39. description: |-
  40. APIVersion defines the versioned schema of this representation of an object.
  41. Servers should convert recognized schemas to the latest internal value, and
  42. may reject unrecognized values.
  43. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  44. type: string
  45. kind:
  46. description: |-
  47. Kind is a string value representing the REST resource this object represents.
  48. Servers may infer this from the endpoint the client submits requests to.
  49. Cannot be updated.
  50. In CamelCase.
  51. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  52. type: string
  53. metadata:
  54. type: object
  55. spec:
  56. description: ExternalSecretSpec defines the desired state of ExternalSecret.
  57. properties:
  58. data:
  59. description: Data defines the connection between the Kubernetes Secret
  60. keys and the Provider data
  61. items:
  62. description: ExternalSecretData defines the connection between the
  63. Kubernetes Secret key (spec.data.<key>) and the Provider data.
  64. properties:
  65. remoteRef:
  66. description: ExternalSecretDataRemoteRef defines Provider data
  67. location.
  68. properties:
  69. conversionStrategy:
  70. default: Default
  71. description: Used to define a conversion Strategy
  72. enum:
  73. - Default
  74. - Unicode
  75. type: string
  76. key:
  77. description: Key is the key used in the Provider, mandatory
  78. type: string
  79. property:
  80. description: Used to select a specific property of the Provider
  81. value (if a map), if supported
  82. type: string
  83. version:
  84. description: Used to select a specific version of the Provider
  85. value, if supported
  86. type: string
  87. required:
  88. - key
  89. type: object
  90. secretKey:
  91. description: The key in the Kubernetes Secret to store the value.
  92. maxLength: 253
  93. minLength: 1
  94. pattern: ^[-._a-zA-Z0-9]+$
  95. type: string
  96. required:
  97. - remoteRef
  98. - secretKey
  99. type: object
  100. type: array
  101. dataFrom:
  102. description: |-
  103. DataFrom is used to fetch all properties from a specific Provider data
  104. If multiple entries are specified, the Secret keys are merged in the specified order
  105. items:
  106. description: ExternalSecretDataRemoteRef defines Provider data location.
  107. properties:
  108. conversionStrategy:
  109. default: Default
  110. description: Used to define a conversion Strategy
  111. enum:
  112. - Default
  113. - Unicode
  114. type: string
  115. key:
  116. description: Key is the key used in the Provider, mandatory
  117. type: string
  118. property:
  119. description: Used to select a specific property of the Provider
  120. value (if a map), if supported
  121. type: string
  122. version:
  123. description: Used to select a specific version of the Provider
  124. value, if supported
  125. type: string
  126. required:
  127. - key
  128. type: object
  129. type: array
  130. refreshInterval:
  131. default: 1h
  132. description: |-
  133. RefreshInterval is the amount of time before the values are read again from the SecretStore provider
  134. Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h"
  135. May be set to zero to fetch and create it once. Defaults to 1h.
  136. type: string
  137. secretStoreRef:
  138. description: SecretStoreRef defines which SecretStore to fetch the
  139. ExternalSecret data.
  140. properties:
  141. kind:
  142. description: |-
  143. Kind of the SecretStore resource (SecretStore or ClusterSecretStore)
  144. Defaults to `SecretStore`
  145. enum:
  146. - SecretStore
  147. - ClusterSecretStore
  148. type: string
  149. name:
  150. description: Name of the SecretStore resource
  151. maxLength: 253
  152. minLength: 1
  153. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  154. type: string
  155. type: object
  156. target:
  157. description: |-
  158. ExternalSecretTarget defines the Kubernetes Secret to be created
  159. There can be only one target per ExternalSecret.
  160. properties:
  161. creationPolicy:
  162. default: Owner
  163. description: |-
  164. CreationPolicy defines rules on how to create the resulting Secret.
  165. Defaults to "Owner"
  166. enum:
  167. - Owner
  168. - Merge
  169. - None
  170. type: string
  171. immutable:
  172. description: Immutable defines if the final secret will be immutable
  173. type: boolean
  174. name:
  175. description: |-
  176. The name of the Secret resource to be managed.
  177. Defaults to the .metadata.name of the ExternalSecret resource
  178. maxLength: 253
  179. minLength: 1
  180. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  181. type: string
  182. template:
  183. description: Template defines a blueprint for the created Secret
  184. resource.
  185. properties:
  186. data:
  187. additionalProperties:
  188. type: string
  189. type: object
  190. engineVersion:
  191. default: v1
  192. description: |-
  193. EngineVersion specifies the template engine version
  194. that should be used to compile/execute the
  195. template specified in .data and .templateFrom[].
  196. enum:
  197. - v1
  198. - v2
  199. type: string
  200. metadata:
  201. description: ExternalSecretTemplateMetadata defines metadata
  202. fields for the Secret blueprint.
  203. properties:
  204. annotations:
  205. additionalProperties:
  206. type: string
  207. type: object
  208. labels:
  209. additionalProperties:
  210. type: string
  211. type: object
  212. type: object
  213. templateFrom:
  214. items:
  215. maxProperties: 1
  216. minProperties: 1
  217. properties:
  218. configMap:
  219. properties:
  220. items:
  221. description: A list of keys in the ConfigMap/Secret
  222. to use as templates for Secret data
  223. items:
  224. properties:
  225. key:
  226. description: A key in the ConfigMap/Secret
  227. maxLength: 253
  228. minLength: 1
  229. pattern: ^[-._a-zA-Z0-9]+$
  230. type: string
  231. required:
  232. - key
  233. type: object
  234. type: array
  235. name:
  236. description: The name of the ConfigMap/Secret resource
  237. maxLength: 253
  238. minLength: 1
  239. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  240. type: string
  241. required:
  242. - items
  243. - name
  244. type: object
  245. secret:
  246. properties:
  247. items:
  248. description: A list of keys in the ConfigMap/Secret
  249. to use as templates for Secret data
  250. items:
  251. properties:
  252. key:
  253. description: A key in the ConfigMap/Secret
  254. maxLength: 253
  255. minLength: 1
  256. pattern: ^[-._a-zA-Z0-9]+$
  257. type: string
  258. required:
  259. - key
  260. type: object
  261. type: array
  262. name:
  263. description: The name of the ConfigMap/Secret resource
  264. maxLength: 253
  265. minLength: 1
  266. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  267. type: string
  268. required:
  269. - items
  270. - name
  271. type: object
  272. type: object
  273. type: array
  274. type:
  275. type: string
  276. type: object
  277. type: object
  278. required:
  279. - secretStoreRef
  280. - target
  281. type: object
  282. status:
  283. properties:
  284. binding:
  285. description: Binding represents a servicebinding.io Provisioned Service
  286. reference to the secret
  287. properties:
  288. name:
  289. default: ""
  290. description: |-
  291. Name of the referent.
  292. This field is effectively required, but due to backwards compatibility is
  293. allowed to be empty. Instances of this type with an empty value here are
  294. almost certainly wrong.
  295. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  296. type: string
  297. type: object
  298. x-kubernetes-map-type: atomic
  299. conditions:
  300. items:
  301. properties:
  302. lastTransitionTime:
  303. format: date-time
  304. type: string
  305. message:
  306. type: string
  307. reason:
  308. type: string
  309. status:
  310. type: string
  311. type:
  312. type: string
  313. required:
  314. - status
  315. - type
  316. type: object
  317. type: array
  318. refreshTime:
  319. description: |-
  320. refreshTime is the time and date the external secret was fetched and
  321. the target secret updated
  322. format: date-time
  323. nullable: true
  324. type: string
  325. syncedResourceVersion:
  326. description: SyncedResourceVersion keeps track of the last synced
  327. version
  328. type: string
  329. type: object
  330. type: object
  331. served: true
  332. storage: false
  333. subresources:
  334. status: {}
  335. - additionalPrinterColumns:
  336. - jsonPath: .spec.secretStoreRef.name
  337. name: Store
  338. type: string
  339. - jsonPath: .spec.refreshInterval
  340. name: Refresh Interval
  341. type: string
  342. - jsonPath: .status.conditions[?(@.type=="Ready")].reason
  343. name: Status
  344. type: string
  345. - jsonPath: .status.conditions[?(@.type=="Ready")].status
  346. name: Ready
  347. type: string
  348. name: v1beta1
  349. schema:
  350. openAPIV3Schema:
  351. description: ExternalSecret is the Schema for the external-secrets API.
  352. properties:
  353. apiVersion:
  354. description: |-
  355. APIVersion defines the versioned schema of this representation of an object.
  356. Servers should convert recognized schemas to the latest internal value, and
  357. may reject unrecognized values.
  358. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  359. type: string
  360. kind:
  361. description: |-
  362. Kind is a string value representing the REST resource this object represents.
  363. Servers may infer this from the endpoint the client submits requests to.
  364. Cannot be updated.
  365. In CamelCase.
  366. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  367. type: string
  368. metadata:
  369. type: object
  370. spec:
  371. description: ExternalSecretSpec defines the desired state of ExternalSecret.
  372. properties:
  373. data:
  374. description: Data defines the connection between the Kubernetes Secret
  375. keys and the Provider data
  376. items:
  377. description: ExternalSecretData defines the connection between the
  378. Kubernetes Secret key (spec.data.<key>) and the Provider data.
  379. properties:
  380. remoteRef:
  381. description: |-
  382. RemoteRef points to the remote secret and defines
  383. which secret (version/property/..) to fetch.
  384. properties:
  385. conversionStrategy:
  386. default: Default
  387. description: Used to define a conversion Strategy
  388. enum:
  389. - Default
  390. - Unicode
  391. type: string
  392. decodingStrategy:
  393. default: None
  394. description: Used to define a decoding Strategy
  395. enum:
  396. - Auto
  397. - Base64
  398. - Base64URL
  399. - None
  400. type: string
  401. key:
  402. description: Key is the key used in the Provider, mandatory
  403. type: string
  404. metadataPolicy:
  405. default: None
  406. description: Policy for fetching tags/labels from provider
  407. secrets, possible options are Fetch, None. Defaults to
  408. None
  409. enum:
  410. - None
  411. - Fetch
  412. type: string
  413. property:
  414. description: Used to select a specific property of the Provider
  415. value (if a map), if supported
  416. type: string
  417. version:
  418. description: Used to select a specific version of the Provider
  419. value, if supported
  420. type: string
  421. required:
  422. - key
  423. type: object
  424. secretKey:
  425. description: The key in the Kubernetes Secret to store the value.
  426. maxLength: 253
  427. minLength: 1
  428. pattern: ^[-._a-zA-Z0-9]+$
  429. type: string
  430. sourceRef:
  431. description: |-
  432. SourceRef allows you to override the source
  433. from which the value will be pulled.
  434. maxProperties: 1
  435. minProperties: 1
  436. properties:
  437. generatorRef:
  438. description: |-
  439. GeneratorRef points to a generator custom resource.
  440. Deprecated: The generatorRef is not implemented in .data[].
  441. this will be removed with v1.
  442. properties:
  443. apiVersion:
  444. default: generators.external-secrets.io/v1alpha1
  445. description: Specify the apiVersion of the generator
  446. resource
  447. type: string
  448. kind:
  449. description: Specify the Kind of the generator resource
  450. enum:
  451. - ACRAccessToken
  452. - ClusterGenerator
  453. - ECRAuthorizationToken
  454. - Fake
  455. - GCRAccessToken
  456. - GithubAccessToken
  457. - Password
  458. - STSSessionToken
  459. - UUID
  460. - VaultDynamicSecret
  461. - Webhook
  462. type: string
  463. name:
  464. description: Specify the name of the generator resource
  465. maxLength: 253
  466. minLength: 1
  467. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  468. type: string
  469. required:
  470. - kind
  471. - name
  472. type: object
  473. storeRef:
  474. description: SecretStoreRef defines which SecretStore to
  475. fetch the ExternalSecret data.
  476. properties:
  477. kind:
  478. description: |-
  479. Kind of the SecretStore resource (SecretStore or ClusterSecretStore)
  480. Defaults to `SecretStore`
  481. enum:
  482. - SecretStore
  483. - ClusterSecretStore
  484. type: string
  485. name:
  486. description: Name of the SecretStore resource
  487. maxLength: 253
  488. minLength: 1
  489. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  490. type: string
  491. type: object
  492. type: object
  493. required:
  494. - remoteRef
  495. - secretKey
  496. type: object
  497. type: array
  498. dataFrom:
  499. description: |-
  500. DataFrom is used to fetch all properties from a specific Provider data
  501. If multiple entries are specified, the Secret keys are merged in the specified order
  502. items:
  503. properties:
  504. extract:
  505. description: |-
  506. Used to extract multiple key/value pairs from one secret
  507. Note: Extract does not support sourceRef.Generator or sourceRef.GeneratorRef.
  508. properties:
  509. conversionStrategy:
  510. default: Default
  511. description: Used to define a conversion Strategy
  512. enum:
  513. - Default
  514. - Unicode
  515. type: string
  516. decodingStrategy:
  517. default: None
  518. description: Used to define a decoding Strategy
  519. enum:
  520. - Auto
  521. - Base64
  522. - Base64URL
  523. - None
  524. type: string
  525. key:
  526. description: Key is the key used in the Provider, mandatory
  527. type: string
  528. metadataPolicy:
  529. default: None
  530. description: Policy for fetching tags/labels from provider
  531. secrets, possible options are Fetch, None. Defaults to
  532. None
  533. enum:
  534. - None
  535. - Fetch
  536. type: string
  537. property:
  538. description: Used to select a specific property of the Provider
  539. value (if a map), if supported
  540. type: string
  541. version:
  542. description: Used to select a specific version of the Provider
  543. value, if supported
  544. type: string
  545. required:
  546. - key
  547. type: object
  548. find:
  549. description: |-
  550. Used to find secrets based on tags or regular expressions
  551. Note: Find does not support sourceRef.Generator or sourceRef.GeneratorRef.
  552. properties:
  553. conversionStrategy:
  554. default: Default
  555. description: Used to define a conversion Strategy
  556. enum:
  557. - Default
  558. - Unicode
  559. type: string
  560. decodingStrategy:
  561. default: None
  562. description: Used to define a decoding Strategy
  563. enum:
  564. - Auto
  565. - Base64
  566. - Base64URL
  567. - None
  568. type: string
  569. name:
  570. description: Finds secrets based on the name.
  571. properties:
  572. regexp:
  573. description: Finds secrets base
  574. type: string
  575. type: object
  576. path:
  577. description: A root path to start the find operations.
  578. type: string
  579. tags:
  580. additionalProperties:
  581. type: string
  582. description: Find secrets based on tags.
  583. type: object
  584. type: object
  585. rewrite:
  586. description: |-
  587. Used to rewrite secret Keys after getting them from the secret Provider
  588. Multiple Rewrite operations can be provided. They are applied in a layered order (first to last)
  589. items:
  590. properties:
  591. regexp:
  592. description: |-
  593. Used to rewrite with regular expressions.
  594. The resulting key will be the output of a regexp.ReplaceAll operation.
  595. properties:
  596. source:
  597. description: Used to define the regular expression
  598. of a re.Compiler.
  599. type: string
  600. target:
  601. description: Used to define the target pattern of
  602. a ReplaceAll operation.
  603. type: string
  604. required:
  605. - source
  606. - target
  607. type: object
  608. transform:
  609. description: |-
  610. Used to apply string transformation on the secrets.
  611. The resulting key will be the output of the template applied by the operation.
  612. properties:
  613. template:
  614. description: |-
  615. Used to define the template to apply on the secret name.
  616. `.value ` will specify the secret name in the template.
  617. type: string
  618. required:
  619. - template
  620. type: object
  621. type: object
  622. type: array
  623. sourceRef:
  624. description: |-
  625. SourceRef points to a store or generator
  626. which contains secret values ready to use.
  627. Use this in combination with Extract or Find pull values out of
  628. a specific SecretStore.
  629. When sourceRef points to a generator Extract or Find is not supported.
  630. The generator returns a static map of values
  631. maxProperties: 1
  632. minProperties: 1
  633. properties:
  634. generatorRef:
  635. description: GeneratorRef points to a generator custom resource.
  636. properties:
  637. apiVersion:
  638. default: generators.external-secrets.io/v1alpha1
  639. description: Specify the apiVersion of the generator
  640. resource
  641. type: string
  642. kind:
  643. description: Specify the Kind of the generator resource
  644. enum:
  645. - ACRAccessToken
  646. - ClusterGenerator
  647. - ECRAuthorizationToken
  648. - Fake
  649. - GCRAccessToken
  650. - GithubAccessToken
  651. - Password
  652. - STSSessionToken
  653. - UUID
  654. - VaultDynamicSecret
  655. - Webhook
  656. type: string
  657. name:
  658. description: Specify the name of the generator resource
  659. maxLength: 253
  660. minLength: 1
  661. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  662. type: string
  663. required:
  664. - kind
  665. - name
  666. type: object
  667. storeRef:
  668. description: SecretStoreRef defines which SecretStore to
  669. fetch the ExternalSecret data.
  670. properties:
  671. kind:
  672. description: |-
  673. Kind of the SecretStore resource (SecretStore or ClusterSecretStore)
  674. Defaults to `SecretStore`
  675. enum:
  676. - SecretStore
  677. - ClusterSecretStore
  678. type: string
  679. name:
  680. description: Name of the SecretStore resource
  681. maxLength: 253
  682. minLength: 1
  683. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  684. type: string
  685. type: object
  686. type: object
  687. type: object
  688. type: array
  689. refreshInterval:
  690. default: 1h
  691. description: |-
  692. RefreshInterval is the amount of time before the values are read again from the SecretStore provider,
  693. specified as Golang Duration strings.
  694. Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h"
  695. Example values: "1h", "2h30m", "5d", "10s"
  696. May be set to zero to fetch and create it once. Defaults to 1h.
  697. type: string
  698. secretStoreRef:
  699. description: SecretStoreRef defines which SecretStore to fetch the
  700. ExternalSecret data.
  701. properties:
  702. kind:
  703. description: |-
  704. Kind of the SecretStore resource (SecretStore or ClusterSecretStore)
  705. Defaults to `SecretStore`
  706. enum:
  707. - SecretStore
  708. - ClusterSecretStore
  709. type: string
  710. name:
  711. description: Name of the SecretStore resource
  712. maxLength: 253
  713. minLength: 1
  714. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  715. type: string
  716. type: object
  717. target:
  718. default:
  719. creationPolicy: Owner
  720. deletionPolicy: Retain
  721. description: |-
  722. ExternalSecretTarget defines the Kubernetes Secret to be created
  723. There can be only one target per ExternalSecret.
  724. properties:
  725. creationPolicy:
  726. default: Owner
  727. description: |-
  728. CreationPolicy defines rules on how to create the resulting Secret.
  729. Defaults to "Owner"
  730. enum:
  731. - Owner
  732. - Orphan
  733. - Merge
  734. - None
  735. type: string
  736. deletionPolicy:
  737. default: Retain
  738. description: |-
  739. DeletionPolicy defines rules on how to delete the resulting Secret.
  740. Defaults to "Retain"
  741. enum:
  742. - Delete
  743. - Merge
  744. - Retain
  745. type: string
  746. immutable:
  747. description: Immutable defines if the final secret will be immutable
  748. type: boolean
  749. name:
  750. description: |-
  751. The name of the Secret resource to be managed.
  752. Defaults to the .metadata.name of the ExternalSecret resource
  753. maxLength: 253
  754. minLength: 1
  755. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  756. type: string
  757. template:
  758. description: Template defines a blueprint for the created Secret
  759. resource.
  760. properties:
  761. data:
  762. additionalProperties:
  763. type: string
  764. type: object
  765. engineVersion:
  766. default: v2
  767. description: |-
  768. EngineVersion specifies the template engine version
  769. that should be used to compile/execute the
  770. template specified in .data and .templateFrom[].
  771. enum:
  772. - v1
  773. - v2
  774. type: string
  775. mergePolicy:
  776. default: Replace
  777. enum:
  778. - Replace
  779. - Merge
  780. type: string
  781. metadata:
  782. description: ExternalSecretTemplateMetadata defines metadata
  783. fields for the Secret blueprint.
  784. properties:
  785. annotations:
  786. additionalProperties:
  787. type: string
  788. type: object
  789. labels:
  790. additionalProperties:
  791. type: string
  792. type: object
  793. type: object
  794. templateFrom:
  795. items:
  796. properties:
  797. configMap:
  798. properties:
  799. items:
  800. description: A list of keys in the ConfigMap/Secret
  801. to use as templates for Secret data
  802. items:
  803. properties:
  804. key:
  805. description: A key in the ConfigMap/Secret
  806. maxLength: 253
  807. minLength: 1
  808. pattern: ^[-._a-zA-Z0-9]+$
  809. type: string
  810. templateAs:
  811. default: Values
  812. enum:
  813. - Values
  814. - KeysAndValues
  815. type: string
  816. required:
  817. - key
  818. type: object
  819. type: array
  820. name:
  821. description: The name of the ConfigMap/Secret resource
  822. maxLength: 253
  823. minLength: 1
  824. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  825. type: string
  826. required:
  827. - items
  828. - name
  829. type: object
  830. literal:
  831. type: string
  832. secret:
  833. properties:
  834. items:
  835. description: A list of keys in the ConfigMap/Secret
  836. to use as templates for Secret data
  837. items:
  838. properties:
  839. key:
  840. description: A key in the ConfigMap/Secret
  841. maxLength: 253
  842. minLength: 1
  843. pattern: ^[-._a-zA-Z0-9]+$
  844. type: string
  845. templateAs:
  846. default: Values
  847. enum:
  848. - Values
  849. - KeysAndValues
  850. type: string
  851. required:
  852. - key
  853. type: object
  854. type: array
  855. name:
  856. description: The name of the ConfigMap/Secret resource
  857. maxLength: 253
  858. minLength: 1
  859. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  860. type: string
  861. required:
  862. - items
  863. - name
  864. type: object
  865. target:
  866. default: Data
  867. enum:
  868. - Data
  869. - Annotations
  870. - Labels
  871. type: string
  872. type: object
  873. type: array
  874. type:
  875. type: string
  876. type: object
  877. type: object
  878. type: object
  879. status:
  880. properties:
  881. binding:
  882. description: Binding represents a servicebinding.io Provisioned Service
  883. reference to the secret
  884. properties:
  885. name:
  886. default: ""
  887. description: |-
  888. Name of the referent.
  889. This field is effectively required, but due to backwards compatibility is
  890. allowed to be empty. Instances of this type with an empty value here are
  891. almost certainly wrong.
  892. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  893. type: string
  894. type: object
  895. x-kubernetes-map-type: atomic
  896. conditions:
  897. items:
  898. properties:
  899. lastTransitionTime:
  900. format: date-time
  901. type: string
  902. message:
  903. type: string
  904. reason:
  905. type: string
  906. status:
  907. type: string
  908. type:
  909. type: string
  910. required:
  911. - status
  912. - type
  913. type: object
  914. type: array
  915. refreshTime:
  916. description: |-
  917. refreshTime is the time and date the external secret was fetched and
  918. the target secret updated
  919. format: date-time
  920. nullable: true
  921. type: string
  922. syncedResourceVersion:
  923. description: SyncedResourceVersion keeps track of the last synced
  924. version
  925. type: string
  926. type: object
  927. type: object
  928. served: true
  929. storage: true
  930. subresources:
  931. status: {}