external-secrets.io_externalsecrets.yaml 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.11.4
  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. conditions:
  230. items:
  231. properties:
  232. lastTransitionTime:
  233. format: date-time
  234. type: string
  235. message:
  236. type: string
  237. reason:
  238. type: string
  239. status:
  240. type: string
  241. type:
  242. type: string
  243. required:
  244. - status
  245. - type
  246. type: object
  247. type: array
  248. refreshTime:
  249. description: refreshTime is the time and date the external secret
  250. was fetched and the target secret updated
  251. format: date-time
  252. nullable: true
  253. type: string
  254. syncedResourceVersion:
  255. description: SyncedResourceVersion keeps track of the last synced
  256. version
  257. type: string
  258. type: object
  259. type: object
  260. served: true
  261. storage: false
  262. subresources:
  263. status: {}
  264. - additionalPrinterColumns:
  265. - jsonPath: .spec.secretStoreRef.name
  266. name: Store
  267. type: string
  268. - jsonPath: .spec.refreshInterval
  269. name: Refresh Interval
  270. type: string
  271. - jsonPath: .status.conditions[?(@.type=="Ready")].reason
  272. name: Status
  273. type: string
  274. - jsonPath: .status.conditions[?(@.type=="Ready")].status
  275. name: Ready
  276. type: string
  277. name: v1beta1
  278. schema:
  279. openAPIV3Schema:
  280. description: ExternalSecret is the Schema for the external-secrets API.
  281. properties:
  282. apiVersion:
  283. description: 'APIVersion defines the versioned schema of this representation
  284. of an object. Servers should convert recognized schemas to the latest
  285. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  286. type: string
  287. kind:
  288. description: 'Kind is a string value representing the REST resource this
  289. object represents. Servers may infer this from the endpoint the client
  290. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  291. type: string
  292. metadata:
  293. type: object
  294. spec:
  295. description: ExternalSecretSpec defines the desired state of ExternalSecret.
  296. properties:
  297. data:
  298. description: Data defines the connection between the Kubernetes Secret
  299. keys and the Provider data
  300. items:
  301. description: ExternalSecretData defines the connection between the
  302. Kubernetes Secret key (spec.data.<key>) and the Provider data.
  303. properties:
  304. remoteRef:
  305. description: RemoteRef points to the remote secret and defines
  306. which secret (version/property/..) to fetch.
  307. properties:
  308. conversionStrategy:
  309. default: Default
  310. description: Used to define a conversion Strategy
  311. type: string
  312. decodingStrategy:
  313. default: None
  314. description: Used to define a decoding Strategy
  315. type: string
  316. key:
  317. description: Key is the key used in the Provider, mandatory
  318. type: string
  319. metadataPolicy:
  320. description: Policy for fetching tags/labels from provider
  321. secrets, possible options are Fetch, None. Defaults to
  322. None
  323. type: string
  324. property:
  325. description: Used to select a specific property of the Provider
  326. value (if a map), if supported
  327. type: string
  328. version:
  329. description: Used to select a specific version of the Provider
  330. value, if supported
  331. type: string
  332. required:
  333. - key
  334. type: object
  335. secretKey:
  336. description: SecretKey defines the key in which the controller
  337. stores the value. This is the key in the Kind=Secret
  338. type: string
  339. sourceRef:
  340. description: SourceRef allows you to override the source from
  341. which the value will pulled from.
  342. maxProperties: 1
  343. properties:
  344. generatorRef:
  345. description: GeneratorRef points to a generator custom resource
  346. in
  347. properties:
  348. apiVersion:
  349. default: generators.external-secrets.io/v1alpha1
  350. description: Specify the apiVersion of the generator
  351. resource
  352. type: string
  353. kind:
  354. description: Specify the Kind of the resource, e.g.
  355. Password, ACRAccessToken etc.
  356. type: string
  357. name:
  358. description: Specify the name of the generator resource
  359. type: string
  360. required:
  361. - kind
  362. - name
  363. type: object
  364. storeRef:
  365. description: SecretStoreRef defines which SecretStore to
  366. fetch the ExternalSecret data.
  367. properties:
  368. kind:
  369. description: Kind of the SecretStore resource (SecretStore
  370. or ClusterSecretStore) Defaults to `SecretStore`
  371. type: string
  372. name:
  373. description: Name of the SecretStore resource
  374. type: string
  375. required:
  376. - name
  377. type: object
  378. type: object
  379. required:
  380. - remoteRef
  381. - secretKey
  382. type: object
  383. type: array
  384. dataFrom:
  385. description: DataFrom is used to fetch all properties from a specific
  386. Provider data If multiple entries are specified, the Secret keys
  387. are merged in the specified order
  388. items:
  389. properties:
  390. extract:
  391. description: 'Used to extract multiple key/value pairs from
  392. one secret Note: Extract does not support sourceRef.Generator
  393. or sourceRef.GeneratorRef.'
  394. properties:
  395. conversionStrategy:
  396. default: Default
  397. description: Used to define a conversion Strategy
  398. type: string
  399. decodingStrategy:
  400. default: None
  401. description: Used to define a decoding Strategy
  402. type: string
  403. key:
  404. description: Key is the key used in the Provider, mandatory
  405. type: string
  406. metadataPolicy:
  407. description: Policy for fetching tags/labels from provider
  408. secrets, possible options are Fetch, None. Defaults to
  409. None
  410. type: string
  411. property:
  412. description: Used to select a specific property of the Provider
  413. value (if a map), if supported
  414. type: string
  415. version:
  416. description: Used to select a specific version of the Provider
  417. value, if supported
  418. type: string
  419. required:
  420. - key
  421. type: object
  422. find:
  423. description: 'Used to find secrets based on tags or regular
  424. expressions Note: Find does not support sourceRef.Generator
  425. or sourceRef.GeneratorRef.'
  426. properties:
  427. conversionStrategy:
  428. default: Default
  429. description: Used to define a conversion Strategy
  430. type: string
  431. decodingStrategy:
  432. default: None
  433. description: Used to define a decoding Strategy
  434. type: string
  435. name:
  436. description: Finds secrets based on the name.
  437. properties:
  438. regexp:
  439. description: Finds secrets base
  440. type: string
  441. type: object
  442. path:
  443. description: A root path to start the find operations.
  444. type: string
  445. tags:
  446. additionalProperties:
  447. type: string
  448. description: Find secrets based on tags.
  449. type: object
  450. type: object
  451. rewrite:
  452. description: Used to rewrite secret Keys after getting them
  453. from the secret Provider Multiple Rewrite operations can be
  454. provided. They are applied in a layered order (first to last)
  455. items:
  456. properties:
  457. regexp:
  458. description: Used to rewrite with regular expressions.
  459. The resulting key will be the output of a regexp.ReplaceAll
  460. operation.
  461. properties:
  462. source:
  463. description: Used to define the regular expression
  464. of a re.Compiler.
  465. type: string
  466. target:
  467. description: Used to define the target pattern of
  468. a ReplaceAll operation.
  469. type: string
  470. required:
  471. - source
  472. - target
  473. type: object
  474. type: object
  475. type: array
  476. sourceRef:
  477. description: SourceRef points to a store or generator which
  478. contains secret values ready to use. Use this in combination
  479. with Extract or Find pull values out of a specific SecretStore.
  480. When sourceRef points to a generator Extract or Find is not
  481. supported. The generator returns a static map of values
  482. maxProperties: 1
  483. properties:
  484. generatorRef:
  485. description: GeneratorRef points to a generator custom resource
  486. in
  487. properties:
  488. apiVersion:
  489. default: generators.external-secrets.io/v1alpha1
  490. description: Specify the apiVersion of the generator
  491. resource
  492. type: string
  493. kind:
  494. description: Specify the Kind of the resource, e.g.
  495. Password, ACRAccessToken etc.
  496. type: string
  497. name:
  498. description: Specify the name of the generator resource
  499. type: string
  500. required:
  501. - kind
  502. - name
  503. type: object
  504. storeRef:
  505. description: SecretStoreRef defines which SecretStore to
  506. fetch the ExternalSecret data.
  507. properties:
  508. kind:
  509. description: Kind of the SecretStore resource (SecretStore
  510. or ClusterSecretStore) Defaults to `SecretStore`
  511. type: string
  512. name:
  513. description: Name of the SecretStore resource
  514. type: string
  515. required:
  516. - name
  517. type: object
  518. type: object
  519. type: object
  520. type: array
  521. refreshInterval:
  522. default: 1h
  523. description: RefreshInterval is the amount of time before the values
  524. are read again from the SecretStore provider Valid time units are
  525. "ns", "us" (or "µs"), "ms", "s", "m", "h" May be set to zero to
  526. fetch and create it once. Defaults to 1h.
  527. type: string
  528. secretStoreRef:
  529. description: SecretStoreRef defines which SecretStore to fetch the
  530. ExternalSecret data.
  531. properties:
  532. kind:
  533. description: Kind of the SecretStore resource (SecretStore or
  534. ClusterSecretStore) Defaults to `SecretStore`
  535. type: string
  536. name:
  537. description: Name of the SecretStore resource
  538. type: string
  539. required:
  540. - name
  541. type: object
  542. target:
  543. default:
  544. creationPolicy: Owner
  545. deletionPolicy: Retain
  546. description: ExternalSecretTarget defines the Kubernetes Secret to
  547. be created There can be only one target per ExternalSecret.
  548. properties:
  549. creationPolicy:
  550. default: Owner
  551. description: CreationPolicy defines rules on how to create the
  552. resulting Secret Defaults to 'Owner'
  553. enum:
  554. - Owner
  555. - Orphan
  556. - Merge
  557. - None
  558. type: string
  559. deletionPolicy:
  560. default: Retain
  561. description: DeletionPolicy defines rules on how to delete the
  562. resulting Secret Defaults to 'Retain'
  563. enum:
  564. - Delete
  565. - Merge
  566. - Retain
  567. type: string
  568. immutable:
  569. description: Immutable defines if the final secret will be immutable
  570. type: boolean
  571. name:
  572. description: Name defines the name of the Secret resource to be
  573. managed This field is immutable Defaults to the .metadata.name
  574. of the ExternalSecret resource
  575. type: string
  576. template:
  577. description: Template defines a blueprint for the created Secret
  578. resource.
  579. properties:
  580. data:
  581. additionalProperties:
  582. type: string
  583. type: object
  584. engineVersion:
  585. default: v2
  586. type: string
  587. mergePolicy:
  588. default: Replace
  589. type: string
  590. metadata:
  591. description: ExternalSecretTemplateMetadata defines metadata
  592. fields for the Secret blueprint.
  593. properties:
  594. annotations:
  595. additionalProperties:
  596. type: string
  597. type: object
  598. labels:
  599. additionalProperties:
  600. type: string
  601. type: object
  602. type: object
  603. templateFrom:
  604. items:
  605. properties:
  606. configMap:
  607. properties:
  608. items:
  609. items:
  610. properties:
  611. key:
  612. type: string
  613. templateAs:
  614. default: Values
  615. type: string
  616. required:
  617. - key
  618. type: object
  619. type: array
  620. name:
  621. type: string
  622. required:
  623. - items
  624. - name
  625. type: object
  626. literal:
  627. type: string
  628. secret:
  629. properties:
  630. items:
  631. items:
  632. properties:
  633. key:
  634. type: string
  635. templateAs:
  636. default: Values
  637. type: string
  638. required:
  639. - key
  640. type: object
  641. type: array
  642. name:
  643. type: string
  644. required:
  645. - items
  646. - name
  647. type: object
  648. target:
  649. default: Data
  650. type: string
  651. type: object
  652. type: array
  653. type:
  654. type: string
  655. type: object
  656. type: object
  657. type: object
  658. status:
  659. properties:
  660. conditions:
  661. items:
  662. properties:
  663. lastTransitionTime:
  664. format: date-time
  665. type: string
  666. message:
  667. type: string
  668. reason:
  669. type: string
  670. status:
  671. type: string
  672. type:
  673. type: string
  674. required:
  675. - status
  676. - type
  677. type: object
  678. type: array
  679. refreshTime:
  680. description: refreshTime is the time and date the external secret
  681. was fetched and the target secret updated
  682. format: date-time
  683. nullable: true
  684. type: string
  685. syncedResourceVersion:
  686. description: SyncedResourceVersion keeps track of the last synced
  687. version
  688. type: string
  689. type: object
  690. type: object
  691. served: true
  692. storage: true
  693. subresources:
  694. status: {}