external-secrets.io_clustersecretstores.yaml 228 KB

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