external-secrets.io_clusterexternalsecrets.yaml 85 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.19.0
  6. labels:
  7. external-secrets.io/component: controller
  8. name: clusterexternalsecrets.external-secrets.io
  9. spec:
  10. group: external-secrets.io
  11. names:
  12. categories:
  13. - external-secrets
  14. kind: ClusterExternalSecret
  15. listKind: ClusterExternalSecretList
  16. plural: clusterexternalsecrets
  17. shortNames:
  18. - ces
  19. singular: clusterexternalsecret
  20. scope: Cluster
  21. versions:
  22. - additionalPrinterColumns:
  23. - jsonPath: .spec.externalSecretSpec.secretStoreRef.name
  24. name: Store
  25. type: string
  26. - jsonPath: .spec.refreshTime
  27. name: Refresh Interval
  28. type: string
  29. - jsonPath: .status.conditions[?(@.type=="Ready")].status
  30. name: Ready
  31. type: string
  32. name: v1
  33. schema:
  34. openAPIV3Schema:
  35. description: ClusterExternalSecret is the Schema for the clusterexternalsecrets
  36. 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: ClusterExternalSecretSpec defines the desired state of ClusterExternalSecret.
  57. properties:
  58. externalSecretMetadata:
  59. description: The metadata of the external secrets to be created
  60. properties:
  61. annotations:
  62. additionalProperties:
  63. type: string
  64. type: object
  65. labels:
  66. additionalProperties:
  67. type: string
  68. type: object
  69. type: object
  70. externalSecretName:
  71. description: |-
  72. The name of the external secrets to be created.
  73. Defaults to the name of the ClusterExternalSecret
  74. maxLength: 253
  75. minLength: 1
  76. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  77. type: string
  78. externalSecretSpec:
  79. description: The spec for the ExternalSecrets to be created
  80. properties:
  81. data:
  82. description: Data defines the connection between the Kubernetes
  83. Secret keys and the Provider data
  84. items:
  85. description: ExternalSecretData defines the connection between
  86. the Kubernetes Secret key (spec.data.<key>) and the Provider
  87. data.
  88. properties:
  89. remoteRef:
  90. description: |-
  91. RemoteRef points to the remote secret and defines
  92. which secret (version/property/..) to fetch.
  93. properties:
  94. conversionStrategy:
  95. default: Default
  96. description: Used to define a conversion Strategy
  97. enum:
  98. - Default
  99. - Unicode
  100. type: string
  101. decodingStrategy:
  102. default: None
  103. description: Used to define a decoding Strategy
  104. enum:
  105. - Auto
  106. - Base64
  107. - Base64URL
  108. - None
  109. type: string
  110. key:
  111. description: Key is the key used in the Provider, mandatory
  112. type: string
  113. metadataPolicy:
  114. default: None
  115. description: Policy for fetching tags/labels from provider
  116. secrets, possible options are Fetch, None. Defaults
  117. to None
  118. enum:
  119. - None
  120. - Fetch
  121. type: string
  122. nullBytePolicy:
  123. default: Ignore
  124. description: Controls how ESO handles fetched secret
  125. data containing NUL bytes for this source.
  126. enum:
  127. - Ignore
  128. - Fail
  129. type: string
  130. property:
  131. description: Used to select a specific property of the
  132. Provider value (if a map), if supported
  133. type: string
  134. version:
  135. description: Used to select a specific version of the
  136. Provider value, if supported
  137. type: string
  138. required:
  139. - key
  140. type: object
  141. secretKey:
  142. description: The key in the Kubernetes Secret to store the
  143. value.
  144. maxLength: 253
  145. minLength: 1
  146. pattern: ^[-._a-zA-Z0-9]+$
  147. type: string
  148. sourceRef:
  149. description: |-
  150. SourceRef allows you to override the source
  151. from which the value will be pulled.
  152. maxProperties: 1
  153. minProperties: 1
  154. properties:
  155. generatorRef:
  156. description: |-
  157. GeneratorRef points to a generator custom resource.
  158. Deprecated: The generatorRef is not implemented in .data[].
  159. this will be removed with v1.
  160. properties:
  161. apiVersion:
  162. default: generators.external-secrets.io/v1alpha1
  163. description: Specify the apiVersion of the generator
  164. resource
  165. type: string
  166. kind:
  167. description: Specify the Kind of the generator resource
  168. enum:
  169. - ACRAccessToken
  170. - ClusterGenerator
  171. - CloudsmithAccessToken
  172. - ECRAuthorizationToken
  173. - Fake
  174. - GCRAccessToken
  175. - GithubAccessToken
  176. - QuayAccessToken
  177. - Password
  178. - SSHKey
  179. - STSSessionToken
  180. - UUID
  181. - VaultDynamicSecret
  182. - Webhook
  183. - Grafana
  184. - MFA
  185. type: string
  186. name:
  187. description: Specify the name of the generator resource
  188. maxLength: 253
  189. minLength: 1
  190. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  191. type: string
  192. required:
  193. - kind
  194. - name
  195. type: object
  196. storeRef:
  197. description: SecretStoreRef defines which SecretStore
  198. to fetch the ExternalSecret data.
  199. properties:
  200. kind:
  201. description: |-
  202. Kind of the SecretStore resource (SecretStore or ClusterSecretStore)
  203. Defaults to `SecretStore`
  204. enum:
  205. - SecretStore
  206. - ClusterSecretStore
  207. type: string
  208. name:
  209. description: Name of the SecretStore resource
  210. maxLength: 253
  211. minLength: 1
  212. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  213. type: string
  214. type: object
  215. type: object
  216. required:
  217. - remoteRef
  218. - secretKey
  219. type: object
  220. type: array
  221. dataFrom:
  222. description: |-
  223. DataFrom is used to fetch all properties from a specific Provider data
  224. If multiple entries are specified, the Secret keys are merged in the specified order
  225. items:
  226. description: |-
  227. ExternalSecretDataFromRemoteRef defines the connection between the Kubernetes Secret keys and the Provider data
  228. when using DataFrom to fetch multiple values from a Provider.
  229. properties:
  230. extract:
  231. description: |-
  232. Used to extract multiple key/value pairs from one secret
  233. Note: Extract does not support sourceRef.Generator or sourceRef.GeneratorRef.
  234. properties:
  235. conversionStrategy:
  236. default: Default
  237. description: Used to define a conversion Strategy
  238. enum:
  239. - Default
  240. - Unicode
  241. type: string
  242. decodingStrategy:
  243. default: None
  244. description: Used to define a decoding Strategy
  245. enum:
  246. - Auto
  247. - Base64
  248. - Base64URL
  249. - None
  250. type: string
  251. key:
  252. description: Key is the key used in the Provider, mandatory
  253. type: string
  254. metadataPolicy:
  255. default: None
  256. description: Policy for fetching tags/labels from provider
  257. secrets, possible options are Fetch, None. Defaults
  258. to None
  259. enum:
  260. - None
  261. - Fetch
  262. type: string
  263. nullBytePolicy:
  264. default: Ignore
  265. description: Controls how ESO handles fetched secret
  266. data containing NUL bytes for this source.
  267. enum:
  268. - Ignore
  269. - Fail
  270. type: string
  271. property:
  272. description: Used to select a specific property of the
  273. Provider value (if a map), if supported
  274. type: string
  275. version:
  276. description: Used to select a specific version of the
  277. Provider value, if supported
  278. type: string
  279. required:
  280. - key
  281. type: object
  282. find:
  283. description: |-
  284. Used to find secrets based on tags or regular expressions
  285. Note: Find does not support sourceRef.Generator or sourceRef.GeneratorRef.
  286. properties:
  287. conversionStrategy:
  288. default: Default
  289. description: Used to define a conversion Strategy
  290. enum:
  291. - Default
  292. - Unicode
  293. type: string
  294. decodingStrategy:
  295. default: None
  296. description: Used to define a decoding Strategy
  297. enum:
  298. - Auto
  299. - Base64
  300. - Base64URL
  301. - None
  302. type: string
  303. name:
  304. description: Finds secrets based on the name.
  305. properties:
  306. regexp:
  307. description: Finds secrets base
  308. type: string
  309. type: object
  310. nullBytePolicy:
  311. default: Ignore
  312. description: Controls how ESO handles fetched secret
  313. data containing NUL bytes for this find source.
  314. enum:
  315. - Ignore
  316. - Fail
  317. type: string
  318. path:
  319. description: A root path to start the find operations.
  320. type: string
  321. tags:
  322. additionalProperties:
  323. type: string
  324. description: Find secrets based on tags.
  325. type: object
  326. type: object
  327. rewrite:
  328. description: |-
  329. Used to rewrite secret Keys after getting them from the secret Provider
  330. Multiple Rewrite operations can be provided. They are applied in a layered order (first to last)
  331. items:
  332. description: ExternalSecretRewrite defines how to rewrite
  333. secret data values before they are written to the Secret.
  334. maxProperties: 1
  335. minProperties: 1
  336. properties:
  337. merge:
  338. description: |-
  339. Used to merge key/values in one single Secret
  340. The resulting key will contain all values from the specified secrets
  341. properties:
  342. conflictPolicy:
  343. default: Error
  344. description: Used to define the policy to use
  345. in conflict resolution.
  346. enum:
  347. - Ignore
  348. - Error
  349. type: string
  350. into:
  351. default: ""
  352. description: |-
  353. Used to define the target key of the merge operation.
  354. Required if strategy is JSON. Ignored otherwise.
  355. type: string
  356. priority:
  357. description: Used to define key priority in conflict
  358. resolution.
  359. items:
  360. type: string
  361. type: array
  362. priorityPolicy:
  363. default: Strict
  364. description: Used to define the policy when a
  365. key in the priority list does not exist in the
  366. input.
  367. enum:
  368. - IgnoreNotFound
  369. - Strict
  370. type: string
  371. strategy:
  372. default: Extract
  373. description: Used to define the strategy to use
  374. in the merge operation.
  375. enum:
  376. - Extract
  377. - JSON
  378. type: string
  379. type: object
  380. regexp:
  381. description: |-
  382. Used to rewrite with regular expressions.
  383. The resulting key will be the output of a regexp.ReplaceAll operation.
  384. properties:
  385. source:
  386. description: Used to define the regular expression
  387. of a re.Compiler.
  388. type: string
  389. target:
  390. description: Used to define the target pattern
  391. of a ReplaceAll operation.
  392. type: string
  393. required:
  394. - source
  395. - target
  396. type: object
  397. transform:
  398. description: |-
  399. Used to apply string transformation on the secrets.
  400. The resulting key will be the output of the template applied by the operation.
  401. properties:
  402. template:
  403. description: |-
  404. Used to define the template to apply on the secret name.
  405. `.value ` will specify the secret name in the template.
  406. type: string
  407. required:
  408. - template
  409. type: object
  410. type: object
  411. type: array
  412. sourceRef:
  413. description: |-
  414. SourceRef points to a store or generator
  415. which contains secret values ready to use.
  416. Use this in combination with Extract or Find pull values out of
  417. a specific SecretStore.
  418. When sourceRef points to a generator Extract or Find is not supported.
  419. The generator returns a static map of values
  420. maxProperties: 1
  421. minProperties: 1
  422. properties:
  423. generatorRef:
  424. description: GeneratorRef points to a generator custom
  425. resource.
  426. properties:
  427. apiVersion:
  428. default: generators.external-secrets.io/v1alpha1
  429. description: Specify the apiVersion of the generator
  430. resource
  431. type: string
  432. kind:
  433. description: Specify the Kind of the generator resource
  434. enum:
  435. - ACRAccessToken
  436. - ClusterGenerator
  437. - CloudsmithAccessToken
  438. - ECRAuthorizationToken
  439. - Fake
  440. - GCRAccessToken
  441. - GithubAccessToken
  442. - QuayAccessToken
  443. - Password
  444. - SSHKey
  445. - STSSessionToken
  446. - UUID
  447. - VaultDynamicSecret
  448. - Webhook
  449. - Grafana
  450. - MFA
  451. type: string
  452. name:
  453. description: Specify the name of the generator resource
  454. maxLength: 253
  455. minLength: 1
  456. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  457. type: string
  458. required:
  459. - kind
  460. - name
  461. type: object
  462. storeRef:
  463. description: SecretStoreRef defines which SecretStore
  464. to fetch the ExternalSecret data.
  465. properties:
  466. kind:
  467. description: |-
  468. Kind of the SecretStore resource (SecretStore or ClusterSecretStore)
  469. Defaults to `SecretStore`
  470. enum:
  471. - SecretStore
  472. - ClusterSecretStore
  473. type: string
  474. name:
  475. description: Name of the SecretStore resource
  476. maxLength: 253
  477. minLength: 1
  478. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  479. type: string
  480. type: object
  481. type: object
  482. type: object
  483. type: array
  484. refreshInterval:
  485. default: 1h0m0s
  486. description: |-
  487. RefreshInterval is the amount of time before the values are read again from the SecretStore provider,
  488. specified as Golang Duration strings.
  489. Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h"
  490. Example values: "1h0m0s", "2h30m0s", "10m0s"
  491. May be set to "0s" to fetch and create it once. Defaults to 1h0m0s.
  492. type: string
  493. refreshPolicy:
  494. description: |-
  495. RefreshPolicy determines how the ExternalSecret should be refreshed:
  496. - CreatedOnce: Creates the Secret only if it does not exist and does not update it thereafter
  497. - Periodic: Synchronizes the Secret from the external source at regular intervals specified by refreshInterval.
  498. No periodic updates occur if refreshInterval is 0.
  499. - OnChange: Only synchronizes the Secret when the ExternalSecret's metadata or specification changes
  500. enum:
  501. - CreatedOnce
  502. - Periodic
  503. - OnChange
  504. type: string
  505. secretStoreRef:
  506. description: SecretStoreRef defines which SecretStore to fetch
  507. the ExternalSecret data.
  508. properties:
  509. kind:
  510. description: |-
  511. Kind of the SecretStore resource (SecretStore or ClusterSecretStore)
  512. Defaults to `SecretStore`
  513. enum:
  514. - SecretStore
  515. - ClusterSecretStore
  516. type: string
  517. name:
  518. description: Name of the SecretStore resource
  519. maxLength: 253
  520. minLength: 1
  521. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  522. type: string
  523. type: object
  524. target:
  525. default:
  526. creationPolicy: Owner
  527. deletionPolicy: Retain
  528. description: |-
  529. ExternalSecretTarget defines the Kubernetes Secret to be created,
  530. there can be only one target per ExternalSecret.
  531. properties:
  532. creationPolicy:
  533. default: Owner
  534. description: |-
  535. CreationPolicy defines rules on how to create the resulting Secret.
  536. Defaults to "Owner"
  537. enum:
  538. - Owner
  539. - Orphan
  540. - Merge
  541. - None
  542. type: string
  543. deletionPolicy:
  544. default: Retain
  545. description: |-
  546. DeletionPolicy defines rules on how to delete the resulting Secret.
  547. Defaults to "Retain"
  548. enum:
  549. - Delete
  550. - Merge
  551. - Retain
  552. type: string
  553. immutable:
  554. description: Immutable defines if the final secret will be
  555. immutable
  556. type: boolean
  557. manifest:
  558. description: |-
  559. Manifest defines a custom Kubernetes resource to create instead of a Secret.
  560. When specified, ExternalSecret will create the resource type defined here
  561. (e.g., ConfigMap, Custom Resource) instead of a Secret.
  562. Warning: Using Generic target. Make sure access policies and encryption are properly configured.
  563. properties:
  564. apiVersion:
  565. description: APIVersion of the target resource (e.g.,
  566. "v1" for ConfigMap, "argoproj.io/v1alpha1" for ArgoCD
  567. Application)
  568. minLength: 1
  569. type: string
  570. kind:
  571. description: Kind of the target resource (e.g., "ConfigMap",
  572. "Application")
  573. minLength: 1
  574. type: string
  575. required:
  576. - apiVersion
  577. - kind
  578. type: object
  579. name:
  580. description: |-
  581. The name of the Secret resource to be managed.
  582. Defaults to the .metadata.name of the ExternalSecret resource
  583. maxLength: 253
  584. minLength: 1
  585. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  586. type: string
  587. template:
  588. description: Template defines a blueprint for the created
  589. Secret resource.
  590. properties:
  591. data:
  592. additionalProperties:
  593. type: string
  594. type: object
  595. engineVersion:
  596. default: v2
  597. description: |-
  598. EngineVersion specifies the template engine version
  599. that should be used to compile/execute the
  600. template specified in .data and .templateFrom[].
  601. enum:
  602. - v2
  603. type: string
  604. mergePolicy:
  605. default: Replace
  606. description: TemplateMergePolicy defines how the rendered
  607. template should be merged with the existing Secret data.
  608. enum:
  609. - Replace
  610. - Merge
  611. type: string
  612. metadata:
  613. description: ExternalSecretTemplateMetadata defines metadata
  614. fields for the Secret blueprint.
  615. properties:
  616. annotations:
  617. additionalProperties:
  618. type: string
  619. type: object
  620. finalizers:
  621. items:
  622. type: string
  623. type: array
  624. labels:
  625. additionalProperties:
  626. type: string
  627. type: object
  628. type: object
  629. templateFrom:
  630. items:
  631. description: |-
  632. TemplateFrom specifies a source for templates.
  633. Each item in the list can either reference a ConfigMap or a Secret resource.
  634. properties:
  635. configMap:
  636. description: TemplateRef specifies a reference to
  637. either a ConfigMap or a Secret resource.
  638. properties:
  639. items:
  640. description: A list of keys in the ConfigMap/Secret
  641. to use as templates for Secret data
  642. items:
  643. description: TemplateRefItem specifies a key
  644. in the ConfigMap/Secret to use as a template
  645. for Secret data.
  646. properties:
  647. key:
  648. description: A key in the ConfigMap/Secret
  649. maxLength: 253
  650. minLength: 1
  651. pattern: ^[-._a-zA-Z0-9]+$
  652. type: string
  653. templateAs:
  654. default: Values
  655. description: TemplateScope specifies how
  656. the template keys should be interpreted.
  657. enum:
  658. - Values
  659. - KeysAndValues
  660. type: string
  661. required:
  662. - key
  663. type: object
  664. type: array
  665. name:
  666. description: The name of the ConfigMap/Secret
  667. resource
  668. maxLength: 253
  669. minLength: 1
  670. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  671. type: string
  672. required:
  673. - items
  674. - name
  675. type: object
  676. literal:
  677. type: string
  678. secret:
  679. description: TemplateRef specifies a reference to
  680. either a ConfigMap or a Secret resource.
  681. properties:
  682. items:
  683. description: A list of keys in the ConfigMap/Secret
  684. to use as templates for Secret data
  685. items:
  686. description: TemplateRefItem specifies a key
  687. in the ConfigMap/Secret to use as a template
  688. for Secret data.
  689. properties:
  690. key:
  691. description: A key in the ConfigMap/Secret
  692. maxLength: 253
  693. minLength: 1
  694. pattern: ^[-._a-zA-Z0-9]+$
  695. type: string
  696. templateAs:
  697. default: Values
  698. description: TemplateScope specifies how
  699. the template keys should be interpreted.
  700. enum:
  701. - Values
  702. - KeysAndValues
  703. type: string
  704. required:
  705. - key
  706. type: object
  707. type: array
  708. name:
  709. description: The name of the ConfigMap/Secret
  710. resource
  711. maxLength: 253
  712. minLength: 1
  713. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  714. type: string
  715. required:
  716. - items
  717. - name
  718. type: object
  719. target:
  720. default: Data
  721. description: |-
  722. Target specifies where to place the template result.
  723. For Secret resources, common values are: "Data", "Annotations", "Labels".
  724. For custom resources (when spec.target.manifest is set), this supports
  725. nested paths like "spec.database.config" or "data".
  726. type: string
  727. type: object
  728. type: array
  729. type:
  730. type: string
  731. type: object
  732. type: object
  733. type: object
  734. namespaceSelector:
  735. description: |-
  736. The labels to select by to find the Namespaces to create the ExternalSecrets in.
  737. Deprecated: Use NamespaceSelectors instead.
  738. properties:
  739. matchExpressions:
  740. description: matchExpressions is a list of label selector requirements.
  741. The requirements are ANDed.
  742. items:
  743. description: |-
  744. A label selector requirement is a selector that contains values, a key, and an operator that
  745. relates the key and values.
  746. properties:
  747. key:
  748. description: key is the label key that the selector applies
  749. to.
  750. type: string
  751. operator:
  752. description: |-
  753. operator represents a key's relationship to a set of values.
  754. Valid operators are In, NotIn, Exists and DoesNotExist.
  755. type: string
  756. values:
  757. description: |-
  758. values is an array of string values. If the operator is In or NotIn,
  759. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  760. the values array must be empty. This array is replaced during a strategic
  761. merge patch.
  762. items:
  763. type: string
  764. type: array
  765. x-kubernetes-list-type: atomic
  766. required:
  767. - key
  768. - operator
  769. type: object
  770. type: array
  771. x-kubernetes-list-type: atomic
  772. matchLabels:
  773. additionalProperties:
  774. type: string
  775. description: |-
  776. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  777. map is equivalent to an element of matchExpressions, whose key field is "key", the
  778. operator is "In", and the values array contains only "value". The requirements are ANDed.
  779. type: object
  780. type: object
  781. x-kubernetes-map-type: atomic
  782. namespaceSelectors:
  783. description: A list of labels to select by to find the Namespaces
  784. to create the ExternalSecrets in. The selectors are ORed.
  785. items:
  786. description: |-
  787. A label selector is a label query over a set of resources. The result of matchLabels and
  788. matchExpressions are ANDed. An empty label selector matches all objects. A null
  789. label selector matches no objects.
  790. properties:
  791. matchExpressions:
  792. description: matchExpressions is a list of label selector requirements.
  793. The requirements are ANDed.
  794. items:
  795. description: |-
  796. A label selector requirement is a selector that contains values, a key, and an operator that
  797. relates the key and values.
  798. properties:
  799. key:
  800. description: key is the label key that the selector applies
  801. to.
  802. type: string
  803. operator:
  804. description: |-
  805. operator represents a key's relationship to a set of values.
  806. Valid operators are In, NotIn, Exists and DoesNotExist.
  807. type: string
  808. values:
  809. description: |-
  810. values is an array of string values. If the operator is In or NotIn,
  811. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  812. the values array must be empty. This array is replaced during a strategic
  813. merge patch.
  814. items:
  815. type: string
  816. type: array
  817. x-kubernetes-list-type: atomic
  818. required:
  819. - key
  820. - operator
  821. type: object
  822. type: array
  823. x-kubernetes-list-type: atomic
  824. matchLabels:
  825. additionalProperties:
  826. type: string
  827. description: |-
  828. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  829. map is equivalent to an element of matchExpressions, whose key field is "key", the
  830. operator is "In", and the values array contains only "value". The requirements are ANDed.
  831. type: object
  832. type: object
  833. x-kubernetes-map-type: atomic
  834. type: array
  835. namespaces:
  836. description: |-
  837. Choose namespaces by name. This field is ORed with anything that NamespaceSelectors ends up choosing.
  838. Deprecated: Use NamespaceSelectors instead.
  839. items:
  840. maxLength: 63
  841. minLength: 1
  842. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  843. type: string
  844. type: array
  845. refreshTime:
  846. description: The time in which the controller should reconcile its
  847. objects and recheck namespaces for labels.
  848. type: string
  849. required:
  850. - externalSecretSpec
  851. type: object
  852. status:
  853. description: ClusterExternalSecretStatus defines the observed state of
  854. ClusterExternalSecret.
  855. properties:
  856. conditions:
  857. items:
  858. description: ClusterExternalSecretStatusCondition defines the observed
  859. state of a ClusterExternalSecret resource.
  860. properties:
  861. message:
  862. type: string
  863. status:
  864. type: string
  865. type:
  866. description: ClusterExternalSecretConditionType defines a value
  867. type for ClusterExternalSecret conditions.
  868. type: string
  869. required:
  870. - status
  871. - type
  872. type: object
  873. type: array
  874. externalSecretName:
  875. description: ExternalSecretName is the name of the ExternalSecrets
  876. created by the ClusterExternalSecret
  877. type: string
  878. failedNamespaces:
  879. description: Failed namespaces are the namespaces that failed to apply
  880. an ExternalSecret
  881. items:
  882. description: ClusterExternalSecretNamespaceFailure represents a
  883. failed namespace deployment and it's reason.
  884. properties:
  885. namespace:
  886. description: Namespace is the namespace that failed when trying
  887. to apply an ExternalSecret
  888. type: string
  889. reason:
  890. description: Reason is why the ExternalSecret failed to apply
  891. to the namespace
  892. type: string
  893. required:
  894. - namespace
  895. type: object
  896. type: array
  897. provisionedNamespaces:
  898. description: ProvisionedNamespaces are the namespaces where the ClusterExternalSecret
  899. has secrets
  900. items:
  901. type: string
  902. type: array
  903. type: object
  904. type: object
  905. served: true
  906. storage: true
  907. subresources:
  908. status: {}
  909. - additionalPrinterColumns:
  910. - jsonPath: .spec.externalSecretSpec.secretStoreRef.name
  911. name: Store
  912. type: string
  913. - jsonPath: .spec.refreshTime
  914. name: Refresh Interval
  915. type: string
  916. - jsonPath: .status.conditions[?(@.type=="Ready")].status
  917. name: Ready
  918. type: string
  919. deprecated: true
  920. name: v1beta1
  921. schema:
  922. openAPIV3Schema:
  923. description: ClusterExternalSecret is the schema for the clusterexternalsecrets
  924. API.
  925. properties:
  926. apiVersion:
  927. description: |-
  928. APIVersion defines the versioned schema of this representation of an object.
  929. Servers should convert recognized schemas to the latest internal value, and
  930. may reject unrecognized values.
  931. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  932. type: string
  933. kind:
  934. description: |-
  935. Kind is a string value representing the REST resource this object represents.
  936. Servers may infer this from the endpoint the client submits requests to.
  937. Cannot be updated.
  938. In CamelCase.
  939. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  940. type: string
  941. metadata:
  942. type: object
  943. spec:
  944. description: ClusterExternalSecretSpec defines the desired state of ClusterExternalSecret.
  945. properties:
  946. externalSecretMetadata:
  947. description: The metadata of the external secrets to be created
  948. properties:
  949. annotations:
  950. additionalProperties:
  951. type: string
  952. type: object
  953. labels:
  954. additionalProperties:
  955. type: string
  956. type: object
  957. type: object
  958. externalSecretName:
  959. description: |-
  960. The name of the external secrets to be created.
  961. Defaults to the name of the ClusterExternalSecret
  962. maxLength: 253
  963. minLength: 1
  964. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  965. type: string
  966. externalSecretSpec:
  967. description: The spec for the ExternalSecrets to be created
  968. properties:
  969. data:
  970. description: Data defines the connection between the Kubernetes
  971. Secret keys and the Provider data
  972. items:
  973. description: ExternalSecretData defines the connection between
  974. the Kubernetes Secret key (spec.data.<key>) and the Provider
  975. data.
  976. properties:
  977. remoteRef:
  978. description: |-
  979. RemoteRef points to the remote secret and defines
  980. which secret (version/property/..) to fetch.
  981. properties:
  982. conversionStrategy:
  983. default: Default
  984. description: Used to define a conversion Strategy
  985. enum:
  986. - Default
  987. - Unicode
  988. type: string
  989. decodingStrategy:
  990. default: None
  991. description: Used to define a decoding Strategy
  992. enum:
  993. - Auto
  994. - Base64
  995. - Base64URL
  996. - None
  997. type: string
  998. key:
  999. description: Key is the key used in the Provider, mandatory
  1000. type: string
  1001. metadataPolicy:
  1002. default: None
  1003. description: Policy for fetching tags/labels from provider
  1004. secrets, possible options are Fetch, None. Defaults
  1005. to None
  1006. enum:
  1007. - None
  1008. - Fetch
  1009. type: string
  1010. property:
  1011. description: Used to select a specific property of the
  1012. Provider value (if a map), if supported
  1013. type: string
  1014. version:
  1015. description: Used to select a specific version of the
  1016. Provider value, if supported
  1017. type: string
  1018. required:
  1019. - key
  1020. type: object
  1021. secretKey:
  1022. description: The key in the Kubernetes Secret to store the
  1023. value.
  1024. maxLength: 253
  1025. minLength: 1
  1026. pattern: ^[-._a-zA-Z0-9]+$
  1027. type: string
  1028. sourceRef:
  1029. description: |-
  1030. SourceRef allows you to override the source
  1031. from which the value will be pulled.
  1032. maxProperties: 1
  1033. minProperties: 1
  1034. properties:
  1035. generatorRef:
  1036. description: |-
  1037. GeneratorRef points to a generator custom resource.
  1038. Deprecated: The generatorRef is not implemented in .data[].
  1039. this will be removed with v1.
  1040. properties:
  1041. apiVersion:
  1042. default: generators.external-secrets.io/v1alpha1
  1043. description: Specify the apiVersion of the generator
  1044. resource
  1045. type: string
  1046. kind:
  1047. description: Specify the Kind of the generator resource
  1048. enum:
  1049. - ACRAccessToken
  1050. - ClusterGenerator
  1051. - ECRAuthorizationToken
  1052. - Fake
  1053. - GCRAccessToken
  1054. - GithubAccessToken
  1055. - QuayAccessToken
  1056. - Password
  1057. - SSHKey
  1058. - STSSessionToken
  1059. - UUID
  1060. - VaultDynamicSecret
  1061. - Webhook
  1062. - Grafana
  1063. type: string
  1064. name:
  1065. description: Specify the name of the generator resource
  1066. maxLength: 253
  1067. minLength: 1
  1068. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1069. type: string
  1070. required:
  1071. - kind
  1072. - name
  1073. type: object
  1074. storeRef:
  1075. description: SecretStoreRef defines which SecretStore
  1076. to fetch the ExternalSecret data.
  1077. properties:
  1078. kind:
  1079. description: |-
  1080. Kind of the SecretStore resource (SecretStore or ClusterSecretStore)
  1081. Defaults to `SecretStore`
  1082. enum:
  1083. - SecretStore
  1084. - ClusterSecretStore
  1085. type: string
  1086. name:
  1087. description: Name of the SecretStore resource
  1088. maxLength: 253
  1089. minLength: 1
  1090. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1091. type: string
  1092. type: object
  1093. type: object
  1094. required:
  1095. - remoteRef
  1096. - secretKey
  1097. type: object
  1098. type: array
  1099. dataFrom:
  1100. description: |-
  1101. DataFrom is used to fetch all properties from a specific Provider data
  1102. If multiple entries are specified, the Secret keys are merged in the specified order
  1103. items:
  1104. description: ExternalSecretDataFromRemoteRef defines a reference
  1105. to multiple secrets in the provider to be fetched using options.
  1106. properties:
  1107. extract:
  1108. description: |-
  1109. Used to extract multiple key/value pairs from one secret
  1110. Note: Extract does not support sourceRef.Generator or sourceRef.GeneratorRef.
  1111. properties:
  1112. conversionStrategy:
  1113. default: Default
  1114. description: Used to define a conversion Strategy
  1115. enum:
  1116. - Default
  1117. - Unicode
  1118. type: string
  1119. decodingStrategy:
  1120. default: None
  1121. description: Used to define a decoding Strategy
  1122. enum:
  1123. - Auto
  1124. - Base64
  1125. - Base64URL
  1126. - None
  1127. type: string
  1128. key:
  1129. description: Key is the key used in the Provider, mandatory
  1130. type: string
  1131. metadataPolicy:
  1132. default: None
  1133. description: Policy for fetching tags/labels from provider
  1134. secrets, possible options are Fetch, None. Defaults
  1135. to None
  1136. enum:
  1137. - None
  1138. - Fetch
  1139. type: string
  1140. property:
  1141. description: Used to select a specific property of the
  1142. Provider value (if a map), if supported
  1143. type: string
  1144. version:
  1145. description: Used to select a specific version of the
  1146. Provider value, if supported
  1147. type: string
  1148. required:
  1149. - key
  1150. type: object
  1151. find:
  1152. description: |-
  1153. Used to find secrets based on tags or regular expressions
  1154. Note: Find does not support sourceRef.Generator or sourceRef.GeneratorRef.
  1155. properties:
  1156. conversionStrategy:
  1157. default: Default
  1158. description: Used to define a conversion Strategy
  1159. enum:
  1160. - Default
  1161. - Unicode
  1162. type: string
  1163. decodingStrategy:
  1164. default: None
  1165. description: Used to define a decoding Strategy
  1166. enum:
  1167. - Auto
  1168. - Base64
  1169. - Base64URL
  1170. - None
  1171. type: string
  1172. name:
  1173. description: Finds secrets based on the name.
  1174. properties:
  1175. regexp:
  1176. description: Finds secrets base
  1177. type: string
  1178. type: object
  1179. path:
  1180. description: A root path to start the find operations.
  1181. type: string
  1182. tags:
  1183. additionalProperties:
  1184. type: string
  1185. description: Find secrets based on tags.
  1186. type: object
  1187. type: object
  1188. rewrite:
  1189. description: |-
  1190. Used to rewrite secret Keys after getting them from the secret Provider
  1191. Multiple Rewrite operations can be provided. They are applied in a layered order (first to last)
  1192. items:
  1193. description: ExternalSecretRewrite defines rules on how
  1194. to rewrite secret keys.
  1195. maxProperties: 1
  1196. minProperties: 1
  1197. properties:
  1198. regexp:
  1199. description: |-
  1200. Used to rewrite with regular expressions.
  1201. The resulting key will be the output of a regexp.ReplaceAll operation.
  1202. properties:
  1203. source:
  1204. description: Used to define the regular expression
  1205. of a re.Compiler.
  1206. type: string
  1207. target:
  1208. description: Used to define the target pattern
  1209. of a ReplaceAll operation.
  1210. type: string
  1211. required:
  1212. - source
  1213. - target
  1214. type: object
  1215. transform:
  1216. description: |-
  1217. Used to apply string transformation on the secrets.
  1218. The resulting key will be the output of the template applied by the operation.
  1219. properties:
  1220. template:
  1221. description: |-
  1222. Used to define the template to apply on the secret name.
  1223. `.value ` will specify the secret name in the template.
  1224. type: string
  1225. required:
  1226. - template
  1227. type: object
  1228. type: object
  1229. type: array
  1230. sourceRef:
  1231. description: |-
  1232. SourceRef points to a store or generator
  1233. which contains secret values ready to use.
  1234. Use this in combination with Extract or Find pull values out of
  1235. a specific SecretStore.
  1236. When sourceRef points to a generator Extract or Find is not supported.
  1237. The generator returns a static map of values
  1238. maxProperties: 1
  1239. minProperties: 1
  1240. properties:
  1241. generatorRef:
  1242. description: GeneratorRef points to a generator custom
  1243. resource.
  1244. properties:
  1245. apiVersion:
  1246. default: generators.external-secrets.io/v1alpha1
  1247. description: Specify the apiVersion of the generator
  1248. resource
  1249. type: string
  1250. kind:
  1251. description: Specify the Kind of the generator resource
  1252. enum:
  1253. - ACRAccessToken
  1254. - ClusterGenerator
  1255. - ECRAuthorizationToken
  1256. - Fake
  1257. - GCRAccessToken
  1258. - GithubAccessToken
  1259. - QuayAccessToken
  1260. - Password
  1261. - SSHKey
  1262. - STSSessionToken
  1263. - UUID
  1264. - VaultDynamicSecret
  1265. - Webhook
  1266. - Grafana
  1267. type: string
  1268. name:
  1269. description: Specify the name of the generator resource
  1270. maxLength: 253
  1271. minLength: 1
  1272. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1273. type: string
  1274. required:
  1275. - kind
  1276. - name
  1277. type: object
  1278. storeRef:
  1279. description: SecretStoreRef defines which SecretStore
  1280. to fetch the ExternalSecret data.
  1281. properties:
  1282. kind:
  1283. description: |-
  1284. Kind of the SecretStore resource (SecretStore or ClusterSecretStore)
  1285. Defaults to `SecretStore`
  1286. enum:
  1287. - SecretStore
  1288. - ClusterSecretStore
  1289. type: string
  1290. name:
  1291. description: Name of the SecretStore resource
  1292. maxLength: 253
  1293. minLength: 1
  1294. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1295. type: string
  1296. type: object
  1297. type: object
  1298. type: object
  1299. type: array
  1300. refreshInterval:
  1301. default: 1h0m0s
  1302. description: |-
  1303. RefreshInterval is the amount of time before the values are read again from the SecretStore provider,
  1304. specified as Golang Duration strings.
  1305. Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h"
  1306. Example values: "1h0m0s", "2h30m0s", "10m0s"
  1307. May be set to "0s" to fetch and create it once. Defaults to 1h0m0s.
  1308. type: string
  1309. refreshPolicy:
  1310. description: |-
  1311. RefreshPolicy determines how the ExternalSecret should be refreshed:
  1312. - CreatedOnce: Creates the Secret only if it does not exist and does not update it thereafter
  1313. - Periodic: Synchronizes the Secret from the external source at regular intervals specified by refreshInterval.
  1314. No periodic updates occur if refreshInterval is 0.
  1315. - OnChange: Only synchronizes the Secret when the ExternalSecret's metadata or specification changes
  1316. enum:
  1317. - CreatedOnce
  1318. - Periodic
  1319. - OnChange
  1320. type: string
  1321. secretStoreRef:
  1322. description: SecretStoreRef defines which SecretStore to fetch
  1323. the ExternalSecret data.
  1324. properties:
  1325. kind:
  1326. description: |-
  1327. Kind of the SecretStore resource (SecretStore or ClusterSecretStore)
  1328. Defaults to `SecretStore`
  1329. enum:
  1330. - SecretStore
  1331. - ClusterSecretStore
  1332. type: string
  1333. name:
  1334. description: Name of the SecretStore resource
  1335. maxLength: 253
  1336. minLength: 1
  1337. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1338. type: string
  1339. type: object
  1340. target:
  1341. default:
  1342. creationPolicy: Owner
  1343. deletionPolicy: Retain
  1344. description: |-
  1345. ExternalSecretTarget defines the Kubernetes Secret to be created
  1346. There can be only one target per ExternalSecret.
  1347. properties:
  1348. creationPolicy:
  1349. default: Owner
  1350. description: |-
  1351. CreationPolicy defines rules on how to create the resulting Secret.
  1352. Defaults to "Owner"
  1353. enum:
  1354. - Owner
  1355. - Orphan
  1356. - Merge
  1357. - None
  1358. type: string
  1359. deletionPolicy:
  1360. default: Retain
  1361. description: |-
  1362. DeletionPolicy defines rules on how to delete the resulting Secret.
  1363. Defaults to "Retain"
  1364. enum:
  1365. - Delete
  1366. - Merge
  1367. - Retain
  1368. type: string
  1369. immutable:
  1370. description: Immutable defines if the final secret will be
  1371. immutable
  1372. type: boolean
  1373. name:
  1374. description: |-
  1375. The name of the Secret resource to be managed.
  1376. Defaults to the .metadata.name of the ExternalSecret resource
  1377. maxLength: 253
  1378. minLength: 1
  1379. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1380. type: string
  1381. template:
  1382. description: Template defines a blueprint for the created
  1383. Secret resource.
  1384. properties:
  1385. data:
  1386. additionalProperties:
  1387. type: string
  1388. type: object
  1389. engineVersion:
  1390. default: v2
  1391. description: |-
  1392. EngineVersion specifies the template engine version
  1393. that should be used to compile/execute the
  1394. template specified in .data and .templateFrom[].
  1395. enum:
  1396. - v2
  1397. type: string
  1398. mergePolicy:
  1399. default: Replace
  1400. description: TemplateMergePolicy defines how template
  1401. values should be merged when generating a secret.
  1402. enum:
  1403. - Replace
  1404. - Merge
  1405. type: string
  1406. metadata:
  1407. description: ExternalSecretTemplateMetadata defines metadata
  1408. fields for the Secret blueprint.
  1409. properties:
  1410. annotations:
  1411. additionalProperties:
  1412. type: string
  1413. type: object
  1414. labels:
  1415. additionalProperties:
  1416. type: string
  1417. type: object
  1418. type: object
  1419. templateFrom:
  1420. items:
  1421. description: TemplateFrom defines a source for template
  1422. data.
  1423. properties:
  1424. configMap:
  1425. description: TemplateRef defines a reference to
  1426. a template source in a ConfigMap or Secret.
  1427. properties:
  1428. items:
  1429. description: A list of keys in the ConfigMap/Secret
  1430. to use as templates for Secret data
  1431. items:
  1432. description: TemplateRefItem defines which
  1433. key in the referenced ConfigMap or Secret
  1434. to use as a template.
  1435. properties:
  1436. key:
  1437. description: A key in the ConfigMap/Secret
  1438. maxLength: 253
  1439. minLength: 1
  1440. pattern: ^[-._a-zA-Z0-9]+$
  1441. type: string
  1442. templateAs:
  1443. default: Values
  1444. description: TemplateScope defines the
  1445. scope of the template when processing
  1446. template data.
  1447. enum:
  1448. - Values
  1449. - KeysAndValues
  1450. type: string
  1451. required:
  1452. - key
  1453. type: object
  1454. type: array
  1455. name:
  1456. description: The name of the ConfigMap/Secret
  1457. resource
  1458. maxLength: 253
  1459. minLength: 1
  1460. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1461. type: string
  1462. required:
  1463. - items
  1464. - name
  1465. type: object
  1466. literal:
  1467. type: string
  1468. secret:
  1469. description: TemplateRef defines a reference to
  1470. a template source in a ConfigMap or Secret.
  1471. properties:
  1472. items:
  1473. description: A list of keys in the ConfigMap/Secret
  1474. to use as templates for Secret data
  1475. items:
  1476. description: TemplateRefItem defines which
  1477. key in the referenced ConfigMap or Secret
  1478. to use as a template.
  1479. properties:
  1480. key:
  1481. description: A key in the ConfigMap/Secret
  1482. maxLength: 253
  1483. minLength: 1
  1484. pattern: ^[-._a-zA-Z0-9]+$
  1485. type: string
  1486. templateAs:
  1487. default: Values
  1488. description: TemplateScope defines the
  1489. scope of the template when processing
  1490. template data.
  1491. enum:
  1492. - Values
  1493. - KeysAndValues
  1494. type: string
  1495. required:
  1496. - key
  1497. type: object
  1498. type: array
  1499. name:
  1500. description: The name of the ConfigMap/Secret
  1501. resource
  1502. maxLength: 253
  1503. minLength: 1
  1504. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1505. type: string
  1506. required:
  1507. - items
  1508. - name
  1509. type: object
  1510. target:
  1511. default: Data
  1512. description: TemplateTarget defines the target field
  1513. where the template result will be stored.
  1514. enum:
  1515. - Data
  1516. - Annotations
  1517. - Labels
  1518. type: string
  1519. type: object
  1520. type: array
  1521. type:
  1522. type: string
  1523. type: object
  1524. type: object
  1525. type: object
  1526. namespaceSelector:
  1527. description: The labels to select by to find the Namespaces to create
  1528. the ExternalSecrets in
  1529. properties:
  1530. matchExpressions:
  1531. description: matchExpressions is a list of label selector requirements.
  1532. The requirements are ANDed.
  1533. items:
  1534. description: |-
  1535. A label selector requirement is a selector that contains values, a key, and an operator that
  1536. relates the key and values.
  1537. properties:
  1538. key:
  1539. description: key is the label key that the selector applies
  1540. to.
  1541. type: string
  1542. operator:
  1543. description: |-
  1544. operator represents a key's relationship to a set of values.
  1545. Valid operators are In, NotIn, Exists and DoesNotExist.
  1546. type: string
  1547. values:
  1548. description: |-
  1549. values is an array of string values. If the operator is In or NotIn,
  1550. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  1551. the values array must be empty. This array is replaced during a strategic
  1552. merge patch.
  1553. items:
  1554. type: string
  1555. type: array
  1556. x-kubernetes-list-type: atomic
  1557. required:
  1558. - key
  1559. - operator
  1560. type: object
  1561. type: array
  1562. x-kubernetes-list-type: atomic
  1563. matchLabels:
  1564. additionalProperties:
  1565. type: string
  1566. description: |-
  1567. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  1568. map is equivalent to an element of matchExpressions, whose key field is "key", the
  1569. operator is "In", and the values array contains only "value". The requirements are ANDed.
  1570. type: object
  1571. type: object
  1572. x-kubernetes-map-type: atomic
  1573. namespaceSelectors:
  1574. description: A list of labels to select by to find the Namespaces
  1575. to create the ExternalSecrets in. The selectors are ORed.
  1576. items:
  1577. description: |-
  1578. A label selector is a label query over a set of resources. The result of matchLabels and
  1579. matchExpressions are ANDed. An empty label selector matches all objects. A null
  1580. label selector matches no objects.
  1581. properties:
  1582. matchExpressions:
  1583. description: matchExpressions is a list of label selector requirements.
  1584. The requirements are ANDed.
  1585. items:
  1586. description: |-
  1587. A label selector requirement is a selector that contains values, a key, and an operator that
  1588. relates the key and values.
  1589. properties:
  1590. key:
  1591. description: key is the label key that the selector applies
  1592. to.
  1593. type: string
  1594. operator:
  1595. description: |-
  1596. operator represents a key's relationship to a set of values.
  1597. Valid operators are In, NotIn, Exists and DoesNotExist.
  1598. type: string
  1599. values:
  1600. description: |-
  1601. values is an array of string values. If the operator is In or NotIn,
  1602. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  1603. the values array must be empty. This array is replaced during a strategic
  1604. merge patch.
  1605. items:
  1606. type: string
  1607. type: array
  1608. x-kubernetes-list-type: atomic
  1609. required:
  1610. - key
  1611. - operator
  1612. type: object
  1613. type: array
  1614. x-kubernetes-list-type: atomic
  1615. matchLabels:
  1616. additionalProperties:
  1617. type: string
  1618. description: |-
  1619. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  1620. map is equivalent to an element of matchExpressions, whose key field is "key", the
  1621. operator is "In", and the values array contains only "value". The requirements are ANDed.
  1622. type: object
  1623. type: object
  1624. x-kubernetes-map-type: atomic
  1625. type: array
  1626. namespaces:
  1627. description: |-
  1628. Choose namespaces by name. This field is ORed with anything that NamespaceSelectors ends up choosing.
  1629. Deprecated: Use NamespaceSelectors instead.
  1630. items:
  1631. maxLength: 63
  1632. minLength: 1
  1633. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1634. type: string
  1635. type: array
  1636. refreshTime:
  1637. description: The time in which the controller should reconcile its
  1638. objects and recheck namespaces for labels.
  1639. type: string
  1640. required:
  1641. - externalSecretSpec
  1642. type: object
  1643. status:
  1644. description: ClusterExternalSecretStatus defines the observed state of
  1645. ClusterExternalSecret.
  1646. properties:
  1647. conditions:
  1648. items:
  1649. description: ClusterExternalSecretStatusCondition indicates the
  1650. status of the ClusterExternalSecret.
  1651. properties:
  1652. message:
  1653. type: string
  1654. status:
  1655. type: string
  1656. type:
  1657. description: ClusterExternalSecretConditionType indicates the
  1658. condition of the ClusterExternalSecret.
  1659. type: string
  1660. required:
  1661. - status
  1662. - type
  1663. type: object
  1664. type: array
  1665. externalSecretName:
  1666. description: ExternalSecretName is the name of the ExternalSecrets
  1667. created by the ClusterExternalSecret
  1668. type: string
  1669. failedNamespaces:
  1670. description: Failed namespaces are the namespaces that failed to apply
  1671. an ExternalSecret
  1672. items:
  1673. description: ClusterExternalSecretNamespaceFailure represents a
  1674. failed namespace deployment and it's reason.
  1675. properties:
  1676. namespace:
  1677. description: Namespace is the namespace that failed when trying
  1678. to apply an ExternalSecret
  1679. type: string
  1680. reason:
  1681. description: Reason is why the ExternalSecret failed to apply
  1682. to the namespace
  1683. type: string
  1684. required:
  1685. - namespace
  1686. type: object
  1687. type: array
  1688. provisionedNamespaces:
  1689. description: ProvisionedNamespaces are the namespaces where the ClusterExternalSecret
  1690. has secrets
  1691. items:
  1692. type: string
  1693. type: array
  1694. type: object
  1695. type: object
  1696. served: false
  1697. storage: false
  1698. subresources:
  1699. status: {}