bundle.yaml 284 KB

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