crds_test.yaml.snap 246 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907
  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. gcpsm:
  2421. description: GCPSM configures this store to sync secrets using Google Cloud Platform Secret Manager provider
  2422. properties:
  2423. auth:
  2424. description: Auth defines the information necessary to authenticate against GCP
  2425. properties:
  2426. secretRef:
  2427. properties:
  2428. secretAccessKeySecretRef:
  2429. description: The SecretAccessKey is used for authentication
  2430. properties:
  2431. key:
  2432. description: |-
  2433. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2434. defaulted, in others it may be required.
  2435. type: string
  2436. name:
  2437. description: The name of the Secret resource being referred to.
  2438. type: string
  2439. namespace:
  2440. description: |-
  2441. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2442. to the namespace of the referent.
  2443. type: string
  2444. type: object
  2445. type: object
  2446. workloadIdentity:
  2447. properties:
  2448. clusterLocation:
  2449. type: string
  2450. clusterName:
  2451. type: string
  2452. clusterProjectID:
  2453. type: string
  2454. serviceAccountRef:
  2455. description: A reference to a ServiceAccount resource.
  2456. properties:
  2457. audiences:
  2458. description: |-
  2459. Audience specifies the `aud` claim for the service account token
  2460. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  2461. then this audiences will be appended to the list
  2462. items:
  2463. type: string
  2464. type: array
  2465. name:
  2466. description: The name of the ServiceAccount resource being referred to.
  2467. type: string
  2468. namespace:
  2469. description: |-
  2470. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2471. to the namespace of the referent.
  2472. type: string
  2473. required:
  2474. - name
  2475. type: object
  2476. required:
  2477. - clusterLocation
  2478. - clusterName
  2479. - serviceAccountRef
  2480. type: object
  2481. type: object
  2482. projectID:
  2483. description: ProjectID project where secret is located
  2484. type: string
  2485. type: object
  2486. gitlab:
  2487. description: GitLab configures this store to sync secrets using GitLab Variables provider
  2488. properties:
  2489. auth:
  2490. description: Auth configures how secret-manager authenticates with a GitLab instance.
  2491. properties:
  2492. SecretRef:
  2493. properties:
  2494. accessToken:
  2495. description: AccessToken is used for authentication.
  2496. properties:
  2497. key:
  2498. description: |-
  2499. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2500. defaulted, in others it may be required.
  2501. type: string
  2502. name:
  2503. description: The name of the Secret resource being referred to.
  2504. type: string
  2505. namespace:
  2506. description: |-
  2507. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2508. to the namespace of the referent.
  2509. type: string
  2510. type: object
  2511. type: object
  2512. required:
  2513. - SecretRef
  2514. type: object
  2515. environment:
  2516. 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)
  2517. type: string
  2518. groupIDs:
  2519. description: GroupIDs specify, which gitlab groups to pull secrets from. Group secrets are read from left to right followed by the project variables.
  2520. items:
  2521. type: string
  2522. type: array
  2523. inheritFromGroups:
  2524. description: InheritFromGroups specifies whether parent groups should be discovered and checked for secrets.
  2525. type: boolean
  2526. projectID:
  2527. description: ProjectID specifies a project where secrets are located.
  2528. type: string
  2529. url:
  2530. description: URL configures the GitLab instance URL. Defaults to https://gitlab.com/.
  2531. type: string
  2532. required:
  2533. - auth
  2534. type: object
  2535. ibm:
  2536. description: IBM configures this store to sync secrets using IBM Cloud provider
  2537. properties:
  2538. auth:
  2539. description: Auth configures how secret-manager authenticates with the IBM secrets manager.
  2540. maxProperties: 1
  2541. minProperties: 1
  2542. properties:
  2543. containerAuth:
  2544. description: IBM Container-based auth with IAM Trusted Profile.
  2545. properties:
  2546. iamEndpoint:
  2547. type: string
  2548. profile:
  2549. description: the IBM Trusted Profile
  2550. type: string
  2551. tokenLocation:
  2552. description: Location the token is mounted on the pod
  2553. type: string
  2554. required:
  2555. - profile
  2556. type: object
  2557. secretRef:
  2558. properties:
  2559. secretApiKeySecretRef:
  2560. description: The SecretAccessKey is used for authentication
  2561. properties:
  2562. key:
  2563. description: |-
  2564. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2565. defaulted, in others it may be required.
  2566. type: string
  2567. name:
  2568. description: The name of the Secret resource being referred to.
  2569. type: string
  2570. namespace:
  2571. description: |-
  2572. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2573. to the namespace of the referent.
  2574. type: string
  2575. type: object
  2576. type: object
  2577. type: object
  2578. serviceUrl:
  2579. description: ServiceURL is the Endpoint URL that is specific to the Secrets Manager service instance
  2580. type: string
  2581. required:
  2582. - auth
  2583. type: object
  2584. keepersecurity:
  2585. description: KeeperSecurity configures this store to sync secrets using the KeeperSecurity provider
  2586. properties:
  2587. authRef:
  2588. description: |-
  2589. A reference to a specific 'key' within a Secret resource,
  2590. In some instances, `key` is a required field.
  2591. properties:
  2592. key:
  2593. description: |-
  2594. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2595. defaulted, in others it may be required.
  2596. type: string
  2597. name:
  2598. description: The name of the Secret resource being referred to.
  2599. type: string
  2600. namespace:
  2601. description: |-
  2602. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2603. to the namespace of the referent.
  2604. type: string
  2605. type: object
  2606. folderID:
  2607. type: string
  2608. required:
  2609. - authRef
  2610. - folderID
  2611. type: object
  2612. kubernetes:
  2613. description: Kubernetes configures this store to sync secrets using a Kubernetes cluster provider
  2614. properties:
  2615. auth:
  2616. description: Auth configures how secret-manager authenticates with a Kubernetes instance.
  2617. maxProperties: 1
  2618. minProperties: 1
  2619. properties:
  2620. cert:
  2621. description: has both clientCert and clientKey as secretKeySelector
  2622. properties:
  2623. clientCert:
  2624. description: |-
  2625. A reference to a specific 'key' within a Secret resource,
  2626. In some instances, `key` is a required field.
  2627. properties:
  2628. key:
  2629. description: |-
  2630. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2631. defaulted, in others it may be required.
  2632. type: string
  2633. name:
  2634. description: The name of the Secret resource being referred to.
  2635. type: string
  2636. namespace:
  2637. description: |-
  2638. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2639. to the namespace of the referent.
  2640. type: string
  2641. type: object
  2642. clientKey:
  2643. description: |-
  2644. A reference to a specific 'key' within a Secret resource,
  2645. In some instances, `key` is a required field.
  2646. properties:
  2647. key:
  2648. description: |-
  2649. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2650. defaulted, in others it may be required.
  2651. type: string
  2652. name:
  2653. description: The name of the Secret resource being referred to.
  2654. type: string
  2655. namespace:
  2656. description: |-
  2657. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2658. to the namespace of the referent.
  2659. type: string
  2660. type: object
  2661. type: object
  2662. serviceAccount:
  2663. description: points to a service account that should be used for authentication
  2664. properties:
  2665. audiences:
  2666. description: |-
  2667. Audience specifies the `aud` claim for the service account token
  2668. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  2669. then this audiences will be appended to the list
  2670. items:
  2671. type: string
  2672. type: array
  2673. name:
  2674. description: The name of the ServiceAccount resource being referred to.
  2675. type: string
  2676. namespace:
  2677. description: |-
  2678. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2679. to the namespace of the referent.
  2680. type: string
  2681. required:
  2682. - name
  2683. type: object
  2684. token:
  2685. description: use static token to authenticate with
  2686. properties:
  2687. bearerToken:
  2688. description: |-
  2689. A reference to a specific 'key' within a Secret resource,
  2690. In some instances, `key` is a required field.
  2691. properties:
  2692. key:
  2693. description: |-
  2694. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2695. defaulted, in others it may be required.
  2696. type: string
  2697. name:
  2698. description: The name of the Secret resource being referred to.
  2699. type: string
  2700. namespace:
  2701. description: |-
  2702. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2703. to the namespace of the referent.
  2704. type: string
  2705. type: object
  2706. type: object
  2707. type: object
  2708. remoteNamespace:
  2709. default: default
  2710. description: Remote namespace to fetch the secrets from
  2711. type: string
  2712. server:
  2713. description: configures the Kubernetes server Address.
  2714. properties:
  2715. caBundle:
  2716. description: CABundle is a base64-encoded CA certificate
  2717. format: byte
  2718. type: string
  2719. caProvider:
  2720. description: 'see: https://external-secrets.io/v0.4.1/spec/#external-secrets.io/v1alpha1.CAProvider'
  2721. properties:
  2722. key:
  2723. description: The key where the CA certificate can be found in the Secret or ConfigMap.
  2724. type: string
  2725. name:
  2726. description: The name of the object located at the provider type.
  2727. type: string
  2728. namespace:
  2729. description: |-
  2730. The namespace the Provider type is in.
  2731. Can only be defined when used in a ClusterSecretStore.
  2732. type: string
  2733. type:
  2734. description: The type of provider to use such as "Secret", or "ConfigMap".
  2735. enum:
  2736. - Secret
  2737. - ConfigMap
  2738. type: string
  2739. required:
  2740. - name
  2741. - type
  2742. type: object
  2743. url:
  2744. default: kubernetes.default
  2745. description: configures the Kubernetes server Address.
  2746. type: string
  2747. type: object
  2748. required:
  2749. - auth
  2750. type: object
  2751. onepassword:
  2752. description: OnePassword configures this store to sync secrets using the 1Password Cloud provider
  2753. properties:
  2754. auth:
  2755. description: Auth defines the information necessary to authenticate against OnePassword Connect Server
  2756. properties:
  2757. secretRef:
  2758. description: OnePasswordAuthSecretRef holds secret references for 1Password credentials.
  2759. properties:
  2760. connectTokenSecretRef:
  2761. description: The ConnectToken is used for authentication to a 1Password Connect Server.
  2762. properties:
  2763. key:
  2764. description: |-
  2765. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2766. defaulted, in others it may be required.
  2767. type: string
  2768. name:
  2769. description: The name of the Secret resource being referred to.
  2770. type: string
  2771. namespace:
  2772. description: |-
  2773. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2774. to the namespace of the referent.
  2775. type: string
  2776. type: object
  2777. required:
  2778. - connectTokenSecretRef
  2779. type: object
  2780. required:
  2781. - secretRef
  2782. type: object
  2783. connectHost:
  2784. description: ConnectHost defines the OnePassword Connect Server to connect to
  2785. type: string
  2786. vaults:
  2787. additionalProperties:
  2788. type: integer
  2789. description: Vaults defines which OnePassword vaults to search in which order
  2790. type: object
  2791. required:
  2792. - auth
  2793. - connectHost
  2794. - vaults
  2795. type: object
  2796. oracle:
  2797. description: Oracle configures this store to sync secrets using Oracle Vault provider
  2798. properties:
  2799. auth:
  2800. description: |-
  2801. Auth configures how secret-manager authenticates with the Oracle Vault.
  2802. If empty, use the instance principal, otherwise the user credentials specified in Auth.
  2803. properties:
  2804. secretRef:
  2805. description: SecretRef to pass through sensitive information.
  2806. properties:
  2807. fingerprint:
  2808. description: Fingerprint is the fingerprint of the API private key.
  2809. properties:
  2810. key:
  2811. description: |-
  2812. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2813. defaulted, in others it may be required.
  2814. type: string
  2815. name:
  2816. description: The name of the Secret resource being referred to.
  2817. type: string
  2818. namespace:
  2819. description: |-
  2820. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2821. to the namespace of the referent.
  2822. type: string
  2823. type: object
  2824. privatekey:
  2825. description: PrivateKey is the user's API Signing Key in PEM format, used for authentication.
  2826. properties:
  2827. key:
  2828. description: |-
  2829. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2830. defaulted, in others it may be required.
  2831. type: string
  2832. name:
  2833. description: The name of the Secret resource being referred to.
  2834. type: string
  2835. namespace:
  2836. description: |-
  2837. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2838. to the namespace of the referent.
  2839. type: string
  2840. type: object
  2841. required:
  2842. - fingerprint
  2843. - privatekey
  2844. type: object
  2845. tenancy:
  2846. description: Tenancy is the tenancy OCID where user is located.
  2847. type: string
  2848. user:
  2849. description: User is an access OCID specific to the account.
  2850. type: string
  2851. required:
  2852. - secretRef
  2853. - tenancy
  2854. - user
  2855. type: object
  2856. compartment:
  2857. description: |-
  2858. Compartment is the vault compartment OCID.
  2859. Required for PushSecret
  2860. type: string
  2861. encryptionKey:
  2862. description: |-
  2863. EncryptionKey is the OCID of the encryption key within the vault.
  2864. Required for PushSecret
  2865. type: string
  2866. principalType:
  2867. description: |-
  2868. The type of principal to use for authentication. If left blank, the Auth struct will
  2869. determine the principal type. This optional field must be specified if using
  2870. workload identity.
  2871. enum:
  2872. - ""
  2873. - UserPrincipal
  2874. - InstancePrincipal
  2875. - Workload
  2876. type: string
  2877. region:
  2878. description: Region is the region where vault is located.
  2879. type: string
  2880. serviceAccountRef:
  2881. description: |-
  2882. ServiceAccountRef specified the service account
  2883. that should be used when authenticating with WorkloadIdentity.
  2884. properties:
  2885. audiences:
  2886. description: |-
  2887. Audience specifies the `aud` claim for the service account token
  2888. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  2889. then this audiences will be appended to the list
  2890. items:
  2891. type: string
  2892. type: array
  2893. name:
  2894. description: The name of the ServiceAccount resource being referred to.
  2895. type: string
  2896. namespace:
  2897. description: |-
  2898. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2899. to the namespace of the referent.
  2900. type: string
  2901. required:
  2902. - name
  2903. type: object
  2904. vault:
  2905. description: Vault is the vault's OCID of the specific vault where secret is located.
  2906. type: string
  2907. required:
  2908. - region
  2909. - vault
  2910. type: object
  2911. pulumi:
  2912. description: Pulumi configures this store to sync secrets using the Pulumi provider
  2913. properties:
  2914. accessToken:
  2915. description: AccessToken is the access tokens to sign in to the Pulumi Cloud Console.
  2916. properties:
  2917. secretRef:
  2918. description: SecretRef is a reference to a secret containing the Pulumi API token.
  2919. properties:
  2920. key:
  2921. description: |-
  2922. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2923. defaulted, in others it may be required.
  2924. type: string
  2925. name:
  2926. description: The name of the Secret resource being referred to.
  2927. type: string
  2928. namespace:
  2929. description: |-
  2930. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2931. to the namespace of the referent.
  2932. type: string
  2933. type: object
  2934. type: object
  2935. apiUrl:
  2936. default: https://api.pulumi.com
  2937. description: APIURL is the URL of the Pulumi API.
  2938. type: string
  2939. environment:
  2940. description: |-
  2941. Environment are YAML documents composed of static key-value pairs, programmatic expressions,
  2942. dynamically retrieved values from supported providers including all major clouds,
  2943. and other Pulumi ESC environments.
  2944. To create a new environment, visit https://www.pulumi.com/docs/esc/environments/ for more information.
  2945. type: string
  2946. organization:
  2947. description: |-
  2948. Organization are a space to collaborate on shared projects and stacks.
  2949. To create a new organization, visit https://app.pulumi.com/ and click "New Organization".
  2950. type: string
  2951. required:
  2952. - accessToken
  2953. - environment
  2954. - organization
  2955. type: object
  2956. scaleway:
  2957. description: Scaleway
  2958. properties:
  2959. accessKey:
  2960. description: AccessKey is the non-secret part of the api key.
  2961. properties:
  2962. secretRef:
  2963. description: SecretRef references a key in a secret that will be used as value.
  2964. properties:
  2965. key:
  2966. description: |-
  2967. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  2968. defaulted, in others it may be required.
  2969. type: string
  2970. name:
  2971. description: The name of the Secret resource being referred to.
  2972. type: string
  2973. namespace:
  2974. description: |-
  2975. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  2976. to the namespace of the referent.
  2977. type: string
  2978. type: object
  2979. value:
  2980. description: Value can be specified directly to set a value without using a secret.
  2981. type: string
  2982. type: object
  2983. apiUrl:
  2984. description: APIURL is the url of the api to use. Defaults to https://api.scaleway.com
  2985. type: string
  2986. projectId:
  2987. description: 'ProjectID is the id of your project, which you can find in the console: https://console.scaleway.com/project/settings'
  2988. type: string
  2989. region:
  2990. description: 'Region where your secrets are located: https://developers.scaleway.com/en/quickstart/#region-and-zone'
  2991. type: string
  2992. secretKey:
  2993. description: SecretKey is the non-secret part of the api key.
  2994. properties:
  2995. secretRef:
  2996. description: SecretRef references a key in a secret that will be used as value.
  2997. properties:
  2998. key:
  2999. description: |-
  3000. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3001. defaulted, in others it may be required.
  3002. type: string
  3003. name:
  3004. description: The name of the Secret resource being referred to.
  3005. type: string
  3006. namespace:
  3007. description: |-
  3008. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3009. to the namespace of the referent.
  3010. type: string
  3011. type: object
  3012. value:
  3013. description: Value can be specified directly to set a value without using a secret.
  3014. type: string
  3015. type: object
  3016. required:
  3017. - accessKey
  3018. - projectId
  3019. - region
  3020. - secretKey
  3021. type: object
  3022. senhasegura:
  3023. description: Senhasegura configures this store to sync secrets using senhasegura provider
  3024. properties:
  3025. auth:
  3026. description: Auth defines parameters to authenticate in senhasegura
  3027. properties:
  3028. clientId:
  3029. type: string
  3030. clientSecretSecretRef:
  3031. description: |-
  3032. A reference to a specific 'key' within a Secret resource,
  3033. In some instances, `key` is a required field.
  3034. properties:
  3035. key:
  3036. description: |-
  3037. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3038. defaulted, in others it may be required.
  3039. type: string
  3040. name:
  3041. description: The name of the Secret resource being referred to.
  3042. type: string
  3043. namespace:
  3044. description: |-
  3045. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3046. to the namespace of the referent.
  3047. type: string
  3048. type: object
  3049. required:
  3050. - clientId
  3051. - clientSecretSecretRef
  3052. type: object
  3053. ignoreSslCertificate:
  3054. default: false
  3055. description: IgnoreSslCertificate defines if SSL certificate must be ignored
  3056. type: boolean
  3057. module:
  3058. description: Module defines which senhasegura module should be used to get secrets
  3059. type: string
  3060. url:
  3061. description: URL of senhasegura
  3062. type: string
  3063. required:
  3064. - auth
  3065. - module
  3066. - url
  3067. type: object
  3068. vault:
  3069. description: Vault configures this store to sync secrets using Hashi provider
  3070. properties:
  3071. auth:
  3072. description: Auth configures how secret-manager authenticates with the Vault server.
  3073. properties:
  3074. appRole:
  3075. description: |-
  3076. AppRole authenticates with Vault using the App Role auth mechanism,
  3077. with the role and secret stored in a Kubernetes Secret resource.
  3078. properties:
  3079. path:
  3080. default: approle
  3081. description: |-
  3082. Path where the App Role authentication backend is mounted
  3083. in Vault, e.g: "approle"
  3084. type: string
  3085. roleId:
  3086. description: |-
  3087. RoleID configured in the App Role authentication backend when setting
  3088. up the authentication backend in Vault.
  3089. type: string
  3090. roleRef:
  3091. description: |-
  3092. Reference to a key in a Secret that contains the App Role ID used
  3093. to authenticate with Vault.
  3094. The `key` field must be specified and denotes which entry within the Secret
  3095. resource is used as the app role id.
  3096. properties:
  3097. key:
  3098. description: |-
  3099. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3100. defaulted, in others it may be required.
  3101. type: string
  3102. name:
  3103. description: The name of the Secret resource being referred to.
  3104. type: string
  3105. namespace:
  3106. description: |-
  3107. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3108. to the namespace of the referent.
  3109. type: string
  3110. type: object
  3111. secretRef:
  3112. description: |-
  3113. Reference to a key in a Secret that contains the App Role secret used
  3114. to authenticate with Vault.
  3115. The `key` field must be specified and denotes which entry within the Secret
  3116. resource is used as the app role secret.
  3117. properties:
  3118. key:
  3119. description: |-
  3120. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3121. defaulted, in others it may be required.
  3122. type: string
  3123. name:
  3124. description: The name of the Secret resource being referred to.
  3125. type: string
  3126. namespace:
  3127. description: |-
  3128. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3129. to the namespace of the referent.
  3130. type: string
  3131. type: object
  3132. required:
  3133. - path
  3134. - secretRef
  3135. type: object
  3136. cert:
  3137. description: |-
  3138. Cert authenticates with TLS Certificates by passing client certificate, private key and ca certificate
  3139. Cert authentication method
  3140. properties:
  3141. clientCert:
  3142. description: |-
  3143. ClientCert is a certificate to authenticate using the Cert Vault
  3144. authentication method
  3145. properties:
  3146. key:
  3147. description: |-
  3148. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3149. defaulted, in others it may be required.
  3150. type: string
  3151. name:
  3152. description: The name of the Secret resource being referred to.
  3153. type: string
  3154. namespace:
  3155. description: |-
  3156. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3157. to the namespace of the referent.
  3158. type: string
  3159. type: object
  3160. secretRef:
  3161. description: |-
  3162. SecretRef to a key in a Secret resource containing client private key to
  3163. authenticate with Vault using the Cert authentication method
  3164. properties:
  3165. key:
  3166. description: |-
  3167. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3168. defaulted, in others it may be required.
  3169. type: string
  3170. name:
  3171. description: The name of the Secret resource being referred to.
  3172. type: string
  3173. namespace:
  3174. description: |-
  3175. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3176. to the namespace of the referent.
  3177. type: string
  3178. type: object
  3179. type: object
  3180. iam:
  3181. description: |-
  3182. Iam authenticates with vault by passing a special AWS request signed with AWS IAM credentials
  3183. AWS IAM authentication method
  3184. properties:
  3185. externalID:
  3186. description: AWS External ID set on assumed IAM roles
  3187. type: string
  3188. jwt:
  3189. description: Specify a service account with IRSA enabled
  3190. properties:
  3191. serviceAccountRef:
  3192. description: A reference to a ServiceAccount resource.
  3193. properties:
  3194. audiences:
  3195. description: |-
  3196. Audience specifies the `aud` claim for the service account token
  3197. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  3198. then this audiences will be appended to the list
  3199. items:
  3200. type: string
  3201. type: array
  3202. name:
  3203. description: The name of the ServiceAccount resource being referred to.
  3204. type: string
  3205. namespace:
  3206. description: |-
  3207. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3208. to the namespace of the referent.
  3209. type: string
  3210. required:
  3211. - name
  3212. type: object
  3213. type: object
  3214. path:
  3215. description: 'Path where the AWS auth method is enabled in Vault, e.g: "aws"'
  3216. type: string
  3217. region:
  3218. description: AWS region
  3219. type: string
  3220. role:
  3221. description: This is the AWS role to be assumed before talking to vault
  3222. type: string
  3223. secretRef:
  3224. description: Specify credentials in a Secret object
  3225. properties:
  3226. accessKeyIDSecretRef:
  3227. description: The AccessKeyID is used for authentication
  3228. properties:
  3229. key:
  3230. description: |-
  3231. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3232. defaulted, in others it may be required.
  3233. type: string
  3234. name:
  3235. description: The name of the Secret resource being referred to.
  3236. type: string
  3237. namespace:
  3238. description: |-
  3239. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3240. to the namespace of the referent.
  3241. type: string
  3242. type: object
  3243. secretAccessKeySecretRef:
  3244. description: The SecretAccessKey is used for authentication
  3245. properties:
  3246. key:
  3247. description: |-
  3248. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3249. defaulted, in others it may be required.
  3250. type: string
  3251. name:
  3252. description: The name of the Secret resource being referred to.
  3253. type: string
  3254. namespace:
  3255. description: |-
  3256. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3257. to the namespace of the referent.
  3258. type: string
  3259. type: object
  3260. sessionTokenSecretRef:
  3261. description: |-
  3262. The SessionToken used for authentication
  3263. This must be defined if AccessKeyID and SecretAccessKey are temporary credentials
  3264. see: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html
  3265. properties:
  3266. key:
  3267. description: |-
  3268. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3269. defaulted, in others it may be required.
  3270. type: string
  3271. name:
  3272. description: The name of the Secret resource being referred to.
  3273. type: string
  3274. namespace:
  3275. description: |-
  3276. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3277. to the namespace of the referent.
  3278. type: string
  3279. type: object
  3280. type: object
  3281. vaultAwsIamServerID:
  3282. 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'
  3283. type: string
  3284. vaultRole:
  3285. 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
  3286. type: string
  3287. required:
  3288. - vaultRole
  3289. type: object
  3290. jwt:
  3291. description: |-
  3292. Jwt authenticates with Vault by passing role and JWT token using the
  3293. JWT/OIDC authentication method
  3294. properties:
  3295. kubernetesServiceAccountToken:
  3296. description: |-
  3297. Optional ServiceAccountToken specifies the Kubernetes service account for which to request
  3298. a token for with the `TokenRequest` API.
  3299. properties:
  3300. audiences:
  3301. description: |-
  3302. Optional audiences field that will be used to request a temporary Kubernetes service
  3303. account token for the service account referenced by `serviceAccountRef`.
  3304. Defaults to a single audience `vault` it not specified.
  3305. Deprecated: use serviceAccountRef.Audiences instead
  3306. items:
  3307. type: string
  3308. type: array
  3309. expirationSeconds:
  3310. description: |-
  3311. Optional expiration time in seconds that will be used to request a temporary
  3312. Kubernetes service account token for the service account referenced by
  3313. `serviceAccountRef`.
  3314. Deprecated: this will be removed in the future.
  3315. Defaults to 10 minutes.
  3316. format: int64
  3317. type: integer
  3318. serviceAccountRef:
  3319. description: Service account field containing the name of a kubernetes ServiceAccount.
  3320. properties:
  3321. audiences:
  3322. description: |-
  3323. Audience specifies the `aud` claim for the service account token
  3324. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  3325. then this audiences will be appended to the list
  3326. items:
  3327. type: string
  3328. type: array
  3329. name:
  3330. description: The name of the ServiceAccount resource being referred to.
  3331. type: string
  3332. namespace:
  3333. description: |-
  3334. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3335. to the namespace of the referent.
  3336. type: string
  3337. required:
  3338. - name
  3339. type: object
  3340. required:
  3341. - serviceAccountRef
  3342. type: object
  3343. path:
  3344. default: jwt
  3345. description: |-
  3346. Path where the JWT authentication backend is mounted
  3347. in Vault, e.g: "jwt"
  3348. type: string
  3349. role:
  3350. description: |-
  3351. Role is a JWT role to authenticate using the JWT/OIDC Vault
  3352. authentication method
  3353. type: string
  3354. secretRef:
  3355. description: |-
  3356. Optional SecretRef that refers to a key in a Secret resource containing JWT token to
  3357. authenticate with Vault using the JWT/OIDC authentication method.
  3358. properties:
  3359. key:
  3360. description: |-
  3361. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3362. defaulted, in others it may be required.
  3363. type: string
  3364. name:
  3365. description: The name of the Secret resource being referred to.
  3366. type: string
  3367. namespace:
  3368. description: |-
  3369. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3370. to the namespace of the referent.
  3371. type: string
  3372. type: object
  3373. required:
  3374. - path
  3375. type: object
  3376. kubernetes:
  3377. description: |-
  3378. Kubernetes authenticates with Vault by passing the ServiceAccount
  3379. token stored in the named Secret resource to the Vault server.
  3380. properties:
  3381. mountPath:
  3382. default: kubernetes
  3383. description: |-
  3384. Path where the Kubernetes authentication backend is mounted in Vault, e.g:
  3385. "kubernetes"
  3386. type: string
  3387. role:
  3388. description: |-
  3389. A required field containing the Vault Role to assume. A Role binds a
  3390. Kubernetes ServiceAccount with a set of Vault policies.
  3391. type: string
  3392. secretRef:
  3393. description: |-
  3394. Optional secret field containing a Kubernetes ServiceAccount JWT used
  3395. for authenticating with Vault. If a name is specified without a key,
  3396. `token` is the default. If one is not specified, the one bound to
  3397. the controller will be used.
  3398. properties:
  3399. key:
  3400. description: |-
  3401. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3402. defaulted, in others it may be required.
  3403. type: string
  3404. name:
  3405. description: The name of the Secret resource being referred to.
  3406. type: string
  3407. namespace:
  3408. description: |-
  3409. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3410. to the namespace of the referent.
  3411. type: string
  3412. type: object
  3413. serviceAccountRef:
  3414. description: |-
  3415. Optional service account field containing the name of a kubernetes ServiceAccount.
  3416. If the service account is specified, the service account secret token JWT will be used
  3417. for authenticating with Vault. If the service account selector is not supplied,
  3418. the secretRef will be used instead.
  3419. properties:
  3420. audiences:
  3421. description: |-
  3422. Audience specifies the `aud` claim for the service account token
  3423. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  3424. then this audiences will be appended to the list
  3425. items:
  3426. type: string
  3427. type: array
  3428. name:
  3429. description: The name of the ServiceAccount resource being referred to.
  3430. type: string
  3431. namespace:
  3432. description: |-
  3433. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3434. to the namespace of the referent.
  3435. type: string
  3436. required:
  3437. - name
  3438. type: object
  3439. required:
  3440. - mountPath
  3441. - role
  3442. type: object
  3443. ldap:
  3444. description: |-
  3445. Ldap authenticates with Vault by passing username/password pair using
  3446. the LDAP authentication method
  3447. properties:
  3448. path:
  3449. default: ldap
  3450. description: |-
  3451. Path where the LDAP authentication backend is mounted
  3452. in Vault, e.g: "ldap"
  3453. type: string
  3454. secretRef:
  3455. description: |-
  3456. SecretRef to a key in a Secret resource containing password for the LDAP
  3457. user used to authenticate with Vault using the LDAP authentication
  3458. method
  3459. properties:
  3460. key:
  3461. description: |-
  3462. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3463. defaulted, in others it may be required.
  3464. type: string
  3465. name:
  3466. description: The name of the Secret resource being referred to.
  3467. type: string
  3468. namespace:
  3469. description: |-
  3470. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3471. to the namespace of the referent.
  3472. type: string
  3473. type: object
  3474. username:
  3475. description: |-
  3476. Username is a LDAP user name used to authenticate using the LDAP Vault
  3477. authentication method
  3478. type: string
  3479. required:
  3480. - path
  3481. - username
  3482. type: object
  3483. tokenSecretRef:
  3484. description: TokenSecretRef authenticates with Vault by presenting a token.
  3485. properties:
  3486. key:
  3487. description: |-
  3488. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3489. defaulted, in others it may be required.
  3490. type: string
  3491. name:
  3492. description: The name of the Secret resource being referred to.
  3493. type: string
  3494. namespace:
  3495. description: |-
  3496. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3497. to the namespace of the referent.
  3498. type: string
  3499. type: object
  3500. userPass:
  3501. description: UserPass authenticates with Vault by passing username/password pair
  3502. properties:
  3503. path:
  3504. default: user
  3505. description: |-
  3506. Path where the UserPassword authentication backend is mounted
  3507. in Vault, e.g: "user"
  3508. type: string
  3509. secretRef:
  3510. description: |-
  3511. SecretRef to a key in a Secret resource containing password for the
  3512. user used to authenticate with Vault using the UserPass authentication
  3513. method
  3514. properties:
  3515. key:
  3516. description: |-
  3517. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3518. defaulted, in others it may be required.
  3519. type: string
  3520. name:
  3521. description: The name of the Secret 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. type: object
  3529. username:
  3530. description: |-
  3531. Username is a user name used to authenticate using the UserPass Vault
  3532. authentication method
  3533. type: string
  3534. required:
  3535. - path
  3536. - username
  3537. type: object
  3538. type: object
  3539. caBundle:
  3540. description: |-
  3541. PEM encoded CA bundle used to validate Vault server certificate. Only used
  3542. if the Server URL is using HTTPS protocol. This parameter is ignored for
  3543. plain HTTP protocol connection. If not set the system root certificates
  3544. are used to validate the TLS connection.
  3545. format: byte
  3546. type: string
  3547. caProvider:
  3548. description: The provider for the CA bundle to use to validate Vault server certificate.
  3549. properties:
  3550. key:
  3551. description: The key where the CA certificate can be found in the Secret or ConfigMap.
  3552. type: string
  3553. name:
  3554. description: The name of the object located at the provider type.
  3555. type: string
  3556. namespace:
  3557. description: |-
  3558. The namespace the Provider type is in.
  3559. Can only be defined when used in a ClusterSecretStore.
  3560. type: string
  3561. type:
  3562. description: The type of provider to use such as "Secret", or "ConfigMap".
  3563. enum:
  3564. - Secret
  3565. - ConfigMap
  3566. type: string
  3567. required:
  3568. - name
  3569. - type
  3570. type: object
  3571. forwardInconsistent:
  3572. description: |-
  3573. ForwardInconsistent tells Vault to forward read-after-write requests to the Vault
  3574. leader instead of simply retrying within a loop. This can increase performance if
  3575. the option is enabled serverside.
  3576. https://www.vaultproject.io/docs/configuration/replication#allow_forwarding_via_header
  3577. type: boolean
  3578. namespace:
  3579. description: |-
  3580. Name of the vault namespace. Namespaces is a set of features within Vault Enterprise that allows
  3581. Vault environments to support Secure Multi-tenancy. e.g: "ns1".
  3582. More about namespaces can be found here https://www.vaultproject.io/docs/enterprise/namespaces
  3583. type: string
  3584. path:
  3585. description: |-
  3586. Path is the mount path of the Vault KV backend endpoint, e.g:
  3587. "secret". The v2 KV secret engine version specific "/data" path suffix
  3588. for fetching secrets from Vault is optional and will be appended
  3589. if not present in specified path.
  3590. type: string
  3591. readYourWrites:
  3592. description: |-
  3593. ReadYourWrites ensures isolated read-after-write semantics by
  3594. providing discovered cluster replication states in each request.
  3595. More information about eventual consistency in Vault can be found here
  3596. https://www.vaultproject.io/docs/enterprise/consistency
  3597. type: boolean
  3598. server:
  3599. description: 'Server is the connection address for the Vault server, e.g: "https://vault.example.com:8200".'
  3600. type: string
  3601. tls:
  3602. description: |-
  3603. The configuration used for client side related TLS communication, when the Vault server
  3604. requires mutual authentication. Only used if the Server URL is using HTTPS protocol.
  3605. This parameter is ignored for plain HTTP protocol connection.
  3606. It's worth noting this configuration is different from the "TLS certificates auth method",
  3607. which is available under the `auth.cert` section.
  3608. properties:
  3609. certSecretRef:
  3610. description: |-
  3611. CertSecretRef is a certificate added to the transport layer
  3612. when communicating with the Vault server.
  3613. If no key for the Secret is specified, external-secret will default to 'tls.crt'.
  3614. properties:
  3615. key:
  3616. description: |-
  3617. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3618. defaulted, in others it may be required.
  3619. type: string
  3620. name:
  3621. description: The name of the Secret resource being referred to.
  3622. type: string
  3623. namespace:
  3624. description: |-
  3625. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3626. to the namespace of the referent.
  3627. type: string
  3628. type: object
  3629. keySecretRef:
  3630. description: |-
  3631. KeySecretRef to a key in a Secret resource containing client private key
  3632. added to the transport layer when communicating with the Vault server.
  3633. If no key for the Secret is specified, external-secret will default to 'tls.key'.
  3634. properties:
  3635. key:
  3636. description: |-
  3637. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3638. defaulted, in others it may be required.
  3639. type: string
  3640. name:
  3641. description: The name of the Secret resource being referred to.
  3642. type: string
  3643. namespace:
  3644. description: |-
  3645. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3646. to the namespace of the referent.
  3647. type: string
  3648. type: object
  3649. type: object
  3650. version:
  3651. default: v2
  3652. description: |-
  3653. Version is the Vault KV secret engine version. This can be either "v1" or
  3654. "v2". Version defaults to "v2".
  3655. enum:
  3656. - v1
  3657. - v2
  3658. type: string
  3659. required:
  3660. - auth
  3661. - server
  3662. type: object
  3663. webhook:
  3664. description: Webhook configures this store to sync secrets using a generic templated webhook
  3665. properties:
  3666. body:
  3667. description: Body
  3668. type: string
  3669. caBundle:
  3670. description: |-
  3671. PEM encoded CA bundle used to validate webhook server certificate. Only used
  3672. if the Server URL is using HTTPS protocol. This parameter is ignored for
  3673. plain HTTP protocol connection. If not set the system root certificates
  3674. are used to validate the TLS connection.
  3675. format: byte
  3676. type: string
  3677. caProvider:
  3678. description: The provider for the CA bundle to use to validate webhook server certificate.
  3679. properties:
  3680. key:
  3681. description: The key the value inside of the provider type to use, only used with "Secret" type
  3682. type: string
  3683. name:
  3684. description: The name of the object located at the provider type.
  3685. type: string
  3686. namespace:
  3687. description: The namespace the Provider type is in.
  3688. type: string
  3689. type:
  3690. description: The type of provider to use such as "Secret", or "ConfigMap".
  3691. enum:
  3692. - Secret
  3693. - ConfigMap
  3694. type: string
  3695. required:
  3696. - name
  3697. - type
  3698. type: object
  3699. headers:
  3700. additionalProperties:
  3701. type: string
  3702. description: Headers
  3703. type: object
  3704. method:
  3705. description: Webhook Method
  3706. type: string
  3707. result:
  3708. description: Result formatting
  3709. properties:
  3710. jsonPath:
  3711. description: Json path of return value
  3712. type: string
  3713. type: object
  3714. secrets:
  3715. description: |-
  3716. Secrets to fill in templates
  3717. These secrets will be passed to the templating function as key value pairs under the given name
  3718. items:
  3719. properties:
  3720. name:
  3721. description: Name of this secret in templates
  3722. type: string
  3723. secretRef:
  3724. description: Secret ref to fill in credentials
  3725. properties:
  3726. key:
  3727. description: |-
  3728. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3729. defaulted, in others it may be required.
  3730. type: string
  3731. name:
  3732. description: The name of the Secret resource being referred to.
  3733. type: string
  3734. namespace:
  3735. description: |-
  3736. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3737. to the namespace of the referent.
  3738. type: string
  3739. type: object
  3740. required:
  3741. - name
  3742. - secretRef
  3743. type: object
  3744. type: array
  3745. timeout:
  3746. description: Timeout
  3747. type: string
  3748. url:
  3749. description: Webhook url to call
  3750. type: string
  3751. required:
  3752. - result
  3753. - url
  3754. type: object
  3755. yandexcertificatemanager:
  3756. description: YandexCertificateManager configures this store to sync secrets using Yandex Certificate Manager provider
  3757. properties:
  3758. apiEndpoint:
  3759. description: Yandex.Cloud API endpoint (e.g. 'api.cloud.yandex.net:443')
  3760. type: string
  3761. auth:
  3762. description: Auth defines the information necessary to authenticate against Yandex Certificate Manager
  3763. properties:
  3764. authorizedKeySecretRef:
  3765. description: The authorized key used for authentication
  3766. properties:
  3767. key:
  3768. description: |-
  3769. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3770. defaulted, in others it may be required.
  3771. type: string
  3772. name:
  3773. description: The name of the Secret resource being referred to.
  3774. type: string
  3775. namespace:
  3776. description: |-
  3777. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3778. to the namespace of the referent.
  3779. type: string
  3780. type: object
  3781. type: object
  3782. caProvider:
  3783. description: The provider for the CA bundle to use to validate Yandex.Cloud server certificate.
  3784. properties:
  3785. certSecretRef:
  3786. description: |-
  3787. A reference to a specific 'key' within a Secret resource,
  3788. In some instances, `key` is a required field.
  3789. properties:
  3790. key:
  3791. description: |-
  3792. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3793. defaulted, in others it may be required.
  3794. type: string
  3795. name:
  3796. description: The name of the Secret resource being referred to.
  3797. type: string
  3798. namespace:
  3799. description: |-
  3800. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3801. to the namespace of the referent.
  3802. type: string
  3803. type: object
  3804. type: object
  3805. required:
  3806. - auth
  3807. type: object
  3808. yandexlockbox:
  3809. description: YandexLockbox configures this store to sync secrets using Yandex Lockbox provider
  3810. properties:
  3811. apiEndpoint:
  3812. description: Yandex.Cloud API endpoint (e.g. 'api.cloud.yandex.net:443')
  3813. type: string
  3814. auth:
  3815. description: Auth defines the information necessary to authenticate against Yandex Lockbox
  3816. properties:
  3817. authorizedKeySecretRef:
  3818. description: The authorized key used for authentication
  3819. properties:
  3820. key:
  3821. description: |-
  3822. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3823. defaulted, in others it may be required.
  3824. type: string
  3825. name:
  3826. description: The name of the Secret resource being referred to.
  3827. type: string
  3828. namespace:
  3829. description: |-
  3830. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3831. to the namespace of the referent.
  3832. type: string
  3833. type: object
  3834. type: object
  3835. caProvider:
  3836. description: The provider for the CA bundle to use to validate Yandex.Cloud server certificate.
  3837. properties:
  3838. certSecretRef:
  3839. description: |-
  3840. A reference to a specific 'key' within a Secret resource,
  3841. In some instances, `key` is a required field.
  3842. properties:
  3843. key:
  3844. description: |-
  3845. The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be
  3846. defaulted, in others it may be required.
  3847. type: string
  3848. name:
  3849. description: The name of the Secret resource being referred to.
  3850. type: string
  3851. namespace:
  3852. description: |-
  3853. Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults
  3854. to the namespace of the referent.
  3855. type: string
  3856. type: object
  3857. type: object
  3858. required:
  3859. - auth
  3860. type: object
  3861. type: object
  3862. refreshInterval:
  3863. description: Used to configure store refresh interval in seconds. Empty or 0 will default to the controller config.
  3864. type: integer
  3865. retrySettings:
  3866. description: Used to configure http retries if failed
  3867. properties:
  3868. maxRetries:
  3869. format: int32
  3870. type: integer
  3871. retryInterval:
  3872. type: string
  3873. type: object
  3874. required:
  3875. - provider
  3876. type: object
  3877. status:
  3878. description: SecretStoreStatus defines the observed state of the SecretStore.
  3879. properties:
  3880. capabilities:
  3881. description: SecretStoreCapabilities defines the possible operations a SecretStore can do.
  3882. type: string
  3883. conditions:
  3884. items:
  3885. properties:
  3886. lastTransitionTime:
  3887. format: date-time
  3888. type: string
  3889. message:
  3890. type: string
  3891. reason:
  3892. type: string
  3893. status:
  3894. type: string
  3895. type:
  3896. type: string
  3897. required:
  3898. - status
  3899. - type
  3900. type: object
  3901. type: array
  3902. type: object
  3903. type: object
  3904. served: true
  3905. storage: true
  3906. subresources:
  3907. status: {}