external-secrets.io_externalsecrets.yaml 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.12.1
  6. name: externalsecrets.external-secrets.io
  7. spec:
  8. group: external-secrets.io
  9. names:
  10. categories:
  11. - externalsecrets
  12. kind: ExternalSecret
  13. listKind: ExternalSecretList
  14. plural: externalsecrets
  15. shortNames:
  16. - es
  17. singular: externalsecret
  18. scope: Namespaced
  19. versions:
  20. - additionalPrinterColumns:
  21. - jsonPath: .spec.secretStoreRef.name
  22. name: Store
  23. type: string
  24. - jsonPath: .spec.refreshInterval
  25. name: Refresh Interval
  26. type: string
  27. - jsonPath: .status.conditions[?(@.type=="Ready")].reason
  28. name: Status
  29. type: string
  30. deprecated: true
  31. name: v1alpha1
  32. schema:
  33. openAPIV3Schema:
  34. description: ExternalSecret is the Schema for the external-secrets API.
  35. properties:
  36. apiVersion:
  37. description: 'APIVersion defines the versioned schema of this representation
  38. of an object. Servers should convert recognized schemas to the latest
  39. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  40. type: string
  41. kind:
  42. description: 'Kind is a string value representing the REST resource this
  43. object represents. Servers may infer this from the endpoint the client
  44. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  45. type: string
  46. metadata:
  47. type: object
  48. spec:
  49. description: ExternalSecretSpec defines the desired state of ExternalSecret.
  50. properties:
  51. data:
  52. description: Data defines the connection between the Kubernetes Secret
  53. keys and the Provider data
  54. items:
  55. description: ExternalSecretData defines the connection between the
  56. Kubernetes Secret key (spec.data.<key>) and the Provider data.
  57. properties:
  58. remoteRef:
  59. description: ExternalSecretDataRemoteRef defines Provider data
  60. location.
  61. properties:
  62. conversionStrategy:
  63. default: Default
  64. description: Used to define a conversion Strategy
  65. type: string
  66. key:
  67. description: Key is the key used in the Provider, mandatory
  68. type: string
  69. property:
  70. description: Used to select a specific property of the Provider
  71. value (if a map), if supported
  72. type: string
  73. version:
  74. description: Used to select a specific version of the Provider
  75. value, if supported
  76. type: string
  77. required:
  78. - key
  79. type: object
  80. secretKey:
  81. type: string
  82. required:
  83. - remoteRef
  84. - secretKey
  85. type: object
  86. type: array
  87. dataFrom:
  88. description: DataFrom is used to fetch all properties from a specific
  89. Provider data If multiple entries are specified, the Secret keys
  90. are merged in the specified order
  91. items:
  92. description: ExternalSecretDataRemoteRef defines Provider data location.
  93. properties:
  94. conversionStrategy:
  95. default: Default
  96. description: Used to define a conversion Strategy
  97. type: string
  98. key:
  99. description: Key is the key used in the Provider, mandatory
  100. type: string
  101. property:
  102. description: Used to select a specific property of the Provider
  103. value (if a map), if supported
  104. type: string
  105. version:
  106. description: Used to select a specific version of the Provider
  107. value, if supported
  108. type: string
  109. required:
  110. - key
  111. type: object
  112. type: array
  113. refreshInterval:
  114. default: 1h
  115. description: RefreshInterval is the amount of time before the values
  116. are read again from the SecretStore provider Valid time units are
  117. "ns", "us" (or "µs"), "ms", "s", "m", "h" May be set to zero to
  118. fetch and create it once. Defaults to 1h.
  119. type: string
  120. secretStoreRef:
  121. description: SecretStoreRef defines which SecretStore to fetch the
  122. ExternalSecret data.
  123. properties:
  124. kind:
  125. description: Kind of the SecretStore resource (SecretStore or
  126. ClusterSecretStore) Defaults to `SecretStore`
  127. type: string
  128. name:
  129. description: Name of the SecretStore resource
  130. type: string
  131. required:
  132. - name
  133. type: object
  134. target:
  135. description: ExternalSecretTarget defines the Kubernetes Secret to
  136. be created There can be only one target per ExternalSecret.
  137. properties:
  138. creationPolicy:
  139. default: Owner
  140. description: CreationPolicy defines rules on how to create the
  141. resulting Secret Defaults to 'Owner'
  142. type: string
  143. immutable:
  144. description: Immutable defines if the final secret will be immutable
  145. type: boolean
  146. name:
  147. description: Name defines the name of the Secret resource to be
  148. managed This field is immutable Defaults to the .metadata.name
  149. of the ExternalSecret resource
  150. type: string
  151. template:
  152. description: Template defines a blueprint for the created Secret
  153. resource.
  154. properties:
  155. data:
  156. additionalProperties:
  157. type: string
  158. type: object
  159. engineVersion:
  160. default: v1
  161. description: EngineVersion specifies the template engine version
  162. that should be used to compile/execute the template specified
  163. in .data and .templateFrom[].
  164. type: string
  165. metadata:
  166. description: ExternalSecretTemplateMetadata defines metadata
  167. fields for the Secret blueprint.
  168. properties:
  169. annotations:
  170. additionalProperties:
  171. type: string
  172. type: object
  173. labels:
  174. additionalProperties:
  175. type: string
  176. type: object
  177. type: object
  178. templateFrom:
  179. items:
  180. maxProperties: 1
  181. minProperties: 1
  182. properties:
  183. configMap:
  184. properties:
  185. items:
  186. items:
  187. properties:
  188. key:
  189. type: string
  190. required:
  191. - key
  192. type: object
  193. type: array
  194. name:
  195. type: string
  196. required:
  197. - items
  198. - name
  199. type: object
  200. secret:
  201. properties:
  202. items:
  203. items:
  204. properties:
  205. key:
  206. type: string
  207. required:
  208. - key
  209. type: object
  210. type: array
  211. name:
  212. type: string
  213. required:
  214. - items
  215. - name
  216. type: object
  217. type: object
  218. type: array
  219. type:
  220. type: string
  221. type: object
  222. type: object
  223. required:
  224. - secretStoreRef
  225. - target
  226. type: object
  227. status:
  228. properties:
  229. binding:
  230. description: Binding represents a servicebinding.io Provisioned Service
  231. reference to the secret
  232. properties:
  233. name:
  234. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  235. TODO: Add other useful fields. apiVersion, kind, uid?'
  236. type: string
  237. type: object
  238. x-kubernetes-map-type: atomic
  239. conditions:
  240. items:
  241. properties:
  242. lastTransitionTime:
  243. format: date-time
  244. type: string
  245. message:
  246. type: string
  247. reason:
  248. type: string
  249. status:
  250. type: string
  251. type:
  252. type: string
  253. required:
  254. - status
  255. - type
  256. type: object
  257. type: array
  258. refreshTime:
  259. description: refreshTime is the time and date the external secret
  260. was fetched and the target secret updated
  261. format: date-time
  262. nullable: true
  263. type: string
  264. syncedResourceVersion:
  265. description: SyncedResourceVersion keeps track of the last synced
  266. version
  267. type: string
  268. type: object
  269. type: object
  270. served: true
  271. storage: false
  272. subresources:
  273. status: {}
  274. - additionalPrinterColumns:
  275. - jsonPath: .spec.secretStoreRef.name
  276. name: Store
  277. type: string
  278. - jsonPath: .spec.refreshInterval
  279. name: Refresh Interval
  280. type: string
  281. - jsonPath: .status.conditions[?(@.type=="Ready")].reason
  282. name: Status
  283. type: string
  284. - jsonPath: .status.conditions[?(@.type=="Ready")].status
  285. name: Ready
  286. type: string
  287. name: v1beta1
  288. schema:
  289. openAPIV3Schema:
  290. description: ExternalSecret is the Schema for the external-secrets API.
  291. properties:
  292. apiVersion:
  293. description: 'APIVersion defines the versioned schema of this representation
  294. of an object. Servers should convert recognized schemas to the latest
  295. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  296. type: string
  297. kind:
  298. description: 'Kind is a string value representing the REST resource this
  299. object represents. Servers may infer this from the endpoint the client
  300. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  301. type: string
  302. metadata:
  303. type: object
  304. spec:
  305. description: ExternalSecretSpec defines the desired state of ExternalSecret.
  306. properties:
  307. data:
  308. description: Data defines the connection between the Kubernetes Secret
  309. keys and the Provider data
  310. items:
  311. description: ExternalSecretData defines the connection between the
  312. Kubernetes Secret key (spec.data.<key>) and the Provider data.
  313. properties:
  314. remoteRef:
  315. description: RemoteRef points to the remote secret and defines
  316. which secret (version/property/..) to fetch.
  317. properties:
  318. conversionStrategy:
  319. default: Default
  320. description: Used to define a conversion Strategy
  321. type: string
  322. decodingStrategy:
  323. default: None
  324. description: Used to define a decoding Strategy
  325. type: string
  326. key:
  327. description: Key is the key used in the Provider, mandatory
  328. type: string
  329. metadataPolicy:
  330. description: Policy for fetching tags/labels from provider
  331. secrets, possible options are Fetch, None. Defaults to
  332. None
  333. type: string
  334. property:
  335. description: Used to select a specific property of the Provider
  336. value (if a map), if supported
  337. type: string
  338. version:
  339. description: Used to select a specific version of the Provider
  340. value, if supported
  341. type: string
  342. required:
  343. - key
  344. type: object
  345. secretKey:
  346. description: SecretKey defines the key in which the controller
  347. stores the value. This is the key in the Kind=Secret
  348. type: string
  349. sourceRef:
  350. description: SourceRef allows you to override the source from
  351. which the value will pulled from.
  352. maxProperties: 1
  353. properties:
  354. generatorRef:
  355. description: GeneratorRef points to a generator custom resource
  356. in
  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 resource, e.g.
  365. Password, ACRAccessToken etc.
  366. type: string
  367. name:
  368. description: Specify the name of the generator resource
  369. type: string
  370. required:
  371. - kind
  372. - name
  373. type: object
  374. storeRef:
  375. description: SecretStoreRef defines which SecretStore to
  376. fetch the ExternalSecret data.
  377. properties:
  378. kind:
  379. description: Kind of the SecretStore resource (SecretStore
  380. or ClusterSecretStore) Defaults to `SecretStore`
  381. type: string
  382. name:
  383. description: Name of the SecretStore resource
  384. type: string
  385. required:
  386. - name
  387. type: object
  388. type: object
  389. required:
  390. - remoteRef
  391. - secretKey
  392. type: object
  393. type: array
  394. dataFrom:
  395. description: DataFrom is used to fetch all properties from a specific
  396. Provider data If multiple entries are specified, the Secret keys
  397. are merged in the specified order
  398. items:
  399. properties:
  400. extract:
  401. description: 'Used to extract multiple key/value pairs from
  402. one secret Note: Extract does not support sourceRef.Generator
  403. or sourceRef.GeneratorRef.'
  404. properties:
  405. conversionStrategy:
  406. default: Default
  407. description: Used to define a conversion Strategy
  408. type: string
  409. decodingStrategy:
  410. default: None
  411. description: Used to define a decoding Strategy
  412. type: string
  413. key:
  414. description: Key is the key used in the Provider, mandatory
  415. type: string
  416. metadataPolicy:
  417. description: Policy for fetching tags/labels from provider
  418. secrets, possible options are Fetch, None. Defaults to
  419. None
  420. type: string
  421. property:
  422. description: Used to select a specific property of the Provider
  423. value (if a map), if supported
  424. type: string
  425. version:
  426. description: Used to select a specific version of the Provider
  427. value, if supported
  428. type: string
  429. required:
  430. - key
  431. type: object
  432. find:
  433. description: 'Used to find secrets based on tags or regular
  434. expressions Note: Find does not support sourceRef.Generator
  435. or sourceRef.GeneratorRef.'
  436. properties:
  437. conversionStrategy:
  438. default: Default
  439. description: Used to define a conversion Strategy
  440. type: string
  441. decodingStrategy:
  442. default: None
  443. description: Used to define a decoding Strategy
  444. type: string
  445. name:
  446. description: Finds secrets based on the name.
  447. properties:
  448. regexp:
  449. description: Finds secrets base
  450. type: string
  451. type: object
  452. path:
  453. description: A root path to start the find operations.
  454. type: string
  455. tags:
  456. additionalProperties:
  457. type: string
  458. description: Find secrets based on tags.
  459. type: object
  460. type: object
  461. rewrite:
  462. description: Used to rewrite secret Keys after getting them
  463. from the secret Provider Multiple Rewrite operations can be
  464. provided. They are applied in a layered order (first to last)
  465. items:
  466. properties:
  467. regexp:
  468. description: Used to rewrite with regular expressions.
  469. The resulting key will be the output of a regexp.ReplaceAll
  470. operation.
  471. properties:
  472. source:
  473. description: Used to define the regular expression
  474. of a re.Compiler.
  475. type: string
  476. target:
  477. description: Used to define the target pattern of
  478. a ReplaceAll operation.
  479. type: string
  480. required:
  481. - source
  482. - target
  483. type: object
  484. type: object
  485. type: array
  486. sourceRef:
  487. description: SourceRef points to a store or generator which
  488. contains secret values ready to use. Use this in combination
  489. with Extract or Find pull values out of a specific SecretStore.
  490. When sourceRef points to a generator Extract or Find is not
  491. supported. The generator returns a static map of values
  492. maxProperties: 1
  493. properties:
  494. generatorRef:
  495. description: GeneratorRef points to a generator custom resource
  496. in
  497. properties:
  498. apiVersion:
  499. default: generators.external-secrets.io/v1alpha1
  500. description: Specify the apiVersion of the generator
  501. resource
  502. type: string
  503. kind:
  504. description: Specify the Kind of the resource, e.g.
  505. Password, ACRAccessToken etc.
  506. type: string
  507. name:
  508. description: Specify the name of the generator resource
  509. type: string
  510. required:
  511. - kind
  512. - name
  513. type: object
  514. storeRef:
  515. description: SecretStoreRef defines which SecretStore to
  516. fetch the ExternalSecret data.
  517. properties:
  518. kind:
  519. description: Kind of the SecretStore resource (SecretStore
  520. or ClusterSecretStore) Defaults to `SecretStore`
  521. type: string
  522. name:
  523. description: Name of the SecretStore resource
  524. type: string
  525. required:
  526. - name
  527. type: object
  528. type: object
  529. type: object
  530. type: array
  531. refreshInterval:
  532. default: 1h
  533. description: RefreshInterval is the amount of time before the values
  534. are read again from the SecretStore provider Valid time units are
  535. "ns", "us" (or "µs"), "ms", "s", "m", "h" May be set to zero to
  536. fetch and create it once. Defaults to 1h.
  537. type: string
  538. secretStoreRef:
  539. description: SecretStoreRef defines which SecretStore to fetch the
  540. ExternalSecret data.
  541. properties:
  542. kind:
  543. description: Kind of the SecretStore resource (SecretStore or
  544. ClusterSecretStore) Defaults to `SecretStore`
  545. type: string
  546. name:
  547. description: Name of the SecretStore resource
  548. type: string
  549. required:
  550. - name
  551. type: object
  552. target:
  553. default:
  554. creationPolicy: Owner
  555. deletionPolicy: Retain
  556. description: ExternalSecretTarget defines the Kubernetes Secret to
  557. be created There can be only one target per ExternalSecret.
  558. properties:
  559. creationPolicy:
  560. default: Owner
  561. description: CreationPolicy defines rules on how to create the
  562. resulting Secret Defaults to 'Owner'
  563. enum:
  564. - Owner
  565. - Orphan
  566. - Merge
  567. - None
  568. type: string
  569. deletionPolicy:
  570. default: Retain
  571. description: DeletionPolicy defines rules on how to delete the
  572. resulting Secret Defaults to 'Retain'
  573. enum:
  574. - Delete
  575. - Merge
  576. - Retain
  577. type: string
  578. immutable:
  579. description: Immutable defines if the final secret will be immutable
  580. type: boolean
  581. name:
  582. description: Name defines the name of the Secret resource to be
  583. managed This field is immutable Defaults to the .metadata.name
  584. of the ExternalSecret resource
  585. type: string
  586. template:
  587. description: Template defines a blueprint for the created Secret
  588. resource.
  589. properties:
  590. data:
  591. additionalProperties:
  592. type: string
  593. type: object
  594. engineVersion:
  595. default: v2
  596. type: string
  597. mergePolicy:
  598. default: Replace
  599. type: string
  600. metadata:
  601. description: ExternalSecretTemplateMetadata defines metadata
  602. fields for the Secret blueprint.
  603. properties:
  604. annotations:
  605. additionalProperties:
  606. type: string
  607. type: object
  608. labels:
  609. additionalProperties:
  610. type: string
  611. type: object
  612. type: object
  613. templateFrom:
  614. items:
  615. properties:
  616. configMap:
  617. properties:
  618. items:
  619. items:
  620. properties:
  621. key:
  622. type: string
  623. templateAs:
  624. default: Values
  625. type: string
  626. required:
  627. - key
  628. type: object
  629. type: array
  630. name:
  631. type: string
  632. required:
  633. - items
  634. - name
  635. type: object
  636. literal:
  637. type: string
  638. secret:
  639. properties:
  640. items:
  641. items:
  642. properties:
  643. key:
  644. type: string
  645. templateAs:
  646. default: Values
  647. type: string
  648. required:
  649. - key
  650. type: object
  651. type: array
  652. name:
  653. type: string
  654. required:
  655. - items
  656. - name
  657. type: object
  658. target:
  659. default: Data
  660. type: string
  661. type: object
  662. type: array
  663. type:
  664. type: string
  665. type: object
  666. type: object
  667. type: object
  668. status:
  669. properties:
  670. binding:
  671. description: Binding represents a servicebinding.io Provisioned Service
  672. reference to the secret
  673. properties:
  674. name:
  675. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  676. TODO: Add other useful fields. apiVersion, kind, uid?'
  677. type: string
  678. type: object
  679. x-kubernetes-map-type: atomic
  680. conditions:
  681. items:
  682. properties:
  683. lastTransitionTime:
  684. format: date-time
  685. type: string
  686. message:
  687. type: string
  688. reason:
  689. type: string
  690. status:
  691. type: string
  692. type:
  693. type: string
  694. required:
  695. - status
  696. - type
  697. type: object
  698. type: array
  699. refreshTime:
  700. description: refreshTime is the time and date the external secret
  701. was fetched and the target secret updated
  702. format: date-time
  703. nullable: true
  704. type: string
  705. syncedResourceVersion:
  706. description: SyncedResourceVersion keeps track of the last synced
  707. version
  708. type: string
  709. type: object
  710. type: object
  711. served: true
  712. storage: true
  713. subresources:
  714. status: {}