bundle.yaml 331 KB

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