external-secrets.io_clustersecretstores.yaml 225 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.14.0
  6. name: clustersecretstores.external-secrets.io
  7. spec:
  8. group: external-secrets.io
  9. names:
  10. categories:
  11. - externalsecrets
  12. kind: ClusterSecretStore
  13. listKind: ClusterSecretStoreList
  14. plural: clustersecretstores
  15. shortNames:
  16. - css
  17. singular: clustersecretstore
  18. scope: Cluster
  19. versions:
  20. - additionalPrinterColumns:
  21. - jsonPath: .metadata.creationTimestamp
  22. name: AGE
  23. type: date
  24. - jsonPath: .status.conditions[?(@.type=="Ready")].reason
  25. name: Status
  26. type: string
  27. deprecated: true
  28. name: v1alpha1
  29. schema:
  30. openAPIV3Schema:
  31. description: ClusterSecretStore represents a secure external location for
  32. storing secrets, which can be referenced as part of `storeRef` fields.
  33. properties:
  34. apiVersion:
  35. description: |-
  36. APIVersion defines the versioned schema of this representation of an object.
  37. Servers should convert recognized schemas to the latest internal value, and
  38. may reject unrecognized values.
  39. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  40. type: string
  41. kind:
  42. description: |-
  43. Kind is a string value representing the REST resource this object represents.
  44. Servers may infer this from the endpoint the client submits requests to.
  45. Cannot be updated.
  46. In CamelCase.
  47. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  48. type: string
  49. metadata:
  50. type: object
  51. spec:
  52. description: SecretStoreSpec defines the desired state of SecretStore.
  53. properties:
  54. controller:
  55. description: |-
  56. Used to select the correct ESO controller (think: ingress.ingressClassName)
  57. The ESO controller is instantiated with a specific controller name and filters ES based on this property
  58. type: string
  59. provider:
  60. description: Used to configure the provider. Only one provider may
  61. be set
  62. maxProperties: 1
  63. minProperties: 1
  64. properties:
  65. akeyless:
  66. description: Akeyless configures this store to sync secrets using
  67. Akeyless Vault provider
  68. properties:
  69. akeylessGWApiURL:
  70. description: Akeyless GW API Url from which the secrets to
  71. be fetched from.
  72. type: string
  73. authSecretRef:
  74. description: Auth configures how the operator authenticates
  75. with Akeyless.
  76. properties:
  77. kubernetesAuth:
  78. description: |-
  79. Kubernetes authenticates with Akeyless by passing the ServiceAccount
  80. token stored in the named Secret resource.
  81. properties:
  82. accessID:
  83. description: the Akeyless Kubernetes auth-method access-id
  84. type: string
  85. k8sConfName:
  86. description: Kubernetes-auth configuration name in
  87. Akeyless-Gateway
  88. type: string
  89. secretRef:
  90. description: |-
  91. Optional secret field containing a Kubernetes ServiceAccount JWT used
  92. for authenticating with Akeyless. If a name is specified without a key,
  93. `token` is the default. If one is not specified, the one bound to
  94. the controller will be used.
  95. properties:
  96. key:
  97. description: |-
  98. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  99. defaulted, in others it may be required.
  100. type: string
  101. name:
  102. description: The name of the Secret resource being
  103. referred to.
  104. type: string
  105. namespace:
  106. description: |-
  107. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  108. to the namespace of the referent.
  109. type: string
  110. type: object
  111. serviceAccountRef:
  112. description: |-
  113. Optional service account field containing the name of a kubernetes ServiceAccount.
  114. If the service account is specified, the service account secret token JWT will be used
  115. for authenticating with Akeyless. If the service account selector is not supplied,
  116. the secretRef will be used instead.
  117. properties:
  118. audiences:
  119. description: |-
  120. Audience specifies the `aud` claim for the service account token
  121. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  122. then this audiences will be appended to the list
  123. items:
  124. type: string
  125. type: array
  126. name:
  127. description: The name of the ServiceAccount resource
  128. being referred to.
  129. type: string
  130. namespace:
  131. description: |-
  132. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  133. to the namespace of the referent.
  134. type: string
  135. required:
  136. - name
  137. type: object
  138. required:
  139. - accessID
  140. - k8sConfName
  141. type: object
  142. secretRef:
  143. description: |-
  144. Reference to a Secret that contains the details
  145. to authenticate with Akeyless.
  146. properties:
  147. accessID:
  148. description: The SecretAccessID is used for authentication
  149. properties:
  150. key:
  151. description: |-
  152. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  153. defaulted, in others it may be required.
  154. type: string
  155. name:
  156. description: The name of the Secret resource being
  157. referred to.
  158. type: string
  159. namespace:
  160. description: |-
  161. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  162. to the namespace of the referent.
  163. type: string
  164. type: object
  165. accessType:
  166. description: |-
  167. A reference to a specific 'key' within a Secret resource,
  168. In some instances, `key` is a required field.
  169. properties:
  170. key:
  171. description: |-
  172. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  173. defaulted, in others it may be required.
  174. type: string
  175. name:
  176. description: The name of the Secret resource being
  177. referred to.
  178. type: string
  179. namespace:
  180. description: |-
  181. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  182. to the namespace of the referent.
  183. type: string
  184. type: object
  185. accessTypeParam:
  186. description: |-
  187. A reference to a specific 'key' within a Secret resource,
  188. In some instances, `key` is a required field.
  189. properties:
  190. key:
  191. description: |-
  192. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  193. defaulted, in others it may be required.
  194. type: string
  195. name:
  196. description: The name of the Secret resource being
  197. referred to.
  198. type: string
  199. namespace:
  200. description: |-
  201. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  202. to the namespace of the referent.
  203. type: string
  204. type: object
  205. type: object
  206. type: object
  207. caBundle:
  208. description: |-
  209. PEM/base64 encoded CA bundle used to validate Akeyless Gateway certificate. Only used
  210. if the AkeylessGWApiURL URL is using HTTPS protocol. If not set the system root certificates
  211. are used to validate the TLS connection.
  212. format: byte
  213. type: string
  214. caProvider:
  215. description: The provider for the CA bundle to use to validate
  216. Akeyless Gateway certificate.
  217. properties:
  218. key:
  219. description: The key the value inside of the provider
  220. type to use, only used with "Secret" type
  221. type: string
  222. name:
  223. description: The name of the object located at the provider
  224. type.
  225. type: string
  226. namespace:
  227. description: The namespace the Provider type is in.
  228. type: string
  229. type:
  230. description: The type of provider to use such as "Secret",
  231. or "ConfigMap".
  232. enum:
  233. - Secret
  234. - ConfigMap
  235. type: string
  236. required:
  237. - name
  238. - type
  239. type: object
  240. required:
  241. - akeylessGWApiURL
  242. - authSecretRef
  243. type: object
  244. alibaba:
  245. description: Alibaba configures this store to sync secrets using
  246. Alibaba Cloud provider
  247. properties:
  248. auth:
  249. description: AlibabaAuth contains a secretRef for credentials.
  250. properties:
  251. rrsa:
  252. description: Authenticate against Alibaba using RRSA.
  253. properties:
  254. oidcProviderArn:
  255. type: string
  256. oidcTokenFilePath:
  257. type: string
  258. roleArn:
  259. type: string
  260. sessionName:
  261. type: string
  262. required:
  263. - oidcProviderArn
  264. - oidcTokenFilePath
  265. - roleArn
  266. - sessionName
  267. type: object
  268. secretRef:
  269. description: AlibabaAuthSecretRef holds secret references
  270. for Alibaba credentials.
  271. properties:
  272. accessKeyIDSecretRef:
  273. description: The AccessKeyID is used for authentication
  274. properties:
  275. key:
  276. description: |-
  277. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  278. defaulted, in others it may be required.
  279. type: string
  280. name:
  281. description: The name of the Secret resource being
  282. referred to.
  283. type: string
  284. namespace:
  285. description: |-
  286. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  287. to the namespace of the referent.
  288. type: string
  289. type: object
  290. accessKeySecretSecretRef:
  291. description: The AccessKeySecret is used for authentication
  292. properties:
  293. key:
  294. description: |-
  295. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  296. defaulted, in others it may be required.
  297. type: string
  298. name:
  299. description: The name of the Secret resource being
  300. referred to.
  301. type: string
  302. namespace:
  303. description: |-
  304. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  305. to the namespace of the referent.
  306. type: string
  307. type: object
  308. required:
  309. - accessKeyIDSecretRef
  310. - accessKeySecretSecretRef
  311. type: object
  312. type: object
  313. regionID:
  314. description: Alibaba Region to be used for the provider
  315. type: string
  316. required:
  317. - auth
  318. - regionID
  319. type: object
  320. aws:
  321. description: AWS configures this store to sync secrets using AWS
  322. Secret Manager provider
  323. properties:
  324. auth:
  325. description: |-
  326. Auth defines the information necessary to authenticate against AWS
  327. if not set aws sdk will infer credentials from your environment
  328. see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials
  329. properties:
  330. jwt:
  331. description: Authenticate against AWS using service account
  332. tokens.
  333. properties:
  334. serviceAccountRef:
  335. description: A reference to a ServiceAccount resource.
  336. properties:
  337. audiences:
  338. description: |-
  339. Audience specifies the `aud` claim for the service account token
  340. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  341. then this audiences will be appended to the list
  342. items:
  343. type: string
  344. type: array
  345. name:
  346. description: The name of the ServiceAccount resource
  347. being referred to.
  348. type: string
  349. namespace:
  350. description: |-
  351. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  352. to the namespace of the referent.
  353. type: string
  354. required:
  355. - name
  356. type: object
  357. type: object
  358. secretRef:
  359. description: |-
  360. AWSAuthSecretRef holds secret references for AWS credentials
  361. both AccessKeyID and SecretAccessKey must be defined in order to properly authenticate.
  362. properties:
  363. accessKeyIDSecretRef:
  364. description: The AccessKeyID is used for authentication
  365. properties:
  366. key:
  367. description: |-
  368. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  369. defaulted, in others it may be required.
  370. type: string
  371. name:
  372. description: The name of the Secret resource being
  373. referred to.
  374. type: string
  375. namespace:
  376. description: |-
  377. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  378. to the namespace of the referent.
  379. type: string
  380. type: object
  381. secretAccessKeySecretRef:
  382. description: The SecretAccessKey is used for authentication
  383. properties:
  384. key:
  385. description: |-
  386. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  387. defaulted, in others it may be required.
  388. type: string
  389. name:
  390. description: The name of the Secret resource being
  391. referred to.
  392. type: string
  393. namespace:
  394. description: |-
  395. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  396. to the namespace of the referent.
  397. type: string
  398. type: object
  399. type: object
  400. type: object
  401. region:
  402. description: AWS Region to be used for the provider
  403. type: string
  404. role:
  405. description: Role is a Role ARN which the SecretManager provider
  406. will assume
  407. type: string
  408. service:
  409. description: Service defines which service should be used
  410. to fetch the secrets
  411. enum:
  412. - SecretsManager
  413. - ParameterStore
  414. type: string
  415. required:
  416. - region
  417. - service
  418. type: object
  419. azurekv:
  420. description: AzureKV configures this store to sync secrets using
  421. Azure Key Vault provider
  422. properties:
  423. authSecretRef:
  424. description: Auth configures how the operator authenticates
  425. with Azure. Required for ServicePrincipal auth type.
  426. properties:
  427. clientId:
  428. description: The Azure clientId of the service principle
  429. used for authentication.
  430. properties:
  431. key:
  432. description: |-
  433. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  434. defaulted, in others it may be required.
  435. type: string
  436. name:
  437. description: The name of the Secret resource being
  438. referred to.
  439. type: string
  440. namespace:
  441. description: |-
  442. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  443. to the namespace of the referent.
  444. type: string
  445. type: object
  446. clientSecret:
  447. description: The Azure ClientSecret of the service principle
  448. used for authentication.
  449. properties:
  450. key:
  451. description: |-
  452. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  453. defaulted, in others it may be required.
  454. type: string
  455. name:
  456. description: The name of the Secret resource being
  457. referred to.
  458. type: string
  459. namespace:
  460. description: |-
  461. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  462. to the namespace of the referent.
  463. type: string
  464. type: object
  465. type: object
  466. authType:
  467. default: ServicePrincipal
  468. description: |-
  469. Auth type defines how to authenticate to the keyvault service.
  470. Valid values are:
  471. - "ServicePrincipal" (default): Using a service principal (tenantId, clientId, clientSecret)
  472. - "ManagedIdentity": Using Managed Identity assigned to the pod (see aad-pod-identity)
  473. enum:
  474. - ServicePrincipal
  475. - ManagedIdentity
  476. - WorkloadIdentity
  477. type: string
  478. identityId:
  479. description: If multiple Managed Identity is assigned to the
  480. pod, you can select the one to be used
  481. type: string
  482. serviceAccountRef:
  483. description: |-
  484. ServiceAccountRef specified the service account
  485. that should be used when authenticating with WorkloadIdentity.
  486. properties:
  487. audiences:
  488. description: |-
  489. Audience specifies the `aud` claim for the service account token
  490. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  491. then this audiences will be appended to the list
  492. items:
  493. type: string
  494. type: array
  495. name:
  496. description: The name of the ServiceAccount resource being
  497. referred to.
  498. type: string
  499. namespace:
  500. description: |-
  501. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  502. to the namespace of the referent.
  503. type: string
  504. required:
  505. - name
  506. type: object
  507. tenantId:
  508. description: TenantID configures the Azure Tenant to send
  509. requests to. Required for ServicePrincipal auth type.
  510. type: string
  511. vaultUrl:
  512. description: Vault Url from which the secrets to be fetched
  513. from.
  514. type: string
  515. required:
  516. - vaultUrl
  517. type: object
  518. fake:
  519. description: Fake configures a store with static key/value pairs
  520. properties:
  521. data:
  522. items:
  523. properties:
  524. key:
  525. type: string
  526. value:
  527. type: string
  528. valueMap:
  529. additionalProperties:
  530. type: string
  531. type: object
  532. version:
  533. type: string
  534. required:
  535. - key
  536. type: object
  537. type: array
  538. required:
  539. - data
  540. type: object
  541. gcpsm:
  542. description: GCPSM configures this store to sync secrets using
  543. Google Cloud Platform Secret Manager provider
  544. properties:
  545. auth:
  546. description: Auth defines the information necessary to authenticate
  547. against GCP
  548. properties:
  549. secretRef:
  550. properties:
  551. secretAccessKeySecretRef:
  552. description: The SecretAccessKey is used for authentication
  553. properties:
  554. key:
  555. description: |-
  556. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  557. defaulted, in others it may be required.
  558. type: string
  559. name:
  560. description: The name of the Secret resource being
  561. referred to.
  562. type: string
  563. namespace:
  564. description: |-
  565. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  566. to the namespace of the referent.
  567. type: string
  568. type: object
  569. type: object
  570. workloadIdentity:
  571. properties:
  572. clusterLocation:
  573. type: string
  574. clusterName:
  575. type: string
  576. clusterProjectID:
  577. type: string
  578. serviceAccountRef:
  579. description: A reference to a ServiceAccount resource.
  580. properties:
  581. audiences:
  582. description: |-
  583. Audience specifies the `aud` claim for the service account token
  584. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  585. then this audiences will be appended to the list
  586. items:
  587. type: string
  588. type: array
  589. name:
  590. description: The name of the ServiceAccount resource
  591. being referred to.
  592. type: string
  593. namespace:
  594. description: |-
  595. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  596. to the namespace of the referent.
  597. type: string
  598. required:
  599. - name
  600. type: object
  601. required:
  602. - clusterLocation
  603. - clusterName
  604. - serviceAccountRef
  605. type: object
  606. type: object
  607. projectID:
  608. description: ProjectID project where secret is located
  609. type: string
  610. type: object
  611. gitlab:
  612. description: GitLab configures this store to sync secrets using
  613. GitLab Variables provider
  614. properties:
  615. auth:
  616. description: Auth configures how secret-manager authenticates
  617. with a GitLab instance.
  618. properties:
  619. SecretRef:
  620. properties:
  621. accessToken:
  622. description: AccessToken is used for authentication.
  623. properties:
  624. key:
  625. description: |-
  626. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  627. defaulted, in others it may be required.
  628. type: string
  629. name:
  630. description: The name of the Secret resource being
  631. referred to.
  632. type: string
  633. namespace:
  634. description: |-
  635. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  636. to the namespace of the referent.
  637. type: string
  638. type: object
  639. type: object
  640. required:
  641. - SecretRef
  642. type: object
  643. projectID:
  644. description: ProjectID specifies a project where secrets are
  645. located.
  646. type: string
  647. url:
  648. description: URL configures the GitLab instance URL. Defaults
  649. to https://gitlab.com/.
  650. type: string
  651. required:
  652. - auth
  653. type: object
  654. ibm:
  655. description: IBM configures this store to sync secrets using IBM
  656. Cloud provider
  657. properties:
  658. auth:
  659. description: Auth configures how secret-manager authenticates
  660. with the IBM secrets manager.
  661. properties:
  662. secretRef:
  663. properties:
  664. secretApiKeySecretRef:
  665. description: The SecretAccessKey is used for authentication
  666. properties:
  667. key:
  668. description: |-
  669. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  670. defaulted, in others it may be required.
  671. type: string
  672. name:
  673. description: The name of the Secret resource being
  674. referred to.
  675. type: string
  676. namespace:
  677. description: |-
  678. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  679. to the namespace of the referent.
  680. type: string
  681. type: object
  682. type: object
  683. required:
  684. - secretRef
  685. type: object
  686. serviceUrl:
  687. description: ServiceURL is the Endpoint URL that is specific
  688. to the Secrets Manager service instance
  689. type: string
  690. required:
  691. - auth
  692. type: object
  693. kubernetes:
  694. description: Kubernetes configures this store to sync secrets
  695. using a Kubernetes cluster provider
  696. properties:
  697. auth:
  698. description: Auth configures how secret-manager authenticates
  699. with a Kubernetes instance.
  700. maxProperties: 1
  701. minProperties: 1
  702. properties:
  703. cert:
  704. description: has both clientCert and clientKey as secretKeySelector
  705. properties:
  706. clientCert:
  707. description: |-
  708. A reference to a specific 'key' within a Secret resource,
  709. In some instances, `key` is a required field.
  710. properties:
  711. key:
  712. description: |-
  713. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  714. defaulted, in others it may be required.
  715. type: string
  716. name:
  717. description: The name of the Secret resource being
  718. referred to.
  719. type: string
  720. namespace:
  721. description: |-
  722. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  723. to the namespace of the referent.
  724. type: string
  725. type: object
  726. clientKey:
  727. description: |-
  728. A reference to a specific 'key' within a Secret resource,
  729. In some instances, `key` is a required field.
  730. properties:
  731. key:
  732. description: |-
  733. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  734. defaulted, in others it may be required.
  735. type: string
  736. name:
  737. description: The name of the Secret resource being
  738. referred to.
  739. type: string
  740. namespace:
  741. description: |-
  742. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  743. to the namespace of the referent.
  744. type: string
  745. type: object
  746. type: object
  747. serviceAccount:
  748. description: points to a service account that should be
  749. used for authentication
  750. properties:
  751. serviceAccount:
  752. description: A reference to a ServiceAccount resource.
  753. properties:
  754. audiences:
  755. description: |-
  756. Audience specifies the `aud` claim for the service account token
  757. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  758. then this audiences will be appended to the list
  759. items:
  760. type: string
  761. type: array
  762. name:
  763. description: The name of the ServiceAccount resource
  764. being referred to.
  765. type: string
  766. namespace:
  767. description: |-
  768. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  769. to the namespace of the referent.
  770. type: string
  771. required:
  772. - name
  773. type: object
  774. type: object
  775. token:
  776. description: use static token to authenticate with
  777. properties:
  778. bearerToken:
  779. description: |-
  780. A reference to a specific 'key' within a Secret resource,
  781. In some instances, `key` is a required field.
  782. properties:
  783. key:
  784. description: |-
  785. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  786. defaulted, in others it may be required.
  787. type: string
  788. name:
  789. description: The name of the Secret resource being
  790. referred to.
  791. type: string
  792. namespace:
  793. description: |-
  794. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  795. to the namespace of the referent.
  796. type: string
  797. type: object
  798. type: object
  799. type: object
  800. remoteNamespace:
  801. default: default
  802. description: Remote namespace to fetch the secrets from
  803. type: string
  804. server:
  805. description: configures the Kubernetes server Address.
  806. properties:
  807. caBundle:
  808. description: CABundle is a base64-encoded CA certificate
  809. format: byte
  810. type: string
  811. caProvider:
  812. description: 'see: https://external-secrets.io/v0.4.1/spec/#external-secrets.io/v1alpha1.CAProvider'
  813. properties:
  814. key:
  815. description: The key the value inside of the provider
  816. type to use, only used with "Secret" type
  817. type: string
  818. name:
  819. description: The name of the object located at the
  820. provider type.
  821. type: string
  822. namespace:
  823. description: The namespace the Provider type is in.
  824. type: string
  825. type:
  826. description: The type of provider to use such as "Secret",
  827. or "ConfigMap".
  828. enum:
  829. - Secret
  830. - ConfigMap
  831. type: string
  832. required:
  833. - name
  834. - type
  835. type: object
  836. url:
  837. default: kubernetes.default
  838. description: configures the Kubernetes server Address.
  839. type: string
  840. type: object
  841. required:
  842. - auth
  843. type: object
  844. oracle:
  845. description: Oracle configures this store to sync secrets using
  846. Oracle Vault provider
  847. properties:
  848. auth:
  849. description: |-
  850. Auth configures how secret-manager authenticates with the Oracle Vault.
  851. If empty, instance principal is used. Optionally, the authenticating principal type
  852. and/or user data may be supplied for the use of workload identity and user principal.
  853. properties:
  854. secretRef:
  855. description: SecretRef to pass through sensitive information.
  856. properties:
  857. fingerprint:
  858. description: Fingerprint is the fingerprint of the
  859. API private key.
  860. properties:
  861. key:
  862. description: |-
  863. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  864. defaulted, in others it may be required.
  865. type: string
  866. name:
  867. description: The name of the Secret resource being
  868. referred to.
  869. type: string
  870. namespace:
  871. description: |-
  872. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  873. to the namespace of the referent.
  874. type: string
  875. type: object
  876. privatekey:
  877. description: PrivateKey is the user's API Signing
  878. Key in PEM format, used for authentication.
  879. properties:
  880. key:
  881. description: |-
  882. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  883. defaulted, in others it may be required.
  884. type: string
  885. name:
  886. description: The name of the Secret resource being
  887. referred to.
  888. type: string
  889. namespace:
  890. description: |-
  891. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  892. to the namespace of the referent.
  893. type: string
  894. type: object
  895. required:
  896. - fingerprint
  897. - privatekey
  898. type: object
  899. tenancy:
  900. description: Tenancy is the tenancy OCID where user is
  901. located.
  902. type: string
  903. user:
  904. description: User is an access OCID specific to the account.
  905. type: string
  906. required:
  907. - secretRef
  908. - tenancy
  909. - user
  910. type: object
  911. compartment:
  912. description: |-
  913. Compartment is the vault compartment OCID.
  914. Required for PushSecret
  915. type: string
  916. encryptionKey:
  917. description: |-
  918. EncryptionKey is the OCID of the encryption key within the vault.
  919. Required for PushSecret
  920. type: string
  921. principalType:
  922. description: |-
  923. The type of principal to use for authentication. If left blank, the Auth struct will
  924. determine the principal type. This optional field must be specified if using
  925. workload identity.
  926. enum:
  927. - ""
  928. - UserPrincipal
  929. - InstancePrincipal
  930. - Workload
  931. type: string
  932. region:
  933. description: Region is the region where vault is located.
  934. type: string
  935. serviceAccountRef:
  936. description: |-
  937. ServiceAccountRef specified the service account
  938. that should be used when authenticating with WorkloadIdentity.
  939. properties:
  940. audiences:
  941. description: |-
  942. Audience specifies the `aud` claim for the service account token
  943. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  944. then this audiences will be appended to the list
  945. items:
  946. type: string
  947. type: array
  948. name:
  949. description: The name of the ServiceAccount resource being
  950. referred to.
  951. type: string
  952. namespace:
  953. description: |-
  954. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  955. to the namespace of the referent.
  956. type: string
  957. required:
  958. - name
  959. type: object
  960. vault:
  961. description: Vault is the vault's OCID of the specific vault
  962. where secret is located.
  963. type: string
  964. required:
  965. - region
  966. - vault
  967. type: object
  968. vault:
  969. description: Vault configures this store to sync secrets using
  970. Hashi provider
  971. properties:
  972. auth:
  973. description: Auth configures how secret-manager authenticates
  974. with the Vault server.
  975. properties:
  976. appRole:
  977. description: |-
  978. AppRole authenticates with Vault using the App Role auth mechanism,
  979. with the role and secret stored in a Kubernetes Secret resource.
  980. properties:
  981. path:
  982. default: approle
  983. description: |-
  984. Path where the App Role authentication backend is mounted
  985. in Vault, e.g: "approle"
  986. type: string
  987. roleId:
  988. description: |-
  989. RoleID configured in the App Role authentication backend when setting
  990. up the authentication backend in Vault.
  991. type: string
  992. secretRef:
  993. description: |-
  994. Reference to a key in a Secret that contains the App Role secret used
  995. to authenticate with Vault.
  996. The `key` field must be specified and denotes which entry within the Secret
  997. resource is used as the app role secret.
  998. properties:
  999. key:
  1000. description: |-
  1001. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  1002. defaulted, in others it may be required.
  1003. type: string
  1004. name:
  1005. description: The name of the Secret resource being
  1006. referred to.
  1007. type: string
  1008. namespace:
  1009. description: |-
  1010. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  1011. to the namespace of the referent.
  1012. type: string
  1013. type: object
  1014. required:
  1015. - path
  1016. - roleId
  1017. - secretRef
  1018. type: object
  1019. cert:
  1020. description: |-
  1021. Cert authenticates with TLS Certificates by passing client certificate, private key and ca certificate
  1022. Cert authentication method
  1023. properties:
  1024. clientCert:
  1025. description: |-
  1026. ClientCert is a certificate to authenticate using the Cert Vault
  1027. authentication method
  1028. properties:
  1029. key:
  1030. description: |-
  1031. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  1032. defaulted, in others it may be required.
  1033. type: string
  1034. name:
  1035. description: The name of the Secret resource being
  1036. referred to.
  1037. type: string
  1038. namespace:
  1039. description: |-
  1040. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  1041. to the namespace of the referent.
  1042. type: string
  1043. type: object
  1044. secretRef:
  1045. description: |-
  1046. SecretRef to a key in a Secret resource containing client private key to
  1047. authenticate with Vault using the Cert authentication method
  1048. properties:
  1049. key:
  1050. description: |-
  1051. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  1052. defaulted, in others it may be required.
  1053. type: string
  1054. name:
  1055. description: The name of the Secret resource being
  1056. referred to.
  1057. type: string
  1058. namespace:
  1059. description: |-
  1060. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  1061. to the namespace of the referent.
  1062. type: string
  1063. type: object
  1064. type: object
  1065. jwt:
  1066. description: |-
  1067. Jwt authenticates with Vault by passing role and JWT token using the
  1068. JWT/OIDC authentication method
  1069. properties:
  1070. kubernetesServiceAccountToken:
  1071. description: |-
  1072. Optional ServiceAccountToken specifies the Kubernetes service account for which to request
  1073. a token for with the `TokenRequest` API.
  1074. properties:
  1075. audiences:
  1076. description: |-
  1077. Optional audiences field that will be used to request a temporary Kubernetes service
  1078. account token for the service account referenced by `serviceAccountRef`.
  1079. Defaults to a single audience `vault` it not specified.
  1080. items:
  1081. type: string
  1082. type: array
  1083. expirationSeconds:
  1084. description: |-
  1085. Optional expiration time in seconds that will be used to request a temporary
  1086. Kubernetes service account token for the service account referenced by
  1087. `serviceAccountRef`.
  1088. Defaults to 10 minutes.
  1089. format: int64
  1090. type: integer
  1091. serviceAccountRef:
  1092. description: Service account field containing
  1093. the name of a kubernetes ServiceAccount.
  1094. properties:
  1095. audiences:
  1096. description: |-
  1097. Audience specifies the `aud` claim for the service account token
  1098. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  1099. then this audiences will be appended to the list
  1100. items:
  1101. type: string
  1102. type: array
  1103. name:
  1104. description: The name of the ServiceAccount
  1105. resource being referred to.
  1106. type: string
  1107. namespace:
  1108. description: |-
  1109. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  1110. to the namespace of the referent.
  1111. type: string
  1112. required:
  1113. - name
  1114. type: object
  1115. required:
  1116. - serviceAccountRef
  1117. type: object
  1118. path:
  1119. default: jwt
  1120. description: |-
  1121. Path where the JWT authentication backend is mounted
  1122. in Vault, e.g: "jwt"
  1123. type: string
  1124. role:
  1125. description: |-
  1126. Role is a JWT role to authenticate using the JWT/OIDC Vault
  1127. authentication method
  1128. type: string
  1129. secretRef:
  1130. description: |-
  1131. Optional SecretRef that refers to a key in a Secret resource containing JWT token to
  1132. authenticate with Vault using the JWT/OIDC authentication method.
  1133. properties:
  1134. key:
  1135. description: |-
  1136. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  1137. defaulted, in others it may be required.
  1138. type: string
  1139. name:
  1140. description: The name of the Secret resource being
  1141. referred to.
  1142. type: string
  1143. namespace:
  1144. description: |-
  1145. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  1146. to the namespace of the referent.
  1147. type: string
  1148. type: object
  1149. required:
  1150. - path
  1151. type: object
  1152. kubernetes:
  1153. description: |-
  1154. Kubernetes authenticates with Vault by passing the ServiceAccount
  1155. token stored in the named Secret resource to the Vault server.
  1156. properties:
  1157. mountPath:
  1158. default: kubernetes
  1159. description: |-
  1160. Path where the Kubernetes authentication backend is mounted in Vault, e.g:
  1161. "kubernetes"
  1162. type: string
  1163. role:
  1164. description: |-
  1165. A required field containing the Vault Role to assume. A Role binds a
  1166. Kubernetes ServiceAccount with a set of Vault policies.
  1167. type: string
  1168. secretRef:
  1169. description: |-
  1170. Optional secret field containing a Kubernetes ServiceAccount JWT used
  1171. for authenticating with Vault. If a name is specified without a key,
  1172. `token` is the default. If one is not specified, the one bound to
  1173. the controller will be used.
  1174. properties:
  1175. key:
  1176. description: |-
  1177. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  1178. defaulted, in others it may be required.
  1179. type: string
  1180. name:
  1181. description: The name of the Secret resource being
  1182. referred to.
  1183. type: string
  1184. namespace:
  1185. description: |-
  1186. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  1187. to the namespace of the referent.
  1188. type: string
  1189. type: object
  1190. serviceAccountRef:
  1191. description: |-
  1192. Optional service account field containing the name of a kubernetes ServiceAccount.
  1193. If the service account is specified, the service account secret token JWT will be used
  1194. for authenticating with Vault. If the service account selector is not supplied,
  1195. the secretRef will be used instead.
  1196. properties:
  1197. audiences:
  1198. description: |-
  1199. Audience specifies the `aud` claim for the service account token
  1200. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  1201. then this audiences will be appended to the list
  1202. items:
  1203. type: string
  1204. type: array
  1205. name:
  1206. description: The name of the ServiceAccount resource
  1207. being referred to.
  1208. type: string
  1209. namespace:
  1210. description: |-
  1211. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  1212. to the namespace of the referent.
  1213. type: string
  1214. required:
  1215. - name
  1216. type: object
  1217. required:
  1218. - mountPath
  1219. - role
  1220. type: object
  1221. ldap:
  1222. description: |-
  1223. Ldap authenticates with Vault by passing username/password pair using
  1224. the LDAP authentication method
  1225. properties:
  1226. path:
  1227. default: ldap
  1228. description: |-
  1229. Path where the LDAP authentication backend is mounted
  1230. in Vault, e.g: "ldap"
  1231. type: string
  1232. secretRef:
  1233. description: |-
  1234. SecretRef to a key in a Secret resource containing password for the LDAP
  1235. user used to authenticate with Vault using the LDAP authentication
  1236. method
  1237. properties:
  1238. key:
  1239. description: |-
  1240. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  1241. defaulted, in others it may be required.
  1242. type: string
  1243. name:
  1244. description: The name of the Secret resource being
  1245. referred to.
  1246. type: string
  1247. namespace:
  1248. description: |-
  1249. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  1250. to the namespace of the referent.
  1251. type: string
  1252. type: object
  1253. username:
  1254. description: |-
  1255. Username is a LDAP user name used to authenticate using the LDAP Vault
  1256. authentication method
  1257. type: string
  1258. required:
  1259. - path
  1260. - username
  1261. type: object
  1262. tokenSecretRef:
  1263. description: TokenSecretRef authenticates with Vault by
  1264. presenting a token.
  1265. properties:
  1266. key:
  1267. description: |-
  1268. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  1269. defaulted, in others it may be required.
  1270. type: string
  1271. name:
  1272. description: The name of the Secret resource being
  1273. referred to.
  1274. type: string
  1275. namespace:
  1276. description: |-
  1277. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  1278. to the namespace of the referent.
  1279. type: string
  1280. type: object
  1281. type: object
  1282. caBundle:
  1283. description: |-
  1284. PEM encoded CA bundle used to validate Vault server certificate. Only used
  1285. if the Server URL is using HTTPS protocol. This parameter is ignored for
  1286. plain HTTP protocol connection. If not set the system root certificates
  1287. are used to validate the TLS connection.
  1288. format: byte
  1289. type: string
  1290. caProvider:
  1291. description: The provider for the CA bundle to use to validate
  1292. Vault server certificate.
  1293. properties:
  1294. key:
  1295. description: The key the value inside of the provider
  1296. type to use, only used with "Secret" type
  1297. type: string
  1298. name:
  1299. description: The name of the object located at the provider
  1300. type.
  1301. type: string
  1302. namespace:
  1303. description: The namespace the Provider type is in.
  1304. type: string
  1305. type:
  1306. description: The type of provider to use such as "Secret",
  1307. or "ConfigMap".
  1308. enum:
  1309. - Secret
  1310. - ConfigMap
  1311. type: string
  1312. required:
  1313. - name
  1314. - type
  1315. type: object
  1316. forwardInconsistent:
  1317. description: |-
  1318. ForwardInconsistent tells Vault to forward read-after-write requests to the Vault
  1319. leader instead of simply retrying within a loop. This can increase performance if
  1320. the option is enabled serverside.
  1321. https://www.vaultproject.io/docs/configuration/replication#allow_forwarding_via_header
  1322. type: boolean
  1323. namespace:
  1324. description: |-
  1325. Name of the vault namespace. Namespaces is a set of features within Vault Enterprise that allows
  1326. Vault environments to support Secure Multi-tenancy. e.g: "ns1".
  1327. More about namespaces can be found here https://www.vaultproject.io/docs/enterprise/namespaces
  1328. type: string
  1329. path:
  1330. description: |-
  1331. Path is the mount path of the Vault KV backend endpoint, e.g:
  1332. "secret". The v2 KV secret engine version specific "/data" path suffix
  1333. for fetching secrets from Vault is optional and will be appended
  1334. if not present in specified path.
  1335. type: string
  1336. readYourWrites:
  1337. description: |-
  1338. ReadYourWrites ensures isolated read-after-write semantics by
  1339. providing discovered cluster replication states in each request.
  1340. More information about eventual consistency in Vault can be found here
  1341. https://www.vaultproject.io/docs/enterprise/consistency
  1342. type: boolean
  1343. server:
  1344. description: 'Server is the connection address for the Vault
  1345. server, e.g: "https://vault.example.com:8200".'
  1346. type: string
  1347. version:
  1348. default: v2
  1349. description: |-
  1350. Version is the Vault KV secret engine version. This can be either "v1" or
  1351. "v2". Version defaults to "v2".
  1352. enum:
  1353. - v1
  1354. - v2
  1355. type: string
  1356. required:
  1357. - auth
  1358. - server
  1359. type: object
  1360. webhook:
  1361. description: Webhook configures this store to sync secrets using
  1362. a generic templated webhook
  1363. properties:
  1364. body:
  1365. description: Body
  1366. type: string
  1367. caBundle:
  1368. description: |-
  1369. PEM encoded CA bundle used to validate webhook server certificate. Only used
  1370. if the Server URL is using HTTPS protocol. This parameter is ignored for
  1371. plain HTTP protocol connection. If not set the system root certificates
  1372. are used to validate the TLS connection.
  1373. format: byte
  1374. type: string
  1375. caProvider:
  1376. description: The provider for the CA bundle to use to validate
  1377. webhook server certificate.
  1378. properties:
  1379. key:
  1380. description: The key the value inside of the provider
  1381. type to use, only used with "Secret" type
  1382. type: string
  1383. name:
  1384. description: The name of the object located at the provider
  1385. type.
  1386. type: string
  1387. namespace:
  1388. description: The namespace the Provider type is in.
  1389. type: string
  1390. type:
  1391. description: The type of provider to use such as "Secret",
  1392. or "ConfigMap".
  1393. enum:
  1394. - Secret
  1395. - ConfigMap
  1396. type: string
  1397. required:
  1398. - name
  1399. - type
  1400. type: object
  1401. headers:
  1402. additionalProperties:
  1403. type: string
  1404. description: Headers
  1405. type: object
  1406. method:
  1407. description: Webhook Method
  1408. type: string
  1409. result:
  1410. description: Result formatting
  1411. properties:
  1412. jsonPath:
  1413. description: Json path of return value
  1414. type: string
  1415. type: object
  1416. secrets:
  1417. description: |-
  1418. Secrets to fill in templates
  1419. These secrets will be passed to the templating function as key value pairs under the given name
  1420. items:
  1421. properties:
  1422. name:
  1423. description: Name of this secret in templates
  1424. type: string
  1425. secretRef:
  1426. description: Secret ref to fill in credentials
  1427. properties:
  1428. key:
  1429. description: |-
  1430. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  1431. defaulted, in others it may be required.
  1432. type: string
  1433. name:
  1434. description: The name of the Secret resource being
  1435. referred to.
  1436. type: string
  1437. namespace:
  1438. description: |-
  1439. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  1440. to the namespace of the referent.
  1441. type: string
  1442. type: object
  1443. required:
  1444. - name
  1445. - secretRef
  1446. type: object
  1447. type: array
  1448. timeout:
  1449. description: Timeout
  1450. type: string
  1451. url:
  1452. description: Webhook url to call
  1453. type: string
  1454. required:
  1455. - result
  1456. - url
  1457. type: object
  1458. yandexlockbox:
  1459. description: YandexLockbox configures this store to sync secrets
  1460. using Yandex Lockbox provider
  1461. properties:
  1462. apiEndpoint:
  1463. description: Yandex.Cloud API endpoint (e.g. 'api.cloud.yandex.net:443')
  1464. type: string
  1465. auth:
  1466. description: Auth defines the information necessary to authenticate
  1467. against Yandex Lockbox
  1468. properties:
  1469. authorizedKeySecretRef:
  1470. description: The authorized key used for authentication
  1471. properties:
  1472. key:
  1473. description: |-
  1474. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  1475. defaulted, in others it may be required.
  1476. type: string
  1477. name:
  1478. description: The name of the Secret resource being
  1479. referred to.
  1480. type: string
  1481. namespace:
  1482. description: |-
  1483. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  1484. to the namespace of the referent.
  1485. type: string
  1486. type: object
  1487. type: object
  1488. caProvider:
  1489. description: The provider for the CA bundle to use to validate
  1490. Yandex.Cloud server certificate.
  1491. properties:
  1492. certSecretRef:
  1493. description: |-
  1494. A reference to a specific 'key' within a Secret resource,
  1495. In some instances, `key` is a required field.
  1496. properties:
  1497. key:
  1498. description: |-
  1499. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  1500. defaulted, in others it may be required.
  1501. type: string
  1502. name:
  1503. description: The name of the Secret resource being
  1504. referred to.
  1505. type: string
  1506. namespace:
  1507. description: |-
  1508. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  1509. to the namespace of the referent.
  1510. type: string
  1511. type: object
  1512. type: object
  1513. required:
  1514. - auth
  1515. type: object
  1516. type: object
  1517. retrySettings:
  1518. description: Used to configure http retries if failed
  1519. properties:
  1520. maxRetries:
  1521. format: int32
  1522. type: integer
  1523. retryInterval:
  1524. type: string
  1525. type: object
  1526. required:
  1527. - provider
  1528. type: object
  1529. status:
  1530. description: SecretStoreStatus defines the observed state of the SecretStore.
  1531. properties:
  1532. conditions:
  1533. items:
  1534. properties:
  1535. lastTransitionTime:
  1536. format: date-time
  1537. type: string
  1538. message:
  1539. type: string
  1540. reason:
  1541. type: string
  1542. status:
  1543. type: string
  1544. type:
  1545. type: string
  1546. required:
  1547. - status
  1548. - type
  1549. type: object
  1550. type: array
  1551. type: object
  1552. type: object
  1553. served: true
  1554. storage: false
  1555. subresources:
  1556. status: {}
  1557. - additionalPrinterColumns:
  1558. - jsonPath: .metadata.creationTimestamp
  1559. name: AGE
  1560. type: date
  1561. - jsonPath: .status.conditions[?(@.type=="Ready")].reason
  1562. name: Status
  1563. type: string
  1564. - jsonPath: .status.capabilities
  1565. name: Capabilities
  1566. type: string
  1567. - jsonPath: .status.conditions[?(@.type=="Ready")].status
  1568. name: Ready
  1569. type: string
  1570. name: v1beta1
  1571. schema:
  1572. openAPIV3Schema:
  1573. description: ClusterSecretStore represents a secure external location for
  1574. storing secrets, which can be referenced as part of `storeRef` fields.
  1575. properties:
  1576. apiVersion:
  1577. description: |-
  1578. APIVersion defines the versioned schema of this representation of an object.
  1579. Servers should convert recognized schemas to the latest internal value, and
  1580. may reject unrecognized values.
  1581. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  1582. type: string
  1583. kind:
  1584. description: |-
  1585. Kind is a string value representing the REST resource this object represents.
  1586. Servers may infer this from the endpoint the client submits requests to.
  1587. Cannot be updated.
  1588. In CamelCase.
  1589. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  1590. type: string
  1591. metadata:
  1592. type: object
  1593. spec:
  1594. description: SecretStoreSpec defines the desired state of SecretStore.
  1595. properties:
  1596. conditions:
  1597. description: Used to constraint a ClusterSecretStore to specific namespaces.
  1598. Relevant only to ClusterSecretStore
  1599. items:
  1600. description: |-
  1601. ClusterSecretStoreCondition describes a condition by which to choose namespaces to process ExternalSecrets in
  1602. for a ClusterSecretStore instance.
  1603. properties:
  1604. namespaceSelector:
  1605. description: Choose namespace using a labelSelector
  1606. properties:
  1607. matchExpressions:
  1608. description: matchExpressions is a list of label selector
  1609. requirements. The requirements are ANDed.
  1610. items:
  1611. description: |-
  1612. A label selector requirement is a selector that contains values, a key, and an operator that
  1613. relates the key and values.
  1614. properties:
  1615. key:
  1616. description: key is the label key that the selector
  1617. applies to.
  1618. type: string
  1619. operator:
  1620. description: |-
  1621. operator represents a key's relationship to a set of values.
  1622. Valid operators are In, NotIn, Exists and DoesNotExist.
  1623. type: string
  1624. values:
  1625. description: |-
  1626. values is an array of string values. If the operator is In or NotIn,
  1627. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  1628. the values array must be empty. This array is replaced during a strategic
  1629. merge patch.
  1630. items:
  1631. type: string
  1632. type: array
  1633. required:
  1634. - key
  1635. - operator
  1636. type: object
  1637. type: array
  1638. matchLabels:
  1639. additionalProperties:
  1640. type: string
  1641. description: |-
  1642. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  1643. map is equivalent to an element of matchExpressions, whose key field is "key", the
  1644. operator is "In", and the values array contains only "value". The requirements are ANDed.
  1645. type: object
  1646. type: object
  1647. x-kubernetes-map-type: atomic
  1648. namespaces:
  1649. description: Choose namespaces by name
  1650. items:
  1651. type: string
  1652. type: array
  1653. type: object
  1654. type: array
  1655. controller:
  1656. description: |-
  1657. Used to select the correct ESO controller (think: ingress.ingressClassName)
  1658. The ESO controller is instantiated with a specific controller name and filters ES based on this property
  1659. type: string
  1660. provider:
  1661. description: Used to configure the provider. Only one provider may
  1662. be set
  1663. maxProperties: 1
  1664. minProperties: 1
  1665. properties:
  1666. akeyless:
  1667. description: Akeyless configures this store to sync secrets using
  1668. Akeyless Vault provider
  1669. properties:
  1670. akeylessGWApiURL:
  1671. description: Akeyless GW API Url from which the secrets to
  1672. be fetched from.
  1673. type: string
  1674. authSecretRef:
  1675. description: Auth configures how the operator authenticates
  1676. with Akeyless.
  1677. properties:
  1678. kubernetesAuth:
  1679. description: |-
  1680. Kubernetes authenticates with Akeyless by passing the ServiceAccount
  1681. token stored in the named Secret resource.
  1682. properties:
  1683. accessID:
  1684. description: the Akeyless Kubernetes auth-method access-id
  1685. type: string
  1686. k8sConfName:
  1687. description: Kubernetes-auth configuration name in
  1688. Akeyless-Gateway
  1689. type: string
  1690. secretRef:
  1691. description: |-
  1692. Optional secret field containing a Kubernetes ServiceAccount JWT used
  1693. for authenticating with Akeyless. If a name is specified without a key,
  1694. `token` is the default. If one is not specified, the one bound to
  1695. the controller will be used.
  1696. properties:
  1697. key:
  1698. description: |-
  1699. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  1700. defaulted, in others it may be required.
  1701. type: string
  1702. name:
  1703. description: The name of the Secret resource being
  1704. referred to.
  1705. type: string
  1706. namespace:
  1707. description: |-
  1708. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  1709. to the namespace of the referent.
  1710. type: string
  1711. type: object
  1712. serviceAccountRef:
  1713. description: |-
  1714. Optional service account field containing the name of a kubernetes ServiceAccount.
  1715. If the service account is specified, the service account secret token JWT will be used
  1716. for authenticating with Akeyless. If the service account selector is not supplied,
  1717. the secretRef will be used instead.
  1718. properties:
  1719. audiences:
  1720. description: |-
  1721. Audience specifies the `aud` claim for the service account token
  1722. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  1723. then this audiences will be appended to the list
  1724. items:
  1725. type: string
  1726. type: array
  1727. name:
  1728. description: The name of the ServiceAccount resource
  1729. being referred to.
  1730. type: string
  1731. namespace:
  1732. description: |-
  1733. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  1734. to the namespace of the referent.
  1735. type: string
  1736. required:
  1737. - name
  1738. type: object
  1739. required:
  1740. - accessID
  1741. - k8sConfName
  1742. type: object
  1743. secretRef:
  1744. description: |-
  1745. Reference to a Secret that contains the details
  1746. to authenticate with Akeyless.
  1747. properties:
  1748. accessID:
  1749. description: The SecretAccessID is used for authentication
  1750. properties:
  1751. key:
  1752. description: |-
  1753. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  1754. defaulted, in others it may be required.
  1755. type: string
  1756. name:
  1757. description: The name of the Secret resource being
  1758. referred to.
  1759. type: string
  1760. namespace:
  1761. description: |-
  1762. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  1763. to the namespace of the referent.
  1764. type: string
  1765. type: object
  1766. accessType:
  1767. description: |-
  1768. A reference to a specific 'key' within a Secret resource,
  1769. In some instances, `key` is a required field.
  1770. properties:
  1771. key:
  1772. description: |-
  1773. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  1774. defaulted, in others it may be required.
  1775. type: string
  1776. name:
  1777. description: The name of the Secret resource being
  1778. referred to.
  1779. type: string
  1780. namespace:
  1781. description: |-
  1782. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  1783. to the namespace of the referent.
  1784. type: string
  1785. type: object
  1786. accessTypeParam:
  1787. description: |-
  1788. A reference to a specific 'key' within a Secret resource,
  1789. In some instances, `key` is a required field.
  1790. properties:
  1791. key:
  1792. description: |-
  1793. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  1794. defaulted, in others it may be required.
  1795. type: string
  1796. name:
  1797. description: The name of the Secret resource being
  1798. referred to.
  1799. type: string
  1800. namespace:
  1801. description: |-
  1802. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  1803. to the namespace of the referent.
  1804. type: string
  1805. type: object
  1806. type: object
  1807. type: object
  1808. caBundle:
  1809. description: |-
  1810. PEM/base64 encoded CA bundle used to validate Akeyless Gateway certificate. Only used
  1811. if the AkeylessGWApiURL URL is using HTTPS protocol. If not set the system root certificates
  1812. are used to validate the TLS connection.
  1813. format: byte
  1814. type: string
  1815. caProvider:
  1816. description: The provider for the CA bundle to use to validate
  1817. Akeyless Gateway certificate.
  1818. properties:
  1819. key:
  1820. description: The key where the CA certificate can be found
  1821. in the Secret or ConfigMap.
  1822. type: string
  1823. name:
  1824. description: The name of the object located at the provider
  1825. type.
  1826. type: string
  1827. namespace:
  1828. description: |-
  1829. The namespace the Provider type is in.
  1830. Can only be defined when used in a ClusterSecretStore.
  1831. type: string
  1832. type:
  1833. description: The type of provider to use such as "Secret",
  1834. or "ConfigMap".
  1835. enum:
  1836. - Secret
  1837. - ConfigMap
  1838. type: string
  1839. required:
  1840. - name
  1841. - type
  1842. type: object
  1843. required:
  1844. - akeylessGWApiURL
  1845. - authSecretRef
  1846. type: object
  1847. alibaba:
  1848. description: Alibaba configures this store to sync secrets using
  1849. Alibaba Cloud provider
  1850. properties:
  1851. auth:
  1852. description: AlibabaAuth contains a secretRef for credentials.
  1853. properties:
  1854. rrsa:
  1855. description: Authenticate against Alibaba using RRSA.
  1856. properties:
  1857. oidcProviderArn:
  1858. type: string
  1859. oidcTokenFilePath:
  1860. type: string
  1861. roleArn:
  1862. type: string
  1863. sessionName:
  1864. type: string
  1865. required:
  1866. - oidcProviderArn
  1867. - oidcTokenFilePath
  1868. - roleArn
  1869. - sessionName
  1870. type: object
  1871. secretRef:
  1872. description: AlibabaAuthSecretRef holds secret references
  1873. for Alibaba credentials.
  1874. properties:
  1875. accessKeyIDSecretRef:
  1876. description: The AccessKeyID is used for authentication
  1877. properties:
  1878. key:
  1879. description: |-
  1880. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  1881. defaulted, in others it may be required.
  1882. type: string
  1883. name:
  1884. description: The name of the Secret resource being
  1885. referred to.
  1886. type: string
  1887. namespace:
  1888. description: |-
  1889. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  1890. to the namespace of the referent.
  1891. type: string
  1892. type: object
  1893. accessKeySecretSecretRef:
  1894. description: The AccessKeySecret is used for authentication
  1895. properties:
  1896. key:
  1897. description: |-
  1898. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  1899. defaulted, in others it may be required.
  1900. type: string
  1901. name:
  1902. description: The name of the Secret resource being
  1903. referred to.
  1904. type: string
  1905. namespace:
  1906. description: |-
  1907. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  1908. to the namespace of the referent.
  1909. type: string
  1910. type: object
  1911. required:
  1912. - accessKeyIDSecretRef
  1913. - accessKeySecretSecretRef
  1914. type: object
  1915. type: object
  1916. regionID:
  1917. description: Alibaba Region to be used for the provider
  1918. type: string
  1919. required:
  1920. - auth
  1921. - regionID
  1922. type: object
  1923. aws:
  1924. description: AWS configures this store to sync secrets using AWS
  1925. Secret Manager provider
  1926. properties:
  1927. additionalRoles:
  1928. description: AdditionalRoles is a chained list of Role ARNs
  1929. which the provider will sequentially assume before assuming
  1930. the Role
  1931. items:
  1932. type: string
  1933. type: array
  1934. auth:
  1935. description: |-
  1936. Auth defines the information necessary to authenticate against AWS
  1937. if not set aws sdk will infer credentials from your environment
  1938. see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials
  1939. properties:
  1940. jwt:
  1941. description: Authenticate against AWS using service account
  1942. tokens.
  1943. properties:
  1944. serviceAccountRef:
  1945. description: A reference to a ServiceAccount resource.
  1946. properties:
  1947. audiences:
  1948. description: |-
  1949. Audience specifies the `aud` claim for the service account token
  1950. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  1951. then this audiences will be appended to the list
  1952. items:
  1953. type: string
  1954. type: array
  1955. name:
  1956. description: The name of the ServiceAccount resource
  1957. being referred to.
  1958. type: string
  1959. namespace:
  1960. description: |-
  1961. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  1962. to the namespace of the referent.
  1963. type: string
  1964. required:
  1965. - name
  1966. type: object
  1967. type: object
  1968. secretRef:
  1969. description: |-
  1970. AWSAuthSecretRef holds secret references for AWS credentials
  1971. both AccessKeyID and SecretAccessKey must be defined in order to properly authenticate.
  1972. properties:
  1973. accessKeyIDSecretRef:
  1974. description: The AccessKeyID is used for authentication
  1975. properties:
  1976. key:
  1977. description: |-
  1978. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  1979. defaulted, in others it may be required.
  1980. type: string
  1981. name:
  1982. description: The name of the Secret resource being
  1983. referred to.
  1984. type: string
  1985. namespace:
  1986. description: |-
  1987. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  1988. to the namespace of the referent.
  1989. type: string
  1990. type: object
  1991. secretAccessKeySecretRef:
  1992. description: The SecretAccessKey is used for authentication
  1993. properties:
  1994. key:
  1995. description: |-
  1996. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  1997. defaulted, in others it may be required.
  1998. type: string
  1999. name:
  2000. description: The name of the Secret resource being
  2001. referred to.
  2002. type: string
  2003. namespace:
  2004. description: |-
  2005. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2006. to the namespace of the referent.
  2007. type: string
  2008. type: object
  2009. sessionTokenSecretRef:
  2010. description: |-
  2011. The SessionToken used for authentication
  2012. This must be defined if AccessKeyID and SecretAccessKey are temporary credentials
  2013. see: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html
  2014. properties:
  2015. key:
  2016. description: |-
  2017. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2018. defaulted, in others it may be required.
  2019. type: string
  2020. name:
  2021. description: The name of the Secret resource being
  2022. referred to.
  2023. type: string
  2024. namespace:
  2025. description: |-
  2026. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2027. to the namespace of the referent.
  2028. type: string
  2029. type: object
  2030. type: object
  2031. type: object
  2032. externalID:
  2033. description: AWS External ID set on assumed IAM roles
  2034. type: string
  2035. region:
  2036. description: AWS Region to be used for the provider
  2037. type: string
  2038. role:
  2039. description: Role is a Role ARN which the provider will assume
  2040. type: string
  2041. secretsManager:
  2042. description: SecretsManager defines how the provider behaves
  2043. when interacting with AWS SecretsManager
  2044. properties:
  2045. forceDeleteWithoutRecovery:
  2046. description: |-
  2047. Specifies whether to delete the secret without any recovery window. You
  2048. can't use both this parameter and RecoveryWindowInDays in the same call.
  2049. If you don't use either, then by default Secrets Manager uses a 30 day
  2050. recovery window.
  2051. see: https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DeleteSecret.html#SecretsManager-DeleteSecret-request-ForceDeleteWithoutRecovery
  2052. type: boolean
  2053. recoveryWindowInDays:
  2054. description: |-
  2055. The number of days from 7 to 30 that Secrets Manager waits before
  2056. permanently deleting the secret. You can't use both this parameter and
  2057. ForceDeleteWithoutRecovery in the same call. If you don't use either,
  2058. then by default Secrets Manager uses a 30 day recovery window.
  2059. see: https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DeleteSecret.html#SecretsManager-DeleteSecret-request-RecoveryWindowInDays
  2060. format: int64
  2061. type: integer
  2062. type: object
  2063. service:
  2064. description: Service defines which service should be used
  2065. to fetch the secrets
  2066. enum:
  2067. - SecretsManager
  2068. - ParameterStore
  2069. type: string
  2070. sessionTags:
  2071. description: AWS STS assume role session tags
  2072. items:
  2073. properties:
  2074. key:
  2075. type: string
  2076. value:
  2077. type: string
  2078. required:
  2079. - key
  2080. - value
  2081. type: object
  2082. type: array
  2083. transitiveTagKeys:
  2084. description: AWS STS assume role transitive session tags.
  2085. Required when multiple rules are used with the provider
  2086. items:
  2087. type: string
  2088. type: array
  2089. required:
  2090. - region
  2091. - service
  2092. type: object
  2093. azurekv:
  2094. description: AzureKV configures this store to sync secrets using
  2095. Azure Key Vault provider
  2096. properties:
  2097. authSecretRef:
  2098. description: Auth configures how the operator authenticates
  2099. with Azure. Required for ServicePrincipal auth type.
  2100. properties:
  2101. clientId:
  2102. description: The Azure clientId of the service principle
  2103. used for authentication.
  2104. properties:
  2105. key:
  2106. description: |-
  2107. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2108. defaulted, in others it may be required.
  2109. type: string
  2110. name:
  2111. description: The name of the Secret resource being
  2112. referred to.
  2113. type: string
  2114. namespace:
  2115. description: |-
  2116. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2117. to the namespace of the referent.
  2118. type: string
  2119. type: object
  2120. clientSecret:
  2121. description: The Azure ClientSecret of the service principle
  2122. used for authentication.
  2123. properties:
  2124. key:
  2125. description: |-
  2126. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2127. defaulted, in others it may be required.
  2128. type: string
  2129. name:
  2130. description: The name of the Secret resource being
  2131. referred to.
  2132. type: string
  2133. namespace:
  2134. description: |-
  2135. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2136. to the namespace of the referent.
  2137. type: string
  2138. type: object
  2139. type: object
  2140. authType:
  2141. default: ServicePrincipal
  2142. description: |-
  2143. Auth type defines how to authenticate to the keyvault service.
  2144. Valid values are:
  2145. - "ServicePrincipal" (default): Using a service principal (tenantId, clientId, clientSecret)
  2146. - "ManagedIdentity": Using Managed Identity assigned to the pod (see aad-pod-identity)
  2147. enum:
  2148. - ServicePrincipal
  2149. - ManagedIdentity
  2150. - WorkloadIdentity
  2151. type: string
  2152. environmentType:
  2153. default: PublicCloud
  2154. description: |-
  2155. EnvironmentType specifies the Azure cloud environment endpoints to use for
  2156. connecting and authenticating with Azure. By default it points to the public cloud AAD endpoint.
  2157. The following endpoints are available, also see here: https://github.com/Azure/go-autorest/blob/main/autorest/azure/environments.go#L152
  2158. PublicCloud, USGovernmentCloud, ChinaCloud, GermanCloud
  2159. enum:
  2160. - PublicCloud
  2161. - USGovernmentCloud
  2162. - ChinaCloud
  2163. - GermanCloud
  2164. type: string
  2165. identityId:
  2166. description: If multiple Managed Identity is assigned to the
  2167. pod, you can select the one to be used
  2168. type: string
  2169. serviceAccountRef:
  2170. description: |-
  2171. ServiceAccountRef specified the service account
  2172. that should be used when authenticating with WorkloadIdentity.
  2173. properties:
  2174. audiences:
  2175. description: |-
  2176. Audience specifies the `aud` claim for the service account token
  2177. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  2178. then this audiences will be appended to the list
  2179. items:
  2180. type: string
  2181. type: array
  2182. name:
  2183. description: The name of the ServiceAccount resource being
  2184. referred to.
  2185. type: string
  2186. namespace:
  2187. description: |-
  2188. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2189. to the namespace of the referent.
  2190. type: string
  2191. required:
  2192. - name
  2193. type: object
  2194. tenantId:
  2195. description: TenantID configures the Azure Tenant to send
  2196. requests to. Required for ServicePrincipal auth type.
  2197. type: string
  2198. vaultUrl:
  2199. description: Vault Url from which the secrets to be fetched
  2200. from.
  2201. type: string
  2202. required:
  2203. - vaultUrl
  2204. type: object
  2205. conjur:
  2206. description: Conjur configures this store to sync secrets using
  2207. conjur provider
  2208. properties:
  2209. auth:
  2210. properties:
  2211. apikey:
  2212. properties:
  2213. account:
  2214. type: string
  2215. apiKeyRef:
  2216. description: |-
  2217. A reference to a specific 'key' within a Secret resource,
  2218. In some instances, `key` is a required field.
  2219. properties:
  2220. key:
  2221. description: |-
  2222. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2223. defaulted, in others it may be required.
  2224. type: string
  2225. name:
  2226. description: The name of the Secret resource being
  2227. referred to.
  2228. type: string
  2229. namespace:
  2230. description: |-
  2231. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2232. to the namespace of the referent.
  2233. type: string
  2234. type: object
  2235. userRef:
  2236. description: |-
  2237. A reference to a specific 'key' within a Secret resource,
  2238. In some instances, `key` is a required field.
  2239. properties:
  2240. key:
  2241. description: |-
  2242. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2243. defaulted, in others it may be required.
  2244. type: string
  2245. name:
  2246. description: The name of the Secret resource being
  2247. referred to.
  2248. type: string
  2249. namespace:
  2250. description: |-
  2251. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2252. to the namespace of the referent.
  2253. type: string
  2254. type: object
  2255. required:
  2256. - account
  2257. - apiKeyRef
  2258. - userRef
  2259. type: object
  2260. jwt:
  2261. properties:
  2262. account:
  2263. type: string
  2264. secretRef:
  2265. description: |-
  2266. Optional SecretRef that refers to a key in a Secret resource containing JWT token to
  2267. authenticate with Conjur using the JWT authentication method.
  2268. properties:
  2269. key:
  2270. description: |-
  2271. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2272. defaulted, in others it may be required.
  2273. type: string
  2274. name:
  2275. description: The name of the Secret resource being
  2276. referred to.
  2277. type: string
  2278. namespace:
  2279. description: |-
  2280. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2281. to the namespace of the referent.
  2282. type: string
  2283. type: object
  2284. serviceAccountRef:
  2285. description: |-
  2286. Optional ServiceAccountRef specifies the Kubernetes service account for which to request
  2287. a token for with the `TokenRequest` API.
  2288. properties:
  2289. audiences:
  2290. description: |-
  2291. Audience specifies the `aud` claim for the service account token
  2292. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  2293. then this audiences will be appended to the list
  2294. items:
  2295. type: string
  2296. type: array
  2297. name:
  2298. description: The name of the ServiceAccount resource
  2299. being referred to.
  2300. type: string
  2301. namespace:
  2302. description: |-
  2303. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2304. to the namespace of the referent.
  2305. type: string
  2306. required:
  2307. - name
  2308. type: object
  2309. serviceID:
  2310. description: The conjur authn jwt webservice id
  2311. type: string
  2312. required:
  2313. - account
  2314. - serviceID
  2315. type: object
  2316. type: object
  2317. caBundle:
  2318. type: string
  2319. caProvider:
  2320. description: |-
  2321. Used to provide custom certificate authority (CA) certificates
  2322. for a secret store. The CAProvider points to a Secret or ConfigMap resource
  2323. that contains a PEM-encoded certificate.
  2324. properties:
  2325. key:
  2326. description: The key where the CA certificate can be found
  2327. in the Secret or ConfigMap.
  2328. type: string
  2329. name:
  2330. description: The name of the object located at the provider
  2331. type.
  2332. type: string
  2333. namespace:
  2334. description: |-
  2335. The namespace the Provider type is in.
  2336. Can only be defined when used in a ClusterSecretStore.
  2337. type: string
  2338. type:
  2339. description: The type of provider to use such as "Secret",
  2340. or "ConfigMap".
  2341. enum:
  2342. - Secret
  2343. - ConfigMap
  2344. type: string
  2345. required:
  2346. - name
  2347. - type
  2348. type: object
  2349. url:
  2350. type: string
  2351. required:
  2352. - auth
  2353. - url
  2354. type: object
  2355. delinea:
  2356. description: |-
  2357. Delinea DevOps Secrets Vault
  2358. https://docs.delinea.com/online-help/products/devops-secrets-vault/current
  2359. properties:
  2360. clientId:
  2361. description: ClientID is the non-secret part of the credential.
  2362. properties:
  2363. secretRef:
  2364. description: SecretRef references a key in a secret that
  2365. will be used as value.
  2366. properties:
  2367. key:
  2368. description: |-
  2369. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2370. defaulted, in others it may be required.
  2371. type: string
  2372. name:
  2373. description: The name of the Secret resource being
  2374. referred to.
  2375. type: string
  2376. namespace:
  2377. description: |-
  2378. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2379. to the namespace of the referent.
  2380. type: string
  2381. type: object
  2382. value:
  2383. description: Value can be specified directly to set a
  2384. value without using a secret.
  2385. type: string
  2386. type: object
  2387. clientSecret:
  2388. description: ClientSecret is the secret part of the credential.
  2389. properties:
  2390. secretRef:
  2391. description: SecretRef references a key in a secret that
  2392. will be used as value.
  2393. properties:
  2394. key:
  2395. description: |-
  2396. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2397. defaulted, in others it may be required.
  2398. type: string
  2399. name:
  2400. description: The name of the Secret resource being
  2401. referred to.
  2402. type: string
  2403. namespace:
  2404. description: |-
  2405. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2406. to the namespace of the referent.
  2407. type: string
  2408. type: object
  2409. value:
  2410. description: Value can be specified directly to set a
  2411. value without using a secret.
  2412. type: string
  2413. type: object
  2414. tenant:
  2415. description: Tenant is the chosen hostname / site name.
  2416. type: string
  2417. tld:
  2418. description: |-
  2419. TLD is based on the server location that was chosen during provisioning.
  2420. If unset, defaults to "com".
  2421. type: string
  2422. urlTemplate:
  2423. description: |-
  2424. URLTemplate
  2425. If unset, defaults to "https://%s.secretsvaultcloud.%s/v1/%s%s".
  2426. type: string
  2427. required:
  2428. - clientId
  2429. - clientSecret
  2430. - tenant
  2431. type: object
  2432. doppler:
  2433. description: Doppler configures this store to sync secrets using
  2434. the Doppler provider
  2435. properties:
  2436. auth:
  2437. description: Auth configures how the Operator authenticates
  2438. with the Doppler API
  2439. properties:
  2440. secretRef:
  2441. properties:
  2442. dopplerToken:
  2443. description: |-
  2444. The DopplerToken is used for authentication.
  2445. See https://docs.doppler.com/reference/api#authentication for auth token types.
  2446. The Key attribute defaults to dopplerToken if not specified.
  2447. properties:
  2448. key:
  2449. description: |-
  2450. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2451. defaulted, in others it may be required.
  2452. type: string
  2453. name:
  2454. description: The name of the Secret resource being
  2455. referred to.
  2456. type: string
  2457. namespace:
  2458. description: |-
  2459. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2460. to the namespace of the referent.
  2461. type: string
  2462. type: object
  2463. required:
  2464. - dopplerToken
  2465. type: object
  2466. required:
  2467. - secretRef
  2468. type: object
  2469. config:
  2470. description: Doppler config (required if not using a Service
  2471. Token)
  2472. type: string
  2473. format:
  2474. description: Format enables the downloading of secrets as
  2475. a file (string)
  2476. enum:
  2477. - json
  2478. - dotnet-json
  2479. - env
  2480. - yaml
  2481. - docker
  2482. type: string
  2483. nameTransformer:
  2484. description: Environment variable compatible name transforms
  2485. that change secret names to a different format
  2486. enum:
  2487. - upper-camel
  2488. - camel
  2489. - lower-snake
  2490. - tf-var
  2491. - dotnet-env
  2492. - lower-kebab
  2493. type: string
  2494. project:
  2495. description: Doppler project (required if not using a Service
  2496. Token)
  2497. type: string
  2498. required:
  2499. - auth
  2500. type: object
  2501. fake:
  2502. description: Fake configures a store with static key/value pairs
  2503. properties:
  2504. data:
  2505. items:
  2506. properties:
  2507. key:
  2508. type: string
  2509. value:
  2510. type: string
  2511. valueMap:
  2512. additionalProperties:
  2513. type: string
  2514. description: 'Deprecated: ValueMap is deprecated and
  2515. is intended to be removed in the future, use the `value`
  2516. field instead.'
  2517. type: object
  2518. version:
  2519. type: string
  2520. required:
  2521. - key
  2522. type: object
  2523. type: array
  2524. required:
  2525. - data
  2526. type: object
  2527. gcpsm:
  2528. description: GCPSM configures this store to sync secrets using
  2529. Google Cloud Platform Secret Manager provider
  2530. properties:
  2531. auth:
  2532. description: Auth defines the information necessary to authenticate
  2533. against GCP
  2534. properties:
  2535. secretRef:
  2536. properties:
  2537. secretAccessKeySecretRef:
  2538. description: The SecretAccessKey is used for authentication
  2539. properties:
  2540. key:
  2541. description: |-
  2542. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2543. defaulted, in others it may be required.
  2544. type: string
  2545. name:
  2546. description: The name of the Secret resource being
  2547. referred to.
  2548. type: string
  2549. namespace:
  2550. description: |-
  2551. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2552. to the namespace of the referent.
  2553. type: string
  2554. type: object
  2555. type: object
  2556. workloadIdentity:
  2557. properties:
  2558. clusterLocation:
  2559. type: string
  2560. clusterName:
  2561. type: string
  2562. clusterProjectID:
  2563. type: string
  2564. serviceAccountRef:
  2565. description: A reference to a ServiceAccount resource.
  2566. properties:
  2567. audiences:
  2568. description: |-
  2569. Audience specifies the `aud` claim for the service account token
  2570. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  2571. then this audiences will be appended to the list
  2572. items:
  2573. type: string
  2574. type: array
  2575. name:
  2576. description: The name of the ServiceAccount resource
  2577. being referred to.
  2578. type: string
  2579. namespace:
  2580. description: |-
  2581. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2582. to the namespace of the referent.
  2583. type: string
  2584. required:
  2585. - name
  2586. type: object
  2587. required:
  2588. - clusterLocation
  2589. - clusterName
  2590. - serviceAccountRef
  2591. type: object
  2592. type: object
  2593. projectID:
  2594. description: ProjectID project where secret is located
  2595. type: string
  2596. type: object
  2597. gitlab:
  2598. description: GitLab configures this store to sync secrets using
  2599. GitLab Variables provider
  2600. properties:
  2601. auth:
  2602. description: Auth configures how secret-manager authenticates
  2603. with a GitLab instance.
  2604. properties:
  2605. SecretRef:
  2606. properties:
  2607. accessToken:
  2608. description: AccessToken is used for authentication.
  2609. properties:
  2610. key:
  2611. description: |-
  2612. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2613. defaulted, in others it may be required.
  2614. type: string
  2615. name:
  2616. description: The name of the Secret resource being
  2617. referred to.
  2618. type: string
  2619. namespace:
  2620. description: |-
  2621. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2622. to the namespace of the referent.
  2623. type: string
  2624. type: object
  2625. type: object
  2626. required:
  2627. - SecretRef
  2628. type: object
  2629. environment:
  2630. description: Environment environment_scope of gitlab CI/CD
  2631. variables (Please see https://docs.gitlab.com/ee/ci/environments/#create-a-static-environment
  2632. on how to create environments)
  2633. type: string
  2634. groupIDs:
  2635. description: GroupIDs specify, which gitlab groups to pull
  2636. secrets from. Group secrets are read from left to right
  2637. followed by the project variables.
  2638. items:
  2639. type: string
  2640. type: array
  2641. inheritFromGroups:
  2642. description: InheritFromGroups specifies whether parent groups
  2643. should be discovered and checked for secrets.
  2644. type: boolean
  2645. projectID:
  2646. description: ProjectID specifies a project where secrets are
  2647. located.
  2648. type: string
  2649. url:
  2650. description: URL configures the GitLab instance URL. Defaults
  2651. to https://gitlab.com/.
  2652. type: string
  2653. required:
  2654. - auth
  2655. type: object
  2656. ibm:
  2657. description: IBM configures this store to sync secrets using IBM
  2658. Cloud provider
  2659. properties:
  2660. auth:
  2661. description: Auth configures how secret-manager authenticates
  2662. with the IBM secrets manager.
  2663. maxProperties: 1
  2664. minProperties: 1
  2665. properties:
  2666. containerAuth:
  2667. description: IBM Container-based auth with IAM Trusted
  2668. Profile.
  2669. properties:
  2670. iamEndpoint:
  2671. type: string
  2672. profile:
  2673. description: the IBM Trusted Profile
  2674. type: string
  2675. tokenLocation:
  2676. description: Location the token is mounted on the
  2677. pod
  2678. type: string
  2679. required:
  2680. - profile
  2681. type: object
  2682. secretRef:
  2683. properties:
  2684. secretApiKeySecretRef:
  2685. description: The SecretAccessKey is used for authentication
  2686. properties:
  2687. key:
  2688. description: |-
  2689. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2690. defaulted, in others it may be required.
  2691. type: string
  2692. name:
  2693. description: The name of the Secret resource being
  2694. referred to.
  2695. type: string
  2696. namespace:
  2697. description: |-
  2698. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2699. to the namespace of the referent.
  2700. type: string
  2701. type: object
  2702. type: object
  2703. type: object
  2704. serviceUrl:
  2705. description: ServiceURL is the Endpoint URL that is specific
  2706. to the Secrets Manager service instance
  2707. type: string
  2708. required:
  2709. - auth
  2710. type: object
  2711. keepersecurity:
  2712. description: KeeperSecurity configures this store to sync secrets
  2713. using the KeeperSecurity provider
  2714. properties:
  2715. authRef:
  2716. description: |-
  2717. A reference to a specific 'key' within a Secret resource,
  2718. In some instances, `key` is a required field.
  2719. properties:
  2720. key:
  2721. description: |-
  2722. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2723. defaulted, in others it may be required.
  2724. type: string
  2725. name:
  2726. description: The name of the Secret resource being referred
  2727. to.
  2728. type: string
  2729. namespace:
  2730. description: |-
  2731. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2732. to the namespace of the referent.
  2733. type: string
  2734. type: object
  2735. folderID:
  2736. type: string
  2737. required:
  2738. - authRef
  2739. - folderID
  2740. type: object
  2741. kubernetes:
  2742. description: Kubernetes configures this store to sync secrets
  2743. using a Kubernetes cluster provider
  2744. properties:
  2745. auth:
  2746. description: Auth configures how secret-manager authenticates
  2747. with a Kubernetes instance.
  2748. maxProperties: 1
  2749. minProperties: 1
  2750. properties:
  2751. cert:
  2752. description: has both clientCert and clientKey as secretKeySelector
  2753. properties:
  2754. clientCert:
  2755. description: |-
  2756. A reference to a specific 'key' within a Secret resource,
  2757. In some instances, `key` is a required field.
  2758. properties:
  2759. key:
  2760. description: |-
  2761. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2762. defaulted, in others it may be required.
  2763. type: string
  2764. name:
  2765. description: The name of the Secret resource being
  2766. referred to.
  2767. type: string
  2768. namespace:
  2769. description: |-
  2770. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2771. to the namespace of the referent.
  2772. type: string
  2773. type: object
  2774. clientKey:
  2775. description: |-
  2776. A reference to a specific 'key' within a Secret resource,
  2777. In some instances, `key` is a required field.
  2778. properties:
  2779. key:
  2780. description: |-
  2781. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2782. defaulted, in others it may be required.
  2783. type: string
  2784. name:
  2785. description: The name of the Secret resource being
  2786. referred to.
  2787. type: string
  2788. namespace:
  2789. description: |-
  2790. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2791. to the namespace of the referent.
  2792. type: string
  2793. type: object
  2794. type: object
  2795. serviceAccount:
  2796. description: points to a service account that should be
  2797. used for authentication
  2798. properties:
  2799. audiences:
  2800. description: |-
  2801. Audience specifies the `aud` claim for the service account token
  2802. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  2803. then this audiences will be appended to the list
  2804. items:
  2805. type: string
  2806. type: array
  2807. name:
  2808. description: The name of the ServiceAccount resource
  2809. being referred to.
  2810. type: string
  2811. namespace:
  2812. description: |-
  2813. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2814. to the namespace of the referent.
  2815. type: string
  2816. required:
  2817. - name
  2818. type: object
  2819. token:
  2820. description: use static token to authenticate with
  2821. properties:
  2822. bearerToken:
  2823. description: |-
  2824. A reference to a specific 'key' within a Secret resource,
  2825. In some instances, `key` is a required field.
  2826. properties:
  2827. key:
  2828. description: |-
  2829. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2830. defaulted, in others it may be required.
  2831. type: string
  2832. name:
  2833. description: The name of the Secret resource being
  2834. referred to.
  2835. type: string
  2836. namespace:
  2837. description: |-
  2838. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2839. to the namespace of the referent.
  2840. type: string
  2841. type: object
  2842. type: object
  2843. type: object
  2844. remoteNamespace:
  2845. default: default
  2846. description: Remote namespace to fetch the secrets from
  2847. type: string
  2848. server:
  2849. description: configures the Kubernetes server Address.
  2850. properties:
  2851. caBundle:
  2852. description: CABundle is a base64-encoded CA certificate
  2853. format: byte
  2854. type: string
  2855. caProvider:
  2856. description: 'see: https://external-secrets.io/v0.4.1/spec/#external-secrets.io/v1alpha1.CAProvider'
  2857. properties:
  2858. key:
  2859. description: The key where the CA certificate can
  2860. be found in the Secret or ConfigMap.
  2861. type: string
  2862. name:
  2863. description: The name of the object located at the
  2864. provider type.
  2865. type: string
  2866. namespace:
  2867. description: |-
  2868. The namespace the Provider type is in.
  2869. Can only be defined when used in a ClusterSecretStore.
  2870. type: string
  2871. type:
  2872. description: The type of provider to use such as "Secret",
  2873. or "ConfigMap".
  2874. enum:
  2875. - Secret
  2876. - ConfigMap
  2877. type: string
  2878. required:
  2879. - name
  2880. - type
  2881. type: object
  2882. url:
  2883. default: kubernetes.default
  2884. description: configures the Kubernetes server Address.
  2885. type: string
  2886. type: object
  2887. required:
  2888. - auth
  2889. type: object
  2890. onepassword:
  2891. description: OnePassword configures this store to sync secrets
  2892. using the 1Password Cloud provider
  2893. properties:
  2894. auth:
  2895. description: Auth defines the information necessary to authenticate
  2896. against OnePassword Connect Server
  2897. properties:
  2898. secretRef:
  2899. description: OnePasswordAuthSecretRef holds secret references
  2900. for 1Password credentials.
  2901. properties:
  2902. connectTokenSecretRef:
  2903. description: The ConnectToken is used for authentication
  2904. to a 1Password Connect Server.
  2905. properties:
  2906. key:
  2907. description: |-
  2908. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2909. defaulted, in others it may be required.
  2910. type: string
  2911. name:
  2912. description: The name of the Secret resource being
  2913. referred to.
  2914. type: string
  2915. namespace:
  2916. description: |-
  2917. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2918. to the namespace of the referent.
  2919. type: string
  2920. type: object
  2921. required:
  2922. - connectTokenSecretRef
  2923. type: object
  2924. required:
  2925. - secretRef
  2926. type: object
  2927. connectHost:
  2928. description: ConnectHost defines the OnePassword Connect Server
  2929. to connect to
  2930. type: string
  2931. vaults:
  2932. additionalProperties:
  2933. type: integer
  2934. description: Vaults defines which OnePassword vaults to search
  2935. in which order
  2936. type: object
  2937. required:
  2938. - auth
  2939. - connectHost
  2940. - vaults
  2941. type: object
  2942. oracle:
  2943. description: Oracle configures this store to sync secrets using
  2944. Oracle Vault provider
  2945. properties:
  2946. auth:
  2947. description: |-
  2948. Auth configures how secret-manager authenticates with the Oracle Vault.
  2949. If empty, use the instance principal, otherwise the user credentials specified in Auth.
  2950. properties:
  2951. secretRef:
  2952. description: SecretRef to pass through sensitive information.
  2953. properties:
  2954. fingerprint:
  2955. description: Fingerprint is the fingerprint of the
  2956. API private key.
  2957. properties:
  2958. key:
  2959. description: |-
  2960. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2961. defaulted, in others it may be required.
  2962. type: string
  2963. name:
  2964. description: The name of the Secret resource being
  2965. referred to.
  2966. type: string
  2967. namespace:
  2968. description: |-
  2969. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2970. to the namespace of the referent.
  2971. type: string
  2972. type: object
  2973. privatekey:
  2974. description: PrivateKey is the user's API Signing
  2975. Key in PEM format, used for authentication.
  2976. properties:
  2977. key:
  2978. description: |-
  2979. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2980. defaulted, in others it may be required.
  2981. type: string
  2982. name:
  2983. description: The name of the Secret resource being
  2984. referred to.
  2985. type: string
  2986. namespace:
  2987. description: |-
  2988. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2989. to the namespace of the referent.
  2990. type: string
  2991. type: object
  2992. required:
  2993. - fingerprint
  2994. - privatekey
  2995. type: object
  2996. tenancy:
  2997. description: Tenancy is the tenancy OCID where user is
  2998. located.
  2999. type: string
  3000. user:
  3001. description: User is an access OCID specific to the account.
  3002. type: string
  3003. required:
  3004. - secretRef
  3005. - tenancy
  3006. - user
  3007. type: object
  3008. compartment:
  3009. description: |-
  3010. Compartment is the vault compartment OCID.
  3011. Required for PushSecret
  3012. type: string
  3013. encryptionKey:
  3014. description: |-
  3015. EncryptionKey is the OCID of the encryption key within the vault.
  3016. Required for PushSecret
  3017. type: string
  3018. principalType:
  3019. description: |-
  3020. The type of principal to use for authentication. If left blank, the Auth struct will
  3021. determine the principal type. This optional field must be specified if using
  3022. workload identity.
  3023. enum:
  3024. - ""
  3025. - UserPrincipal
  3026. - InstancePrincipal
  3027. - Workload
  3028. type: string
  3029. region:
  3030. description: Region is the region where vault is located.
  3031. type: string
  3032. serviceAccountRef:
  3033. description: |-
  3034. ServiceAccountRef specified the service account
  3035. that should be used when authenticating with WorkloadIdentity.
  3036. properties:
  3037. audiences:
  3038. description: |-
  3039. Audience specifies the `aud` claim for the service account token
  3040. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  3041. then this audiences will be appended to the list
  3042. items:
  3043. type: string
  3044. type: array
  3045. name:
  3046. description: The name of the ServiceAccount resource being
  3047. referred to.
  3048. type: string
  3049. namespace:
  3050. description: |-
  3051. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3052. to the namespace of the referent.
  3053. type: string
  3054. required:
  3055. - name
  3056. type: object
  3057. vault:
  3058. description: Vault is the vault's OCID of the specific vault
  3059. where secret is located.
  3060. type: string
  3061. required:
  3062. - region
  3063. - vault
  3064. type: object
  3065. scaleway:
  3066. description: Scaleway
  3067. properties:
  3068. accessKey:
  3069. description: AccessKey is the non-secret part of the api key.
  3070. properties:
  3071. secretRef:
  3072. description: SecretRef references a key in a secret that
  3073. will be used as value.
  3074. properties:
  3075. key:
  3076. description: |-
  3077. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3078. defaulted, in others it may be required.
  3079. type: string
  3080. name:
  3081. description: The name of the Secret resource being
  3082. referred to.
  3083. type: string
  3084. namespace:
  3085. description: |-
  3086. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3087. to the namespace of the referent.
  3088. type: string
  3089. type: object
  3090. value:
  3091. description: Value can be specified directly to set a
  3092. value without using a secret.
  3093. type: string
  3094. type: object
  3095. apiUrl:
  3096. description: APIURL is the url of the api to use. Defaults
  3097. to https://api.scaleway.com
  3098. type: string
  3099. projectId:
  3100. description: 'ProjectID is the id of your project, which you
  3101. can find in the console: https://console.scaleway.com/project/settings'
  3102. type: string
  3103. region:
  3104. description: 'Region where your secrets are located: https://developers.scaleway.com/en/quickstart/#region-and-zone'
  3105. type: string
  3106. secretKey:
  3107. description: SecretKey is the non-secret part of the api key.
  3108. properties:
  3109. secretRef:
  3110. description: SecretRef references a key in a secret that
  3111. will be used as value.
  3112. properties:
  3113. key:
  3114. description: |-
  3115. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3116. defaulted, in others it may be required.
  3117. type: string
  3118. name:
  3119. description: The name of the Secret resource being
  3120. referred to.
  3121. type: string
  3122. namespace:
  3123. description: |-
  3124. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3125. to the namespace of the referent.
  3126. type: string
  3127. type: object
  3128. value:
  3129. description: Value can be specified directly to set a
  3130. value without using a secret.
  3131. type: string
  3132. type: object
  3133. required:
  3134. - accessKey
  3135. - projectId
  3136. - region
  3137. - secretKey
  3138. type: object
  3139. senhasegura:
  3140. description: Senhasegura configures this store to sync secrets
  3141. using senhasegura provider
  3142. properties:
  3143. auth:
  3144. description: Auth defines parameters to authenticate in senhasegura
  3145. properties:
  3146. clientId:
  3147. type: string
  3148. clientSecretSecretRef:
  3149. description: |-
  3150. A reference to a specific 'key' within a Secret resource,
  3151. In some instances, `key` is a required field.
  3152. properties:
  3153. key:
  3154. description: |-
  3155. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3156. defaulted, in others it may be required.
  3157. type: string
  3158. name:
  3159. description: The name of the Secret resource being
  3160. referred to.
  3161. type: string
  3162. namespace:
  3163. description: |-
  3164. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3165. to the namespace of the referent.
  3166. type: string
  3167. type: object
  3168. required:
  3169. - clientId
  3170. - clientSecretSecretRef
  3171. type: object
  3172. ignoreSslCertificate:
  3173. default: false
  3174. description: IgnoreSslCertificate defines if SSL certificate
  3175. must be ignored
  3176. type: boolean
  3177. module:
  3178. description: Module defines which senhasegura module should
  3179. be used to get secrets
  3180. type: string
  3181. url:
  3182. description: URL of senhasegura
  3183. type: string
  3184. required:
  3185. - auth
  3186. - module
  3187. - url
  3188. type: object
  3189. vault:
  3190. description: Vault configures this store to sync secrets using
  3191. Hashi provider
  3192. properties:
  3193. auth:
  3194. description: Auth configures how secret-manager authenticates
  3195. with the Vault server.
  3196. properties:
  3197. appRole:
  3198. description: |-
  3199. AppRole authenticates with Vault using the App Role auth mechanism,
  3200. with the role and secret stored in a Kubernetes Secret resource.
  3201. properties:
  3202. path:
  3203. default: approle
  3204. description: |-
  3205. Path where the App Role authentication backend is mounted
  3206. in Vault, e.g: "approle"
  3207. type: string
  3208. roleId:
  3209. description: |-
  3210. RoleID configured in the App Role authentication backend when setting
  3211. up the authentication backend in Vault.
  3212. type: string
  3213. roleRef:
  3214. description: |-
  3215. Reference to a key in a Secret that contains the App Role ID used
  3216. to authenticate with Vault.
  3217. The `key` field must be specified and denotes which entry within the Secret
  3218. resource is used as the app role id.
  3219. properties:
  3220. key:
  3221. description: |-
  3222. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3223. defaulted, in others it may be required.
  3224. type: string
  3225. name:
  3226. description: The name of the Secret resource being
  3227. referred to.
  3228. type: string
  3229. namespace:
  3230. description: |-
  3231. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3232. to the namespace of the referent.
  3233. type: string
  3234. type: object
  3235. secretRef:
  3236. description: |-
  3237. Reference to a key in a Secret that contains the App Role secret used
  3238. to authenticate with Vault.
  3239. The `key` field must be specified and denotes which entry within the Secret
  3240. resource is used as the app role secret.
  3241. properties:
  3242. key:
  3243. description: |-
  3244. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3245. defaulted, in others it may be required.
  3246. type: string
  3247. name:
  3248. description: The name of the Secret resource being
  3249. referred to.
  3250. type: string
  3251. namespace:
  3252. description: |-
  3253. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3254. to the namespace of the referent.
  3255. type: string
  3256. type: object
  3257. required:
  3258. - path
  3259. - secretRef
  3260. type: object
  3261. cert:
  3262. description: |-
  3263. Cert authenticates with TLS Certificates by passing client certificate, private key and ca certificate
  3264. Cert authentication method
  3265. properties:
  3266. clientCert:
  3267. description: |-
  3268. ClientCert is a certificate to authenticate using the Cert Vault
  3269. authentication method
  3270. properties:
  3271. key:
  3272. description: |-
  3273. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3274. defaulted, in others it may be required.
  3275. type: string
  3276. name:
  3277. description: The name of the Secret resource being
  3278. referred to.
  3279. type: string
  3280. namespace:
  3281. description: |-
  3282. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3283. to the namespace of the referent.
  3284. type: string
  3285. type: object
  3286. secretRef:
  3287. description: |-
  3288. SecretRef to a key in a Secret resource containing client private key to
  3289. authenticate with Vault using the Cert authentication method
  3290. properties:
  3291. key:
  3292. description: |-
  3293. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3294. defaulted, in others it may be required.
  3295. type: string
  3296. name:
  3297. description: The name of the Secret resource being
  3298. referred to.
  3299. type: string
  3300. namespace:
  3301. description: |-
  3302. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3303. to the namespace of the referent.
  3304. type: string
  3305. type: object
  3306. type: object
  3307. iam:
  3308. description: |-
  3309. Iam authenticates with vault by passing a special AWS request signed with AWS IAM credentials
  3310. AWS IAM authentication method
  3311. properties:
  3312. externalID:
  3313. description: AWS External ID set on assumed IAM roles
  3314. type: string
  3315. jwt:
  3316. description: Specify a service account with IRSA enabled
  3317. properties:
  3318. serviceAccountRef:
  3319. description: A reference to a ServiceAccount resource.
  3320. properties:
  3321. audiences:
  3322. description: |-
  3323. Audience specifies the `aud` claim for the service account token
  3324. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  3325. then this audiences will be appended to the list
  3326. items:
  3327. type: string
  3328. type: array
  3329. name:
  3330. description: The name of the ServiceAccount
  3331. resource being referred to.
  3332. type: string
  3333. namespace:
  3334. description: |-
  3335. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3336. to the namespace of the referent.
  3337. type: string
  3338. required:
  3339. - name
  3340. type: object
  3341. type: object
  3342. path:
  3343. description: 'Path where the AWS auth method is enabled
  3344. in Vault, e.g: "aws"'
  3345. type: string
  3346. region:
  3347. description: AWS region
  3348. type: string
  3349. role:
  3350. description: This is the AWS role to be assumed before
  3351. talking to vault
  3352. type: string
  3353. secretRef:
  3354. description: Specify credentials in a Secret object
  3355. properties:
  3356. accessKeyIDSecretRef:
  3357. description: The AccessKeyID is used for authentication
  3358. properties:
  3359. key:
  3360. description: |-
  3361. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3362. defaulted, in others it may be required.
  3363. type: string
  3364. name:
  3365. description: The name of the Secret resource
  3366. being referred to.
  3367. type: string
  3368. namespace:
  3369. description: |-
  3370. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3371. to the namespace of the referent.
  3372. type: string
  3373. type: object
  3374. secretAccessKeySecretRef:
  3375. description: The SecretAccessKey is used for authentication
  3376. properties:
  3377. key:
  3378. description: |-
  3379. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3380. defaulted, in others it may be required.
  3381. type: string
  3382. name:
  3383. description: The name of the Secret resource
  3384. being referred to.
  3385. type: string
  3386. namespace:
  3387. description: |-
  3388. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3389. to the namespace of the referent.
  3390. type: string
  3391. type: object
  3392. sessionTokenSecretRef:
  3393. description: |-
  3394. The SessionToken used for authentication
  3395. This must be defined if AccessKeyID and SecretAccessKey are temporary credentials
  3396. see: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html
  3397. properties:
  3398. key:
  3399. description: |-
  3400. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3401. defaulted, in others it may be required.
  3402. type: string
  3403. name:
  3404. description: The name of the Secret resource
  3405. being referred to.
  3406. type: string
  3407. namespace:
  3408. description: |-
  3409. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3410. to the namespace of the referent.
  3411. type: string
  3412. type: object
  3413. type: object
  3414. vaultAwsIamServerID:
  3415. description: 'X-Vault-AWS-IAM-Server-ID is an additional
  3416. header used by Vault IAM auth method to mitigate
  3417. against different types of replay attacks. More
  3418. details here: https://developer.hashicorp.com/vault/docs/auth/aws'
  3419. type: string
  3420. vaultRole:
  3421. description: Vault Role. In vault, a role describes
  3422. an identity with a set of permissions, groups, or
  3423. policies you want to attach a user of the secrets
  3424. engine
  3425. type: string
  3426. required:
  3427. - vaultRole
  3428. type: object
  3429. jwt:
  3430. description: |-
  3431. Jwt authenticates with Vault by passing role and JWT token using the
  3432. JWT/OIDC authentication method
  3433. properties:
  3434. kubernetesServiceAccountToken:
  3435. description: |-
  3436. Optional ServiceAccountToken specifies the Kubernetes service account for which to request
  3437. a token for with the `TokenRequest` API.
  3438. properties:
  3439. audiences:
  3440. description: |-
  3441. Optional audiences field that will be used to request a temporary Kubernetes service
  3442. account token for the service account referenced by `serviceAccountRef`.
  3443. Defaults to a single audience `vault` it not specified.
  3444. Deprecated: use serviceAccountRef.Audiences instead
  3445. items:
  3446. type: string
  3447. type: array
  3448. expirationSeconds:
  3449. description: |-
  3450. Optional expiration time in seconds that will be used to request a temporary
  3451. Kubernetes service account token for the service account referenced by
  3452. `serviceAccountRef`.
  3453. Deprecated: this will be removed in the future.
  3454. Defaults to 10 minutes.
  3455. format: int64
  3456. type: integer
  3457. serviceAccountRef:
  3458. description: Service account field containing
  3459. the name of a kubernetes ServiceAccount.
  3460. properties:
  3461. audiences:
  3462. description: |-
  3463. Audience specifies the `aud` claim for the service account token
  3464. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  3465. then this audiences will be appended to the list
  3466. items:
  3467. type: string
  3468. type: array
  3469. name:
  3470. description: The name of the ServiceAccount
  3471. resource being referred to.
  3472. type: string
  3473. namespace:
  3474. description: |-
  3475. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3476. to the namespace of the referent.
  3477. type: string
  3478. required:
  3479. - name
  3480. type: object
  3481. required:
  3482. - serviceAccountRef
  3483. type: object
  3484. path:
  3485. default: jwt
  3486. description: |-
  3487. Path where the JWT authentication backend is mounted
  3488. in Vault, e.g: "jwt"
  3489. type: string
  3490. role:
  3491. description: |-
  3492. Role is a JWT role to authenticate using the JWT/OIDC Vault
  3493. authentication method
  3494. type: string
  3495. secretRef:
  3496. description: |-
  3497. Optional SecretRef that refers to a key in a Secret resource containing JWT token to
  3498. authenticate with Vault using the JWT/OIDC authentication method.
  3499. properties:
  3500. key:
  3501. description: |-
  3502. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3503. defaulted, in others it may be required.
  3504. type: string
  3505. name:
  3506. description: The name of the Secret resource being
  3507. referred to.
  3508. type: string
  3509. namespace:
  3510. description: |-
  3511. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3512. to the namespace of the referent.
  3513. type: string
  3514. type: object
  3515. required:
  3516. - path
  3517. type: object
  3518. kubernetes:
  3519. description: |-
  3520. Kubernetes authenticates with Vault by passing the ServiceAccount
  3521. token stored in the named Secret resource to the Vault server.
  3522. properties:
  3523. mountPath:
  3524. default: kubernetes
  3525. description: |-
  3526. Path where the Kubernetes authentication backend is mounted in Vault, e.g:
  3527. "kubernetes"
  3528. type: string
  3529. role:
  3530. description: |-
  3531. A required field containing the Vault Role to assume. A Role binds a
  3532. Kubernetes ServiceAccount with a set of Vault policies.
  3533. type: string
  3534. secretRef:
  3535. description: |-
  3536. Optional secret field containing a Kubernetes ServiceAccount JWT used
  3537. for authenticating with Vault. If a name is specified without a key,
  3538. `token` is the default. If one is not specified, the one bound to
  3539. the controller will be used.
  3540. properties:
  3541. key:
  3542. description: |-
  3543. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3544. defaulted, in others it may be required.
  3545. type: string
  3546. name:
  3547. description: The name of the Secret resource being
  3548. referred to.
  3549. type: string
  3550. namespace:
  3551. description: |-
  3552. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3553. to the namespace of the referent.
  3554. type: string
  3555. type: object
  3556. serviceAccountRef:
  3557. description: |-
  3558. Optional service account field containing the name of a kubernetes ServiceAccount.
  3559. If the service account is specified, the service account secret token JWT will be used
  3560. for authenticating with Vault. If the service account selector is not supplied,
  3561. the secretRef will be used instead.
  3562. properties:
  3563. audiences:
  3564. description: |-
  3565. Audience specifies the `aud` claim for the service account token
  3566. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  3567. then this audiences will be appended to the list
  3568. items:
  3569. type: string
  3570. type: array
  3571. name:
  3572. description: The name of the ServiceAccount resource
  3573. being referred to.
  3574. type: string
  3575. namespace:
  3576. description: |-
  3577. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3578. to the namespace of the referent.
  3579. type: string
  3580. required:
  3581. - name
  3582. type: object
  3583. required:
  3584. - mountPath
  3585. - role
  3586. type: object
  3587. ldap:
  3588. description: |-
  3589. Ldap authenticates with Vault by passing username/password pair using
  3590. the LDAP authentication method
  3591. properties:
  3592. path:
  3593. default: ldap
  3594. description: |-
  3595. Path where the LDAP authentication backend is mounted
  3596. in Vault, e.g: "ldap"
  3597. type: string
  3598. secretRef:
  3599. description: |-
  3600. SecretRef to a key in a Secret resource containing password for the LDAP
  3601. user used to authenticate with Vault using the LDAP authentication
  3602. method
  3603. properties:
  3604. key:
  3605. description: |-
  3606. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3607. defaulted, in others it may be required.
  3608. type: string
  3609. name:
  3610. description: The name of the Secret resource being
  3611. referred to.
  3612. type: string
  3613. namespace:
  3614. description: |-
  3615. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3616. to the namespace of the referent.
  3617. type: string
  3618. type: object
  3619. username:
  3620. description: |-
  3621. Username is a LDAP user name used to authenticate using the LDAP Vault
  3622. authentication method
  3623. type: string
  3624. required:
  3625. - path
  3626. - username
  3627. type: object
  3628. tokenSecretRef:
  3629. description: TokenSecretRef authenticates with Vault by
  3630. presenting a token.
  3631. properties:
  3632. key:
  3633. description: |-
  3634. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3635. defaulted, in others it may be required.
  3636. type: string
  3637. name:
  3638. description: The name of the Secret resource being
  3639. referred to.
  3640. type: string
  3641. namespace:
  3642. description: |-
  3643. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3644. to the namespace of the referent.
  3645. type: string
  3646. type: object
  3647. userPass:
  3648. description: UserPass authenticates with Vault by passing
  3649. username/password pair
  3650. properties:
  3651. path:
  3652. default: user
  3653. description: |-
  3654. Path where the UserPassword authentication backend is mounted
  3655. in Vault, e.g: "user"
  3656. type: string
  3657. secretRef:
  3658. description: |-
  3659. SecretRef to a key in a Secret resource containing password for the
  3660. user used to authenticate with Vault using the UserPass authentication
  3661. method
  3662. properties:
  3663. key:
  3664. description: |-
  3665. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3666. defaulted, in others it may be required.
  3667. type: string
  3668. name:
  3669. description: The name of the Secret resource being
  3670. referred to.
  3671. type: string
  3672. namespace:
  3673. description: |-
  3674. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3675. to the namespace of the referent.
  3676. type: string
  3677. type: object
  3678. username:
  3679. description: |-
  3680. Username is a user name used to authenticate using the UserPass Vault
  3681. authentication method
  3682. type: string
  3683. required:
  3684. - path
  3685. - username
  3686. type: object
  3687. type: object
  3688. caBundle:
  3689. description: |-
  3690. PEM encoded CA bundle used to validate Vault server certificate. Only used
  3691. if the Server URL is using HTTPS protocol. This parameter is ignored for
  3692. plain HTTP protocol connection. If not set the system root certificates
  3693. are used to validate the TLS connection.
  3694. format: byte
  3695. type: string
  3696. caProvider:
  3697. description: The provider for the CA bundle to use to validate
  3698. Vault server certificate.
  3699. properties:
  3700. key:
  3701. description: The key where the CA certificate can be found
  3702. in the Secret or ConfigMap.
  3703. type: string
  3704. name:
  3705. description: The name of the object located at the provider
  3706. type.
  3707. type: string
  3708. namespace:
  3709. description: |-
  3710. The namespace the Provider type is in.
  3711. Can only be defined when used in a ClusterSecretStore.
  3712. type: string
  3713. type:
  3714. description: The type of provider to use such as "Secret",
  3715. or "ConfigMap".
  3716. enum:
  3717. - Secret
  3718. - ConfigMap
  3719. type: string
  3720. required:
  3721. - name
  3722. - type
  3723. type: object
  3724. forwardInconsistent:
  3725. description: |-
  3726. ForwardInconsistent tells Vault to forward read-after-write requests to the Vault
  3727. leader instead of simply retrying within a loop. This can increase performance if
  3728. the option is enabled serverside.
  3729. https://www.vaultproject.io/docs/configuration/replication#allow_forwarding_via_header
  3730. type: boolean
  3731. namespace:
  3732. description: |-
  3733. Name of the vault namespace. Namespaces is a set of features within Vault Enterprise that allows
  3734. Vault environments to support Secure Multi-tenancy. e.g: "ns1".
  3735. More about namespaces can be found here https://www.vaultproject.io/docs/enterprise/namespaces
  3736. type: string
  3737. path:
  3738. description: |-
  3739. Path is the mount path of the Vault KV backend endpoint, e.g:
  3740. "secret". The v2 KV secret engine version specific "/data" path suffix
  3741. for fetching secrets from Vault is optional and will be appended
  3742. if not present in specified path.
  3743. type: string
  3744. readYourWrites:
  3745. description: |-
  3746. ReadYourWrites ensures isolated read-after-write semantics by
  3747. providing discovered cluster replication states in each request.
  3748. More information about eventual consistency in Vault can be found here
  3749. https://www.vaultproject.io/docs/enterprise/consistency
  3750. type: boolean
  3751. server:
  3752. description: 'Server is the connection address for the Vault
  3753. server, e.g: "https://vault.example.com:8200".'
  3754. type: string
  3755. tls:
  3756. description: |-
  3757. The configuration used for client side related TLS communication, when the Vault server
  3758. requires mutual authentication. Only used if the Server URL is using HTTPS protocol.
  3759. This parameter is ignored for plain HTTP protocol connection.
  3760. It's worth noting this configuration is different from the "TLS certificates auth method",
  3761. which is available under the `auth.cert` section.
  3762. properties:
  3763. certSecretRef:
  3764. description: |-
  3765. CertSecretRef is a certificate added to the transport layer
  3766. when communicating with the Vault server.
  3767. If no key for the Secret is specified, external-secret will default to 'tls.crt'.
  3768. properties:
  3769. key:
  3770. description: |-
  3771. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3772. defaulted, in others it may be required.
  3773. type: string
  3774. name:
  3775. description: The name of the Secret resource being
  3776. referred to.
  3777. type: string
  3778. namespace:
  3779. description: |-
  3780. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3781. to the namespace of the referent.
  3782. type: string
  3783. type: object
  3784. keySecretRef:
  3785. description: |-
  3786. KeySecretRef to a key in a Secret resource containing client private key
  3787. added to the transport layer when communicating with the Vault server.
  3788. If no key for the Secret is specified, external-secret will default to 'tls.key'.
  3789. properties:
  3790. key:
  3791. description: |-
  3792. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3793. defaulted, in others it may be required.
  3794. type: string
  3795. name:
  3796. description: The name of the Secret resource being
  3797. referred to.
  3798. type: string
  3799. namespace:
  3800. description: |-
  3801. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3802. to the namespace of the referent.
  3803. type: string
  3804. type: object
  3805. type: object
  3806. version:
  3807. default: v2
  3808. description: |-
  3809. Version is the Vault KV secret engine version. This can be either "v1" or
  3810. "v2". Version defaults to "v2".
  3811. enum:
  3812. - v1
  3813. - v2
  3814. type: string
  3815. required:
  3816. - auth
  3817. - server
  3818. type: object
  3819. webhook:
  3820. description: Webhook configures this store to sync secrets using
  3821. a generic templated webhook
  3822. properties:
  3823. body:
  3824. description: Body
  3825. type: string
  3826. caBundle:
  3827. description: |-
  3828. PEM encoded CA bundle used to validate webhook server certificate. Only used
  3829. if the Server URL is using HTTPS protocol. This parameter is ignored for
  3830. plain HTTP protocol connection. If not set the system root certificates
  3831. are used to validate the TLS connection.
  3832. format: byte
  3833. type: string
  3834. caProvider:
  3835. description: The provider for the CA bundle to use to validate
  3836. webhook server certificate.
  3837. properties:
  3838. key:
  3839. description: The key the value inside of the provider
  3840. type to use, only used with "Secret" type
  3841. type: string
  3842. name:
  3843. description: The name of the object located at the provider
  3844. type.
  3845. type: string
  3846. namespace:
  3847. description: The namespace the Provider type is in.
  3848. type: string
  3849. type:
  3850. description: The type of provider to use such as "Secret",
  3851. or "ConfigMap".
  3852. enum:
  3853. - Secret
  3854. - ConfigMap
  3855. type: string
  3856. required:
  3857. - name
  3858. - type
  3859. type: object
  3860. headers:
  3861. additionalProperties:
  3862. type: string
  3863. description: Headers
  3864. type: object
  3865. method:
  3866. description: Webhook Method
  3867. type: string
  3868. result:
  3869. description: Result formatting
  3870. properties:
  3871. jsonPath:
  3872. description: Json path of return value
  3873. type: string
  3874. type: object
  3875. secrets:
  3876. description: |-
  3877. Secrets to fill in templates
  3878. These secrets will be passed to the templating function as key value pairs under the given name
  3879. items:
  3880. properties:
  3881. name:
  3882. description: Name of this secret in templates
  3883. type: string
  3884. secretRef:
  3885. description: Secret ref to fill in credentials
  3886. properties:
  3887. key:
  3888. description: |-
  3889. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3890. defaulted, in others it may be required.
  3891. type: string
  3892. name:
  3893. description: The name of the Secret resource being
  3894. referred to.
  3895. type: string
  3896. namespace:
  3897. description: |-
  3898. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3899. to the namespace of the referent.
  3900. type: string
  3901. type: object
  3902. required:
  3903. - name
  3904. - secretRef
  3905. type: object
  3906. type: array
  3907. timeout:
  3908. description: Timeout
  3909. type: string
  3910. url:
  3911. description: Webhook url to call
  3912. type: string
  3913. required:
  3914. - result
  3915. - url
  3916. type: object
  3917. yandexcertificatemanager:
  3918. description: YandexCertificateManager configures this store to
  3919. sync secrets using Yandex Certificate Manager provider
  3920. properties:
  3921. apiEndpoint:
  3922. description: Yandex.Cloud API endpoint (e.g. 'api.cloud.yandex.net:443')
  3923. type: string
  3924. auth:
  3925. description: Auth defines the information necessary to authenticate
  3926. against Yandex Certificate Manager
  3927. properties:
  3928. authorizedKeySecretRef:
  3929. description: The authorized key used for authentication
  3930. properties:
  3931. key:
  3932. description: |-
  3933. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3934. defaulted, in others it may be required.
  3935. type: string
  3936. name:
  3937. description: The name of the Secret resource being
  3938. referred to.
  3939. type: string
  3940. namespace:
  3941. description: |-
  3942. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3943. to the namespace of the referent.
  3944. type: string
  3945. type: object
  3946. type: object
  3947. caProvider:
  3948. description: The provider for the CA bundle to use to validate
  3949. Yandex.Cloud server certificate.
  3950. properties:
  3951. certSecretRef:
  3952. description: |-
  3953. A reference to a specific 'key' within a Secret resource,
  3954. In some instances, `key` is a required field.
  3955. properties:
  3956. key:
  3957. description: |-
  3958. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3959. defaulted, in others it may be required.
  3960. type: string
  3961. name:
  3962. description: The name of the Secret resource being
  3963. referred to.
  3964. type: string
  3965. namespace:
  3966. description: |-
  3967. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3968. to the namespace of the referent.
  3969. type: string
  3970. type: object
  3971. type: object
  3972. required:
  3973. - auth
  3974. type: object
  3975. yandexlockbox:
  3976. description: YandexLockbox configures this store to sync secrets
  3977. using Yandex Lockbox provider
  3978. properties:
  3979. apiEndpoint:
  3980. description: Yandex.Cloud API endpoint (e.g. 'api.cloud.yandex.net:443')
  3981. type: string
  3982. auth:
  3983. description: Auth defines the information necessary to authenticate
  3984. against Yandex Lockbox
  3985. properties:
  3986. authorizedKeySecretRef:
  3987. description: The authorized key used for authentication
  3988. properties:
  3989. key:
  3990. description: |-
  3991. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3992. defaulted, in others it may be required.
  3993. type: string
  3994. name:
  3995. description: The name of the Secret resource being
  3996. referred to.
  3997. type: string
  3998. namespace:
  3999. description: |-
  4000. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  4001. to the namespace of the referent.
  4002. type: string
  4003. type: object
  4004. type: object
  4005. caProvider:
  4006. description: The provider for the CA bundle to use to validate
  4007. Yandex.Cloud server certificate.
  4008. properties:
  4009. certSecretRef:
  4010. description: |-
  4011. A reference to a specific 'key' within a Secret resource,
  4012. In some instances, `key` is a required field.
  4013. properties:
  4014. key:
  4015. description: |-
  4016. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  4017. defaulted, in others it may be required.
  4018. type: string
  4019. name:
  4020. description: The name of the Secret resource being
  4021. referred to.
  4022. type: string
  4023. namespace:
  4024. description: |-
  4025. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  4026. to the namespace of the referent.
  4027. type: string
  4028. type: object
  4029. type: object
  4030. required:
  4031. - auth
  4032. type: object
  4033. type: object
  4034. refreshInterval:
  4035. description: Used to configure store refresh interval in seconds.
  4036. Empty or 0 will default to the controller config.
  4037. type: integer
  4038. retrySettings:
  4039. description: Used to configure http retries if failed
  4040. properties:
  4041. maxRetries:
  4042. format: int32
  4043. type: integer
  4044. retryInterval:
  4045. type: string
  4046. type: object
  4047. required:
  4048. - provider
  4049. type: object
  4050. status:
  4051. description: SecretStoreStatus defines the observed state of the SecretStore.
  4052. properties:
  4053. capabilities:
  4054. description: SecretStoreCapabilities defines the possible operations
  4055. a SecretStore can do.
  4056. type: string
  4057. conditions:
  4058. items:
  4059. properties:
  4060. lastTransitionTime:
  4061. format: date-time
  4062. type: string
  4063. message:
  4064. type: string
  4065. reason:
  4066. type: string
  4067. status:
  4068. type: string
  4069. type:
  4070. type: string
  4071. required:
  4072. - status
  4073. - type
  4074. type: object
  4075. type: array
  4076. type: object
  4077. type: object
  4078. served: true
  4079. storage: true
  4080. subresources:
  4081. status: {}