crds_test.yaml.snap 252 KB

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