external-secrets.io_secretstores.yaml 158 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.9.2
  6. creationTimestamp: null
  7. name: secretstores.external-secrets.io
  8. spec:
  9. group: external-secrets.io
  10. names:
  11. categories:
  12. - externalsecrets
  13. kind: SecretStore
  14. listKind: SecretStoreList
  15. plural: secretstores
  16. shortNames:
  17. - ss
  18. singular: secretstore
  19. scope: Namespaced
  20. versions:
  21. - additionalPrinterColumns:
  22. - jsonPath: .metadata.creationTimestamp
  23. name: AGE
  24. type: date
  25. - jsonPath: .status.conditions[?(@.type=="Ready")].reason
  26. name: Status
  27. type: string
  28. deprecated: true
  29. name: v1alpha1
  30. schema:
  31. openAPIV3Schema:
  32. description: SecretStore represents a secure external location for storing
  33. secrets, which can be referenced as part of `storeRef` fields.
  34. properties:
  35. apiVersion:
  36. description: 'APIVersion defines the versioned schema of this representation
  37. of an object. Servers should convert recognized schemas to the latest
  38. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  39. type: string
  40. kind:
  41. description: 'Kind is a string value representing the REST resource this
  42. object represents. Servers may infer this from the endpoint the client
  43. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  44. type: string
  45. metadata:
  46. type: object
  47. spec:
  48. description: SecretStoreSpec defines the desired state of SecretStore.
  49. properties:
  50. controller:
  51. description: 'Used to select the correct KES controller (think: ingress.ingressClassName)
  52. The KES controller is instantiated with a specific controller name
  53. and filters ES based on this property'
  54. type: string
  55. provider:
  56. description: Used to configure the provider. Only one provider may
  57. be set
  58. maxProperties: 1
  59. minProperties: 1
  60. properties:
  61. akeyless:
  62. description: Akeyless configures this store to sync secrets using
  63. Akeyless Vault provider
  64. properties:
  65. akeylessGWApiURL:
  66. description: Akeyless GW API Url from which the secrets to
  67. be fetched from.
  68. type: string
  69. authSecretRef:
  70. description: Auth configures how the operator authenticates
  71. with Akeyless.
  72. properties:
  73. secretRef:
  74. description: 'AkeylessAuthSecretRef AKEYLESS_ACCESS_TYPE_PARAM:
  75. AZURE_OBJ_ID OR GCP_AUDIENCE OR ACCESS_KEY OR KUB_CONFIG_NAME.'
  76. properties:
  77. accessID:
  78. description: The SecretAccessID is used for authentication
  79. properties:
  80. key:
  81. description: The key of the entry in the Secret
  82. resource's `data` field to be used. Some instances
  83. of this field may be defaulted, in others it
  84. may be required.
  85. type: string
  86. name:
  87. description: The name of the Secret resource being
  88. referred to.
  89. type: string
  90. namespace:
  91. description: Namespace of the resource being referred
  92. to. Ignored if referent is not cluster-scoped.
  93. cluster-scoped defaults to the namespace of
  94. the referent.
  95. type: string
  96. type: object
  97. accessType:
  98. description: A reference to a specific 'key' within
  99. a Secret resource, In some instances, `key` is a
  100. required field.
  101. properties:
  102. key:
  103. description: The key of the entry in the Secret
  104. resource's `data` field to be used. Some instances
  105. of this field may be defaulted, in others it
  106. may be required.
  107. type: string
  108. name:
  109. description: The name of the Secret resource being
  110. referred to.
  111. type: string
  112. namespace:
  113. description: Namespace of the resource being referred
  114. to. Ignored if referent is not cluster-scoped.
  115. cluster-scoped defaults to the namespace of
  116. the referent.
  117. type: string
  118. type: object
  119. accessTypeParam:
  120. description: A reference to a specific 'key' within
  121. a Secret resource, In some instances, `key` is a
  122. required field.
  123. properties:
  124. key:
  125. description: The key of the entry in the Secret
  126. resource's `data` field to be used. Some instances
  127. of this field may be defaulted, in others it
  128. may be required.
  129. type: string
  130. name:
  131. description: The name of the Secret resource being
  132. referred to.
  133. type: string
  134. namespace:
  135. description: Namespace of the resource being referred
  136. to. Ignored if referent is not cluster-scoped.
  137. cluster-scoped defaults to the namespace of
  138. the referent.
  139. type: string
  140. type: object
  141. type: object
  142. required:
  143. - secretRef
  144. type: object
  145. required:
  146. - akeylessGWApiURL
  147. - authSecretRef
  148. type: object
  149. alibaba:
  150. description: Alibaba configures this store to sync secrets using
  151. Alibaba Cloud provider
  152. properties:
  153. auth:
  154. description: AlibabaAuth contains a secretRef for credentials.
  155. properties:
  156. secretRef:
  157. description: AlibabaAuthSecretRef holds secret references
  158. for Alibaba credentials.
  159. properties:
  160. accessKeyIDSecretRef:
  161. description: The AccessKeyID is used for authentication
  162. properties:
  163. key:
  164. description: The key of the entry in the Secret
  165. resource's `data` field to be used. Some instances
  166. of this field may be defaulted, in others it
  167. may be required.
  168. type: string
  169. name:
  170. description: The name of the Secret resource being
  171. referred to.
  172. type: string
  173. namespace:
  174. description: Namespace of the resource being referred
  175. to. Ignored if referent is not cluster-scoped.
  176. cluster-scoped defaults to the namespace of
  177. the referent.
  178. type: string
  179. type: object
  180. accessKeySecretSecretRef:
  181. description: The AccessKeySecret is used for authentication
  182. properties:
  183. key:
  184. description: The key of the entry in the Secret
  185. resource's `data` field to be used. Some instances
  186. of this field may be defaulted, in others it
  187. may be required.
  188. type: string
  189. name:
  190. description: The name of the Secret resource being
  191. referred to.
  192. type: string
  193. namespace:
  194. description: Namespace of the resource being referred
  195. to. Ignored if referent is not cluster-scoped.
  196. cluster-scoped defaults to the namespace of
  197. the referent.
  198. type: string
  199. type: object
  200. required:
  201. - accessKeyIDSecretRef
  202. - accessKeySecretSecretRef
  203. type: object
  204. required:
  205. - secretRef
  206. type: object
  207. endpoint:
  208. type: string
  209. regionID:
  210. description: Alibaba Region to be used for the provider
  211. type: string
  212. required:
  213. - auth
  214. - regionID
  215. type: object
  216. aws:
  217. description: AWS configures this store to sync secrets using AWS
  218. Secret Manager provider
  219. properties:
  220. auth:
  221. description: 'Auth defines the information necessary to authenticate
  222. against AWS if not set aws sdk will infer credentials from
  223. your environment see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
  224. properties:
  225. jwt:
  226. description: Authenticate against AWS using service account
  227. tokens.
  228. properties:
  229. serviceAccountRef:
  230. description: A reference to a ServiceAccount resource.
  231. properties:
  232. name:
  233. description: The name of the ServiceAccount resource
  234. being referred to.
  235. type: string
  236. namespace:
  237. description: Namespace of the resource being referred
  238. to. Ignored if referent is not cluster-scoped.
  239. cluster-scoped defaults to the namespace of
  240. the referent.
  241. type: string
  242. required:
  243. - name
  244. type: object
  245. type: object
  246. secretRef:
  247. description: AWSAuthSecretRef holds secret references
  248. for AWS credentials both AccessKeyID and SecretAccessKey
  249. must be defined in order to properly authenticate.
  250. properties:
  251. accessKeyIDSecretRef:
  252. description: The AccessKeyID is used for authentication
  253. properties:
  254. key:
  255. description: The key of the entry in the Secret
  256. resource's `data` field to be used. Some instances
  257. of this field may be defaulted, in others it
  258. may be required.
  259. type: string
  260. name:
  261. description: The name of the Secret resource being
  262. referred to.
  263. type: string
  264. namespace:
  265. description: Namespace of the resource being referred
  266. to. Ignored if referent is not cluster-scoped.
  267. cluster-scoped defaults to the namespace of
  268. the referent.
  269. type: string
  270. type: object
  271. secretAccessKeySecretRef:
  272. description: The SecretAccessKey is used for authentication
  273. properties:
  274. key:
  275. description: The key of the entry in the Secret
  276. resource's `data` field to be used. Some instances
  277. of this field may be defaulted, in others it
  278. may be required.
  279. type: string
  280. name:
  281. description: The name of the Secret resource being
  282. referred to.
  283. type: string
  284. namespace:
  285. description: Namespace of the resource being referred
  286. to. Ignored if referent is not cluster-scoped.
  287. cluster-scoped defaults to the namespace of
  288. the referent.
  289. type: string
  290. type: object
  291. type: object
  292. type: object
  293. region:
  294. description: AWS Region to be used for the provider
  295. type: string
  296. role:
  297. description: Role is a Role ARN which the SecretManager provider
  298. will assume
  299. type: string
  300. service:
  301. description: Service defines which service should be used
  302. to fetch the secrets
  303. enum:
  304. - SecretsManager
  305. - ParameterStore
  306. type: string
  307. required:
  308. - region
  309. - service
  310. type: object
  311. azurekv:
  312. description: AzureKV configures this store to sync secrets using
  313. Azure Key Vault provider
  314. properties:
  315. authSecretRef:
  316. description: Auth configures how the operator authenticates
  317. with Azure. Required for ServicePrincipal auth type.
  318. properties:
  319. clientId:
  320. description: The Azure clientId of the service principle
  321. used for authentication.
  322. properties:
  323. key:
  324. description: The key of the entry in the Secret resource's
  325. `data` field to be used. Some instances of this
  326. field may be defaulted, in others it may be required.
  327. type: string
  328. name:
  329. description: The name of the Secret resource being
  330. referred to.
  331. type: string
  332. namespace:
  333. description: Namespace of the resource being referred
  334. to. Ignored if referent is not cluster-scoped. cluster-scoped
  335. defaults to the namespace of the referent.
  336. type: string
  337. type: object
  338. clientSecret:
  339. description: The Azure ClientSecret of the service principle
  340. used for authentication.
  341. properties:
  342. key:
  343. description: The key of the entry in the Secret resource's
  344. `data` field to be used. Some instances of this
  345. field may be defaulted, in others it may be required.
  346. type: string
  347. name:
  348. description: The name of the Secret resource being
  349. referred to.
  350. type: string
  351. namespace:
  352. description: Namespace of the resource being referred
  353. to. Ignored if referent is not cluster-scoped. cluster-scoped
  354. defaults to the namespace of the referent.
  355. type: string
  356. type: object
  357. type: object
  358. authType:
  359. default: ServicePrincipal
  360. description: 'Auth type defines how to authenticate to the
  361. keyvault service. Valid values are: - "ServicePrincipal"
  362. (default): Using a service principal (tenantId, clientId,
  363. clientSecret) - "ManagedIdentity": Using Managed Identity
  364. assigned to the pod (see aad-pod-identity)'
  365. enum:
  366. - ServicePrincipal
  367. - ManagedIdentity
  368. - WorkloadIdentity
  369. type: string
  370. identityId:
  371. description: If multiple Managed Identity is assigned to the
  372. pod, you can select the one to be used
  373. type: string
  374. serviceAccountRef:
  375. description: ServiceAccountRef specified the service account
  376. that should be used when authenticating with WorkloadIdentity.
  377. properties:
  378. name:
  379. description: The name of the ServiceAccount resource being
  380. referred to.
  381. type: string
  382. namespace:
  383. description: Namespace of the resource being referred
  384. to. Ignored if referent is not cluster-scoped. cluster-scoped
  385. defaults to the namespace of the referent.
  386. type: string
  387. required:
  388. - name
  389. type: object
  390. tenantId:
  391. description: TenantID configures the Azure Tenant to send
  392. requests to. Required for ServicePrincipal auth type.
  393. type: string
  394. vaultUrl:
  395. description: Vault Url from which the secrets to be fetched
  396. from.
  397. type: string
  398. required:
  399. - vaultUrl
  400. type: object
  401. fake:
  402. description: Fake configures a store with static key/value pairs
  403. properties:
  404. data:
  405. items:
  406. properties:
  407. key:
  408. type: string
  409. value:
  410. type: string
  411. valueMap:
  412. additionalProperties:
  413. type: string
  414. type: object
  415. version:
  416. type: string
  417. required:
  418. - key
  419. type: object
  420. type: array
  421. required:
  422. - data
  423. type: object
  424. gcpsm:
  425. description: GCPSM configures this store to sync secrets using
  426. Google Cloud Platform Secret Manager provider
  427. properties:
  428. auth:
  429. description: Auth defines the information necessary to authenticate
  430. against GCP
  431. properties:
  432. secretRef:
  433. properties:
  434. secretAccessKeySecretRef:
  435. description: The SecretAccessKey is used for authentication
  436. properties:
  437. key:
  438. description: The key of the entry in the Secret
  439. resource's `data` field to be used. Some instances
  440. of this field may be defaulted, in others it
  441. may be required.
  442. type: string
  443. name:
  444. description: The name of the Secret resource being
  445. referred to.
  446. type: string
  447. namespace:
  448. description: Namespace of the resource being referred
  449. to. Ignored if referent is not cluster-scoped.
  450. cluster-scoped defaults to the namespace of
  451. the referent.
  452. type: string
  453. type: object
  454. type: object
  455. workloadIdentity:
  456. properties:
  457. clusterLocation:
  458. type: string
  459. clusterName:
  460. type: string
  461. clusterProjectID:
  462. type: string
  463. serviceAccountRef:
  464. description: A reference to a ServiceAccount resource.
  465. properties:
  466. name:
  467. description: The name of the ServiceAccount resource
  468. being referred to.
  469. type: string
  470. namespace:
  471. description: Namespace of the resource being referred
  472. to. Ignored if referent is not cluster-scoped.
  473. cluster-scoped defaults to the namespace of
  474. the referent.
  475. type: string
  476. required:
  477. - name
  478. type: object
  479. required:
  480. - clusterLocation
  481. - clusterName
  482. - serviceAccountRef
  483. type: object
  484. type: object
  485. projectID:
  486. description: ProjectID project where secret is located
  487. type: string
  488. type: object
  489. gitlab:
  490. description: Gitlab configures this store to sync secrets using
  491. Gitlab Variables provider
  492. properties:
  493. auth:
  494. description: Auth configures how secret-manager authenticates
  495. with a GitLab instance.
  496. properties:
  497. SecretRef:
  498. properties:
  499. accessToken:
  500. description: AccessToken is used for authentication.
  501. properties:
  502. key:
  503. description: The key of the entry in the Secret
  504. resource's `data` field to be used. Some instances
  505. of this field may be defaulted, in others it
  506. may be required.
  507. type: string
  508. name:
  509. description: The name of the Secret resource being
  510. referred to.
  511. type: string
  512. namespace:
  513. description: Namespace of the resource being referred
  514. to. Ignored if referent is not cluster-scoped.
  515. cluster-scoped defaults to the namespace of
  516. the referent.
  517. type: string
  518. type: object
  519. type: object
  520. required:
  521. - SecretRef
  522. type: object
  523. projectID:
  524. description: ProjectID specifies a project where secrets are
  525. located.
  526. type: string
  527. url:
  528. description: URL configures the GitLab instance URL. Defaults
  529. to https://gitlab.com/.
  530. type: string
  531. required:
  532. - auth
  533. type: object
  534. ibm:
  535. description: IBM configures this store to sync secrets using IBM
  536. Cloud provider
  537. properties:
  538. auth:
  539. description: Auth configures how secret-manager authenticates
  540. with the IBM secrets manager.
  541. properties:
  542. secretRef:
  543. properties:
  544. secretApiKeySecretRef:
  545. description: The SecretAccessKey is used for authentication
  546. properties:
  547. key:
  548. description: The key of the entry in the Secret
  549. resource's `data` field to be used. Some instances
  550. of this field may be defaulted, in others it
  551. may be required.
  552. type: string
  553. name:
  554. description: The name of the Secret resource being
  555. referred to.
  556. type: string
  557. namespace:
  558. description: Namespace of the resource being referred
  559. to. Ignored if referent is not cluster-scoped.
  560. cluster-scoped defaults to the namespace of
  561. the referent.
  562. type: string
  563. type: object
  564. type: object
  565. required:
  566. - secretRef
  567. type: object
  568. serviceUrl:
  569. description: ServiceURL is the Endpoint URL that is specific
  570. to the Secrets Manager service instance
  571. type: string
  572. required:
  573. - auth
  574. type: object
  575. kubernetes:
  576. description: Kubernetes configures this store to sync secrets
  577. using a Kubernetes cluster provider
  578. properties:
  579. auth:
  580. description: Auth configures how secret-manager authenticates
  581. with a Kubernetes instance.
  582. maxProperties: 1
  583. minProperties: 1
  584. properties:
  585. cert:
  586. description: has both clientCert and clientKey as secretKeySelector
  587. properties:
  588. clientCert:
  589. description: A reference to a specific 'key' within
  590. a Secret resource, In some instances, `key` is a
  591. required field.
  592. properties:
  593. key:
  594. description: The key of the entry in the Secret
  595. resource's `data` field to be used. Some instances
  596. of this field may be defaulted, in others it
  597. may be required.
  598. type: string
  599. name:
  600. description: The name of the Secret resource being
  601. referred to.
  602. type: string
  603. namespace:
  604. description: Namespace of the resource being referred
  605. to. Ignored if referent is not cluster-scoped.
  606. cluster-scoped defaults to the namespace of
  607. the referent.
  608. type: string
  609. type: object
  610. clientKey:
  611. description: A reference to a specific 'key' within
  612. a Secret resource, In some instances, `key` is a
  613. required field.
  614. properties:
  615. key:
  616. description: The key of the entry in the Secret
  617. resource's `data` field to be used. Some instances
  618. of this field may be defaulted, in others it
  619. may be required.
  620. type: string
  621. name:
  622. description: The name of the Secret resource being
  623. referred to.
  624. type: string
  625. namespace:
  626. description: Namespace of the resource being referred
  627. to. Ignored if referent is not cluster-scoped.
  628. cluster-scoped defaults to the namespace of
  629. the referent.
  630. type: string
  631. type: object
  632. type: object
  633. serviceAccount:
  634. description: points to a service account that should be
  635. used for authentication
  636. properties:
  637. serviceAccount:
  638. description: A reference to a ServiceAccount resource.
  639. properties:
  640. name:
  641. description: The name of the ServiceAccount resource
  642. being referred to.
  643. type: string
  644. namespace:
  645. description: Namespace of the resource being referred
  646. to. Ignored if referent is not cluster-scoped.
  647. cluster-scoped defaults to the namespace of
  648. the referent.
  649. type: string
  650. required:
  651. - name
  652. type: object
  653. type: object
  654. token:
  655. description: use static token to authenticate with
  656. properties:
  657. bearerToken:
  658. description: A reference to a specific 'key' within
  659. a Secret resource, In some instances, `key` is a
  660. required field.
  661. properties:
  662. key:
  663. description: The key of the entry in the Secret
  664. resource's `data` field to be used. Some instances
  665. of this field may be defaulted, in others it
  666. may be required.
  667. type: string
  668. name:
  669. description: The name of the Secret resource being
  670. referred to.
  671. type: string
  672. namespace:
  673. description: Namespace of the resource being referred
  674. to. Ignored if referent is not cluster-scoped.
  675. cluster-scoped defaults to the namespace of
  676. the referent.
  677. type: string
  678. type: object
  679. type: object
  680. type: object
  681. remoteNamespace:
  682. default: default
  683. description: Remote namespace to fetch the secrets from
  684. type: string
  685. server:
  686. description: configures the Kubernetes server Address.
  687. properties:
  688. caBundle:
  689. description: CABundle is a base64-encoded CA certificate
  690. format: byte
  691. type: string
  692. caProvider:
  693. description: 'see: https://external-secrets.io/v0.4.1/spec/#external-secrets.io/v1alpha1.CAProvider'
  694. properties:
  695. key:
  696. description: The key the value inside of the provider
  697. type to use, only used with "Secret" type
  698. type: string
  699. name:
  700. description: The name of the object located at the
  701. provider type.
  702. type: string
  703. namespace:
  704. description: The namespace the Provider type is in.
  705. type: string
  706. type:
  707. description: The type of provider to use such as "Secret",
  708. or "ConfigMap".
  709. enum:
  710. - Secret
  711. - ConfigMap
  712. type: string
  713. required:
  714. - name
  715. - type
  716. type: object
  717. url:
  718. default: kubernetes.default
  719. description: configures the Kubernetes server Address.
  720. type: string
  721. type: object
  722. required:
  723. - auth
  724. type: object
  725. oracle:
  726. description: Oracle configures this store to sync secrets using
  727. Oracle Vault provider
  728. properties:
  729. auth:
  730. description: Auth configures how secret-manager authenticates
  731. with the Oracle Vault. If empty, use the instance principal,
  732. otherwise the user credentials specified in Auth.
  733. properties:
  734. secretRef:
  735. description: SecretRef to pass through sensitive information.
  736. properties:
  737. fingerprint:
  738. description: Fingerprint is the fingerprint of the
  739. API private key.
  740. properties:
  741. key:
  742. description: The key of the entry in the Secret
  743. resource's `data` field to be used. Some instances
  744. of this field may be defaulted, in others it
  745. may be required.
  746. type: string
  747. name:
  748. description: The name of the Secret resource being
  749. referred to.
  750. type: string
  751. namespace:
  752. description: Namespace of the resource being referred
  753. to. Ignored if referent is not cluster-scoped.
  754. cluster-scoped defaults to the namespace of
  755. the referent.
  756. type: string
  757. type: object
  758. privatekey:
  759. description: PrivateKey is the user's API Signing
  760. Key in PEM format, used for authentication.
  761. properties:
  762. key:
  763. description: The key of the entry in the Secret
  764. resource's `data` field to be used. Some instances
  765. of this field may be defaulted, in others it
  766. may be required.
  767. type: string
  768. name:
  769. description: The name of the Secret resource being
  770. referred to.
  771. type: string
  772. namespace:
  773. description: Namespace of the resource being referred
  774. to. Ignored if referent is not cluster-scoped.
  775. cluster-scoped defaults to the namespace of
  776. the referent.
  777. type: string
  778. type: object
  779. required:
  780. - fingerprint
  781. - privatekey
  782. type: object
  783. tenancy:
  784. description: Tenancy is the tenancy OCID where user is
  785. located.
  786. type: string
  787. user:
  788. description: User is an access OCID specific to the account.
  789. type: string
  790. required:
  791. - secretRef
  792. - tenancy
  793. - user
  794. type: object
  795. region:
  796. description: Region is the region where vault is located.
  797. type: string
  798. vault:
  799. description: Vault is the vault's OCID of the specific vault
  800. where secret is located.
  801. type: string
  802. required:
  803. - region
  804. - vault
  805. type: object
  806. vault:
  807. description: Vault configures this store to sync secrets using
  808. Hashi provider
  809. properties:
  810. auth:
  811. description: Auth configures how secret-manager authenticates
  812. with the Vault server.
  813. properties:
  814. appRole:
  815. description: AppRole authenticates with Vault using the
  816. App Role auth mechanism, with the role and secret stored
  817. in a Kubernetes Secret resource.
  818. properties:
  819. path:
  820. default: approle
  821. description: 'Path where the App Role authentication
  822. backend is mounted in Vault, e.g: "approle"'
  823. type: string
  824. roleId:
  825. description: RoleID configured in the App Role authentication
  826. backend when setting up the authentication backend
  827. in Vault.
  828. type: string
  829. secretRef:
  830. description: Reference to a key in a Secret that contains
  831. the App Role secret used to authenticate with Vault.
  832. The `key` field must be specified and denotes which
  833. entry within the Secret resource is used as the
  834. app role secret.
  835. properties:
  836. key:
  837. description: The key of the entry in the Secret
  838. resource's `data` field to be used. Some instances
  839. of this field may be defaulted, in others it
  840. may be required.
  841. type: string
  842. name:
  843. description: The name of the Secret resource being
  844. referred to.
  845. type: string
  846. namespace:
  847. description: Namespace of the resource being referred
  848. to. Ignored if referent is not cluster-scoped.
  849. cluster-scoped defaults to the namespace of
  850. the referent.
  851. type: string
  852. type: object
  853. required:
  854. - path
  855. - roleId
  856. - secretRef
  857. type: object
  858. cert:
  859. description: Cert authenticates with TLS Certificates
  860. by passing client certificate, private key and ca certificate
  861. Cert authentication method
  862. properties:
  863. clientCert:
  864. description: ClientCert is a certificate to authenticate
  865. using the Cert Vault authentication method
  866. properties:
  867. key:
  868. description: The key of the entry in the Secret
  869. resource's `data` field to be used. Some instances
  870. of this field may be defaulted, in others it
  871. may be required.
  872. type: string
  873. name:
  874. description: The name of the Secret resource being
  875. referred to.
  876. type: string
  877. namespace:
  878. description: Namespace of the resource being referred
  879. to. Ignored if referent is not cluster-scoped.
  880. cluster-scoped defaults to the namespace of
  881. the referent.
  882. type: string
  883. type: object
  884. secretRef:
  885. description: SecretRef to a key in a Secret resource
  886. containing client private key to authenticate with
  887. Vault using the Cert authentication method
  888. properties:
  889. key:
  890. description: The key of the entry in the Secret
  891. resource's `data` field to be used. Some instances
  892. of this field may be defaulted, in others it
  893. may be required.
  894. type: string
  895. name:
  896. description: The name of the Secret resource being
  897. referred to.
  898. type: string
  899. namespace:
  900. description: Namespace of the resource being referred
  901. to. Ignored if referent is not cluster-scoped.
  902. cluster-scoped defaults to the namespace of
  903. the referent.
  904. type: string
  905. type: object
  906. type: object
  907. jwt:
  908. description: Jwt authenticates with Vault by passing role
  909. and JWT token using the JWT/OIDC authentication method
  910. properties:
  911. kubernetesServiceAccountToken:
  912. description: Optional ServiceAccountToken specifies
  913. the Kubernetes service account for which to request
  914. a token for with the `TokenRequest` API.
  915. properties:
  916. audiences:
  917. description: Optional audiences field that will
  918. be used to request a temporary Kubernetes service
  919. account token for the service account referenced
  920. by `serviceAccountRef`. Defaults to a single
  921. audience `vault` it not specified.
  922. items:
  923. type: string
  924. type: array
  925. expirationSeconds:
  926. description: Optional expiration time in seconds
  927. that will be used to request a temporary Kubernetes
  928. service account token for the service account
  929. referenced by `serviceAccountRef`. Defaults
  930. to 10 minutes.
  931. format: int64
  932. type: integer
  933. serviceAccountRef:
  934. description: Service account field containing
  935. the name of a kubernetes ServiceAccount.
  936. properties:
  937. name:
  938. description: The name of the ServiceAccount
  939. resource being referred to.
  940. type: string
  941. namespace:
  942. description: Namespace of the resource being
  943. referred to. Ignored if referent is not
  944. cluster-scoped. cluster-scoped defaults
  945. to the namespace of the referent.
  946. type: string
  947. required:
  948. - name
  949. type: object
  950. required:
  951. - serviceAccountRef
  952. type: object
  953. path:
  954. default: jwt
  955. description: 'Path where the JWT authentication backend
  956. is mounted in Vault, e.g: "jwt"'
  957. type: string
  958. role:
  959. description: Role is a JWT role to authenticate using
  960. the JWT/OIDC Vault authentication method
  961. type: string
  962. secretRef:
  963. description: Optional SecretRef that refers to a key
  964. in a Secret resource containing JWT token to authenticate
  965. with Vault using the JWT/OIDC authentication method.
  966. properties:
  967. key:
  968. description: The key of the entry in the Secret
  969. resource's `data` field to be used. Some instances
  970. of this field may be defaulted, in others it
  971. may be required.
  972. type: string
  973. name:
  974. description: The name of the Secret resource being
  975. referred to.
  976. type: string
  977. namespace:
  978. description: Namespace of the resource being referred
  979. to. Ignored if referent is not cluster-scoped.
  980. cluster-scoped defaults to the namespace of
  981. the referent.
  982. type: string
  983. type: object
  984. required:
  985. - path
  986. type: object
  987. kubernetes:
  988. description: Kubernetes authenticates with Vault by passing
  989. the ServiceAccount token stored in the named Secret
  990. resource to the Vault server.
  991. properties:
  992. mountPath:
  993. default: kubernetes
  994. description: 'Path where the Kubernetes authentication
  995. backend is mounted in Vault, e.g: "kubernetes"'
  996. type: string
  997. role:
  998. description: A required field containing the Vault
  999. Role to assume. A Role binds a Kubernetes ServiceAccount
  1000. with a set of Vault policies.
  1001. type: string
  1002. secretRef:
  1003. description: Optional secret field containing a Kubernetes
  1004. ServiceAccount JWT used for authenticating with
  1005. Vault. If a name is specified without a key, `token`
  1006. is the default. If one is not specified, the one
  1007. bound to the controller will be used.
  1008. properties:
  1009. key:
  1010. description: The key of the entry in the Secret
  1011. resource's `data` field to be used. Some instances
  1012. of this field may be defaulted, in others it
  1013. may be required.
  1014. type: string
  1015. name:
  1016. description: The name of the Secret resource being
  1017. referred to.
  1018. type: string
  1019. namespace:
  1020. description: Namespace of the resource being referred
  1021. to. Ignored if referent is not cluster-scoped.
  1022. cluster-scoped defaults to the namespace of
  1023. the referent.
  1024. type: string
  1025. type: object
  1026. serviceAccountRef:
  1027. description: Optional service account field containing
  1028. the name of a kubernetes ServiceAccount. If the
  1029. service account is specified, the service account
  1030. secret token JWT will be used for authenticating
  1031. with Vault. If the service account selector is not
  1032. supplied, the secretRef will be used instead.
  1033. properties:
  1034. name:
  1035. description: The name of the ServiceAccount resource
  1036. being referred to.
  1037. type: string
  1038. namespace:
  1039. description: Namespace of the resource being referred
  1040. to. Ignored if referent is not cluster-scoped.
  1041. cluster-scoped defaults to the namespace of
  1042. the referent.
  1043. type: string
  1044. required:
  1045. - name
  1046. type: object
  1047. required:
  1048. - mountPath
  1049. - role
  1050. type: object
  1051. ldap:
  1052. description: Ldap authenticates with Vault by passing
  1053. username/password pair using the LDAP authentication
  1054. method
  1055. properties:
  1056. path:
  1057. default: ldap
  1058. description: 'Path where the LDAP authentication backend
  1059. is mounted in Vault, e.g: "ldap"'
  1060. type: string
  1061. secretRef:
  1062. description: SecretRef to a key in a Secret resource
  1063. containing password for the LDAP user used to authenticate
  1064. with Vault using the LDAP authentication method
  1065. properties:
  1066. key:
  1067. description: The key of the entry in the Secret
  1068. resource's `data` field to be used. Some instances
  1069. of this field may be defaulted, in others it
  1070. may be required.
  1071. type: string
  1072. name:
  1073. description: The name of the Secret resource being
  1074. referred to.
  1075. type: string
  1076. namespace:
  1077. description: Namespace of the resource being referred
  1078. to. Ignored if referent is not cluster-scoped.
  1079. cluster-scoped defaults to the namespace of
  1080. the referent.
  1081. type: string
  1082. type: object
  1083. username:
  1084. description: Username is a LDAP user name used to
  1085. authenticate using the LDAP Vault authentication
  1086. method
  1087. type: string
  1088. required:
  1089. - path
  1090. - username
  1091. type: object
  1092. tokenSecretRef:
  1093. description: TokenSecretRef authenticates with Vault by
  1094. presenting a token.
  1095. properties:
  1096. key:
  1097. description: The key of the entry in the Secret resource's
  1098. `data` field to be used. Some instances of this
  1099. field may be defaulted, in others it may be required.
  1100. type: string
  1101. name:
  1102. description: The name of the Secret resource being
  1103. referred to.
  1104. type: string
  1105. namespace:
  1106. description: Namespace of the resource being referred
  1107. to. Ignored if referent is not cluster-scoped. cluster-scoped
  1108. defaults to the namespace of the referent.
  1109. type: string
  1110. type: object
  1111. type: object
  1112. caBundle:
  1113. description: PEM encoded CA bundle used to validate Vault
  1114. server certificate. Only used if the Server URL is using
  1115. HTTPS protocol. This parameter is ignored for plain HTTP
  1116. protocol connection. If not set the system root certificates
  1117. are used to validate the TLS connection.
  1118. format: byte
  1119. type: string
  1120. caProvider:
  1121. description: The provider for the CA bundle to use to validate
  1122. Vault server certificate.
  1123. properties:
  1124. key:
  1125. description: The key the value inside of the provider
  1126. type to use, only used with "Secret" type
  1127. type: string
  1128. name:
  1129. description: The name of the object located at the provider
  1130. type.
  1131. type: string
  1132. namespace:
  1133. description: The namespace the Provider type is in.
  1134. type: string
  1135. type:
  1136. description: The type of provider to use such as "Secret",
  1137. or "ConfigMap".
  1138. enum:
  1139. - Secret
  1140. - ConfigMap
  1141. type: string
  1142. required:
  1143. - name
  1144. - type
  1145. type: object
  1146. forwardInconsistent:
  1147. description: ForwardInconsistent tells Vault to forward read-after-write
  1148. requests to the Vault leader instead of simply retrying
  1149. within a loop. This can increase performance if the option
  1150. is enabled serverside. https://www.vaultproject.io/docs/configuration/replication#allow_forwarding_via_header
  1151. type: boolean
  1152. namespace:
  1153. description: 'Name of the vault namespace. Namespaces is a
  1154. set of features within Vault Enterprise that allows Vault
  1155. environments to support Secure Multi-tenancy. e.g: "ns1".
  1156. More about namespaces can be found here https://www.vaultproject.io/docs/enterprise/namespaces'
  1157. type: string
  1158. path:
  1159. description: 'Path is the mount path of the Vault KV backend
  1160. endpoint, e.g: "secret". The v2 KV secret engine version
  1161. specific "/data" path suffix for fetching secrets from Vault
  1162. is optional and will be appended if not present in specified
  1163. path.'
  1164. type: string
  1165. readYourWrites:
  1166. description: ReadYourWrites ensures isolated read-after-write
  1167. semantics by providing discovered cluster replication states
  1168. in each request. More information about eventual consistency
  1169. in Vault can be found here https://www.vaultproject.io/docs/enterprise/consistency
  1170. type: boolean
  1171. server:
  1172. description: 'Server is the connection address for the Vault
  1173. server, e.g: "https://vault.example.com:8200".'
  1174. type: string
  1175. version:
  1176. default: v2
  1177. description: Version is the Vault KV secret engine version.
  1178. This can be either "v1" or "v2". Version defaults to "v2".
  1179. enum:
  1180. - v1
  1181. - v2
  1182. type: string
  1183. required:
  1184. - auth
  1185. - server
  1186. type: object
  1187. webhook:
  1188. description: Webhook configures this store to sync secrets using
  1189. a generic templated webhook
  1190. properties:
  1191. body:
  1192. description: Body
  1193. type: string
  1194. caBundle:
  1195. description: PEM encoded CA bundle used to validate webhook
  1196. server certificate. Only used if the Server URL is using
  1197. HTTPS protocol. This parameter is ignored for plain HTTP
  1198. protocol connection. If not set the system root certificates
  1199. are used to validate the TLS connection.
  1200. format: byte
  1201. type: string
  1202. caProvider:
  1203. description: The provider for the CA bundle to use to validate
  1204. webhook server certificate.
  1205. properties:
  1206. key:
  1207. description: The key the value inside of the provider
  1208. type to use, only used with "Secret" type
  1209. type: string
  1210. name:
  1211. description: The name of the object located at the provider
  1212. type.
  1213. type: string
  1214. namespace:
  1215. description: The namespace the Provider type is in.
  1216. type: string
  1217. type:
  1218. description: The type of provider to use such as "Secret",
  1219. or "ConfigMap".
  1220. enum:
  1221. - Secret
  1222. - ConfigMap
  1223. type: string
  1224. required:
  1225. - name
  1226. - type
  1227. type: object
  1228. headers:
  1229. additionalProperties:
  1230. type: string
  1231. description: Headers
  1232. type: object
  1233. method:
  1234. description: Webhook Method
  1235. type: string
  1236. result:
  1237. description: Result formatting
  1238. properties:
  1239. jsonPath:
  1240. description: Json path of return value
  1241. type: string
  1242. type: object
  1243. secrets:
  1244. description: Secrets to fill in templates These secrets will
  1245. be passed to the templating function as key value pairs
  1246. under the given name
  1247. items:
  1248. properties:
  1249. name:
  1250. description: Name of this secret in templates
  1251. type: string
  1252. secretRef:
  1253. description: Secret ref to fill in credentials
  1254. properties:
  1255. key:
  1256. description: The key of the entry in the Secret
  1257. resource's `data` field to be used. Some instances
  1258. of this field may be defaulted, in others it may
  1259. be required.
  1260. type: string
  1261. name:
  1262. description: The name of the Secret resource being
  1263. referred to.
  1264. type: string
  1265. namespace:
  1266. description: Namespace of the resource being referred
  1267. to. Ignored if referent is not cluster-scoped.
  1268. cluster-scoped defaults to the namespace of the
  1269. referent.
  1270. type: string
  1271. type: object
  1272. required:
  1273. - name
  1274. - secretRef
  1275. type: object
  1276. type: array
  1277. timeout:
  1278. description: Timeout
  1279. type: string
  1280. url:
  1281. description: Webhook url to call
  1282. type: string
  1283. required:
  1284. - result
  1285. - url
  1286. type: object
  1287. yandexlockbox:
  1288. description: YandexLockbox configures this store to sync secrets
  1289. using Yandex Lockbox provider
  1290. properties:
  1291. apiEndpoint:
  1292. description: Yandex.Cloud API endpoint (e.g. 'api.cloud.yandex.net:443')
  1293. type: string
  1294. auth:
  1295. description: Auth defines the information necessary to authenticate
  1296. against Yandex Lockbox
  1297. properties:
  1298. authorizedKeySecretRef:
  1299. description: The authorized key used for authentication
  1300. properties:
  1301. key:
  1302. description: The key of the entry in the Secret resource's
  1303. `data` field to be used. Some instances of this
  1304. field may be defaulted, in others it may be required.
  1305. type: string
  1306. name:
  1307. description: The name of the Secret resource being
  1308. referred to.
  1309. type: string
  1310. namespace:
  1311. description: Namespace of the resource being referred
  1312. to. Ignored if referent is not cluster-scoped. cluster-scoped
  1313. defaults to the namespace of the referent.
  1314. type: string
  1315. type: object
  1316. type: object
  1317. caProvider:
  1318. description: The provider for the CA bundle to use to validate
  1319. Yandex.Cloud server certificate.
  1320. properties:
  1321. certSecretRef:
  1322. description: A reference to a specific 'key' within a
  1323. Secret resource, In some instances, `key` is a required
  1324. field.
  1325. properties:
  1326. key:
  1327. description: The key of the entry in the Secret resource's
  1328. `data` field to be used. Some instances of this
  1329. field may be defaulted, in others it may be required.
  1330. type: string
  1331. name:
  1332. description: The name of the Secret resource being
  1333. referred to.
  1334. type: string
  1335. namespace:
  1336. description: Namespace of the resource being referred
  1337. to. Ignored if referent is not cluster-scoped. cluster-scoped
  1338. defaults to the namespace of the referent.
  1339. type: string
  1340. type: object
  1341. type: object
  1342. required:
  1343. - auth
  1344. type: object
  1345. type: object
  1346. retrySettings:
  1347. description: Used to configure http retries if failed
  1348. properties:
  1349. maxRetries:
  1350. format: int32
  1351. type: integer
  1352. retryInterval:
  1353. type: string
  1354. type: object
  1355. required:
  1356. - provider
  1357. type: object
  1358. status:
  1359. description: SecretStoreStatus defines the observed state of the SecretStore.
  1360. properties:
  1361. conditions:
  1362. items:
  1363. properties:
  1364. lastTransitionTime:
  1365. format: date-time
  1366. type: string
  1367. message:
  1368. type: string
  1369. reason:
  1370. type: string
  1371. status:
  1372. type: string
  1373. type:
  1374. type: string
  1375. required:
  1376. - status
  1377. - type
  1378. type: object
  1379. type: array
  1380. type: object
  1381. type: object
  1382. served: true
  1383. storage: false
  1384. subresources:
  1385. status: {}
  1386. - additionalPrinterColumns:
  1387. - jsonPath: .metadata.creationTimestamp
  1388. name: AGE
  1389. type: date
  1390. - jsonPath: .status.conditions[?(@.type=="Ready")].reason
  1391. name: Status
  1392. type: string
  1393. - jsonPath: .status.conditions[?(@.type=="Ready")].status
  1394. name: Ready
  1395. type: string
  1396. name: v1beta1
  1397. schema:
  1398. openAPIV3Schema:
  1399. description: SecretStore represents a secure external location for storing
  1400. secrets, which can be referenced as part of `storeRef` fields.
  1401. properties:
  1402. apiVersion:
  1403. description: 'APIVersion defines the versioned schema of this representation
  1404. of an object. Servers should convert recognized schemas to the latest
  1405. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1406. type: string
  1407. kind:
  1408. description: 'Kind is a string value representing the REST resource this
  1409. object represents. Servers may infer this from the endpoint the client
  1410. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1411. type: string
  1412. metadata:
  1413. type: object
  1414. spec:
  1415. description: SecretStoreSpec defines the desired state of SecretStore.
  1416. properties:
  1417. controller:
  1418. description: 'Used to select the correct KES controller (think: ingress.ingressClassName)
  1419. The KES controller is instantiated with a specific controller name
  1420. and filters ES based on this property'
  1421. type: string
  1422. provider:
  1423. description: Used to configure the provider. Only one provider may
  1424. be set
  1425. maxProperties: 1
  1426. minProperties: 1
  1427. properties:
  1428. akeyless:
  1429. description: Akeyless configures this store to sync secrets using
  1430. Akeyless Vault provider
  1431. properties:
  1432. akeylessGWApiURL:
  1433. description: Akeyless GW API Url from which the secrets to
  1434. be fetched from.
  1435. type: string
  1436. authSecretRef:
  1437. description: Auth configures how the operator authenticates
  1438. with Akeyless.
  1439. properties:
  1440. secretRef:
  1441. description: 'AkeylessAuthSecretRef AKEYLESS_ACCESS_TYPE_PARAM:
  1442. AZURE_OBJ_ID OR GCP_AUDIENCE OR ACCESS_KEY OR KUB_CONFIG_NAME.'
  1443. properties:
  1444. accessID:
  1445. description: The SecretAccessID is used for authentication
  1446. properties:
  1447. key:
  1448. description: The key of the entry in the Secret
  1449. resource's `data` field to be used. Some instances
  1450. of this field may be defaulted, in others it
  1451. may be required.
  1452. type: string
  1453. name:
  1454. description: The name of the Secret resource being
  1455. referred to.
  1456. type: string
  1457. namespace:
  1458. description: Namespace of the resource being referred
  1459. to. Ignored if referent is not cluster-scoped.
  1460. cluster-scoped defaults to the namespace of
  1461. the referent.
  1462. type: string
  1463. type: object
  1464. accessType:
  1465. description: A reference to a specific 'key' within
  1466. a Secret resource, In some instances, `key` is a
  1467. required field.
  1468. properties:
  1469. key:
  1470. description: The key of the entry in the Secret
  1471. resource's `data` field to be used. Some instances
  1472. of this field may be defaulted, in others it
  1473. may be required.
  1474. type: string
  1475. name:
  1476. description: The name of the Secret resource being
  1477. referred to.
  1478. type: string
  1479. namespace:
  1480. description: Namespace of the resource being referred
  1481. to. Ignored if referent is not cluster-scoped.
  1482. cluster-scoped defaults to the namespace of
  1483. the referent.
  1484. type: string
  1485. type: object
  1486. accessTypeParam:
  1487. description: A reference to a specific 'key' within
  1488. a Secret resource, In some instances, `key` is a
  1489. required field.
  1490. properties:
  1491. key:
  1492. description: The key of the entry in the Secret
  1493. resource's `data` field to be used. Some instances
  1494. of this field may be defaulted, in others it
  1495. may be required.
  1496. type: string
  1497. name:
  1498. description: The name of the Secret resource being
  1499. referred to.
  1500. type: string
  1501. namespace:
  1502. description: Namespace of the resource being referred
  1503. to. Ignored if referent is not cluster-scoped.
  1504. cluster-scoped defaults to the namespace of
  1505. the referent.
  1506. type: string
  1507. type: object
  1508. type: object
  1509. required:
  1510. - secretRef
  1511. type: object
  1512. required:
  1513. - akeylessGWApiURL
  1514. - authSecretRef
  1515. type: object
  1516. alibaba:
  1517. description: Alibaba configures this store to sync secrets using
  1518. Alibaba Cloud provider
  1519. properties:
  1520. auth:
  1521. description: AlibabaAuth contains a secretRef for credentials.
  1522. properties:
  1523. secretRef:
  1524. description: AlibabaAuthSecretRef holds secret references
  1525. for Alibaba credentials.
  1526. properties:
  1527. accessKeyIDSecretRef:
  1528. description: The AccessKeyID is used for authentication
  1529. properties:
  1530. key:
  1531. description: The key of the entry in the Secret
  1532. resource's `data` field to be used. Some instances
  1533. of this field may be defaulted, in others it
  1534. may be required.
  1535. type: string
  1536. name:
  1537. description: The name of the Secret resource being
  1538. referred to.
  1539. type: string
  1540. namespace:
  1541. description: Namespace of the resource being referred
  1542. to. Ignored if referent is not cluster-scoped.
  1543. cluster-scoped defaults to the namespace of
  1544. the referent.
  1545. type: string
  1546. type: object
  1547. accessKeySecretSecretRef:
  1548. description: The AccessKeySecret is used for authentication
  1549. properties:
  1550. key:
  1551. description: The key of the entry in the Secret
  1552. resource's `data` field to be used. Some instances
  1553. of this field may be defaulted, in others it
  1554. may be required.
  1555. type: string
  1556. name:
  1557. description: The name of the Secret resource being
  1558. referred to.
  1559. type: string
  1560. namespace:
  1561. description: Namespace of the resource being referred
  1562. to. Ignored if referent is not cluster-scoped.
  1563. cluster-scoped defaults to the namespace of
  1564. the referent.
  1565. type: string
  1566. type: object
  1567. required:
  1568. - accessKeyIDSecretRef
  1569. - accessKeySecretSecretRef
  1570. type: object
  1571. required:
  1572. - secretRef
  1573. type: object
  1574. endpoint:
  1575. type: string
  1576. regionID:
  1577. description: Alibaba Region to be used for the provider
  1578. type: string
  1579. required:
  1580. - auth
  1581. - regionID
  1582. type: object
  1583. aws:
  1584. description: AWS configures this store to sync secrets using AWS
  1585. Secret Manager provider
  1586. properties:
  1587. auth:
  1588. description: 'Auth defines the information necessary to authenticate
  1589. against AWS if not set aws sdk will infer credentials from
  1590. your environment see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
  1591. properties:
  1592. jwt:
  1593. description: Authenticate against AWS using service account
  1594. tokens.
  1595. properties:
  1596. serviceAccountRef:
  1597. description: A reference to a ServiceAccount resource.
  1598. properties:
  1599. name:
  1600. description: The name of the ServiceAccount resource
  1601. being referred to.
  1602. type: string
  1603. namespace:
  1604. description: Namespace of the resource being referred
  1605. to. Ignored if referent is not cluster-scoped.
  1606. cluster-scoped defaults to the namespace of
  1607. the referent.
  1608. type: string
  1609. required:
  1610. - name
  1611. type: object
  1612. type: object
  1613. secretRef:
  1614. description: AWSAuthSecretRef holds secret references
  1615. for AWS credentials both AccessKeyID and SecretAccessKey
  1616. must be defined in order to properly authenticate.
  1617. properties:
  1618. accessKeyIDSecretRef:
  1619. description: The AccessKeyID is used for authentication
  1620. properties:
  1621. key:
  1622. description: The key of the entry in the Secret
  1623. resource's `data` field to be used. Some instances
  1624. of this field may be defaulted, in others it
  1625. may be required.
  1626. type: string
  1627. name:
  1628. description: The name of the Secret resource being
  1629. referred to.
  1630. type: string
  1631. namespace:
  1632. description: Namespace of the resource being referred
  1633. to. Ignored if referent is not cluster-scoped.
  1634. cluster-scoped defaults to the namespace of
  1635. the referent.
  1636. type: string
  1637. type: object
  1638. secretAccessKeySecretRef:
  1639. description: The SecretAccessKey is used for authentication
  1640. properties:
  1641. key:
  1642. description: The key of the entry in the Secret
  1643. resource's `data` field to be used. Some instances
  1644. of this field may be defaulted, in others it
  1645. may be required.
  1646. type: string
  1647. name:
  1648. description: The name of the Secret resource being
  1649. referred to.
  1650. type: string
  1651. namespace:
  1652. description: Namespace of the resource being referred
  1653. to. Ignored if referent is not cluster-scoped.
  1654. cluster-scoped defaults to the namespace of
  1655. the referent.
  1656. type: string
  1657. type: object
  1658. type: object
  1659. type: object
  1660. region:
  1661. description: AWS Region to be used for the provider
  1662. type: string
  1663. role:
  1664. description: Role is a Role ARN which the SecretManager provider
  1665. will assume
  1666. type: string
  1667. service:
  1668. description: Service defines which service should be used
  1669. to fetch the secrets
  1670. enum:
  1671. - SecretsManager
  1672. - ParameterStore
  1673. type: string
  1674. required:
  1675. - region
  1676. - service
  1677. type: object
  1678. azurekv:
  1679. description: AzureKV configures this store to sync secrets using
  1680. Azure Key Vault provider
  1681. properties:
  1682. authSecretRef:
  1683. description: Auth configures how the operator authenticates
  1684. with Azure. Required for ServicePrincipal auth type.
  1685. properties:
  1686. clientId:
  1687. description: The Azure clientId of the service principle
  1688. used for authentication.
  1689. properties:
  1690. key:
  1691. description: The key of the entry in the Secret resource's
  1692. `data` field to be used. Some instances of this
  1693. field may be defaulted, in others it may be required.
  1694. type: string
  1695. name:
  1696. description: The name of the Secret resource being
  1697. referred to.
  1698. type: string
  1699. namespace:
  1700. description: Namespace of the resource being referred
  1701. to. Ignored if referent is not cluster-scoped. cluster-scoped
  1702. defaults to the namespace of the referent.
  1703. type: string
  1704. type: object
  1705. clientSecret:
  1706. description: The Azure ClientSecret of the service principle
  1707. used for authentication.
  1708. properties:
  1709. key:
  1710. description: The key of the entry in the Secret resource's
  1711. `data` field to be used. Some instances of this
  1712. field may be defaulted, in others it may be required.
  1713. type: string
  1714. name:
  1715. description: The name of the Secret resource being
  1716. referred to.
  1717. type: string
  1718. namespace:
  1719. description: Namespace of the resource being referred
  1720. to. Ignored if referent is not cluster-scoped. cluster-scoped
  1721. defaults to the namespace of the referent.
  1722. type: string
  1723. type: object
  1724. type: object
  1725. authType:
  1726. default: ServicePrincipal
  1727. description: 'Auth type defines how to authenticate to the
  1728. keyvault service. Valid values are: - "ServicePrincipal"
  1729. (default): Using a service principal (tenantId, clientId,
  1730. clientSecret) - "ManagedIdentity": Using Managed Identity
  1731. assigned to the pod (see aad-pod-identity)'
  1732. enum:
  1733. - ServicePrincipal
  1734. - ManagedIdentity
  1735. - WorkloadIdentity
  1736. type: string
  1737. environmentType:
  1738. default: PublicCloud
  1739. description: 'EnvironmentType specifies the Azure cloud environment
  1740. endpoints to use for connecting and authenticating with
  1741. Azure. By default it points to the public cloud AAD endpoint.
  1742. The following endpoints are available, also see here: https://github.com/Azure/go-autorest/blob/main/autorest/azure/environments.go#L152
  1743. PublicCloud, USGovernmentCloud, ChinaCloud, GermanCloud'
  1744. enum:
  1745. - PublicCloud
  1746. - USGovernmentCloud
  1747. - ChinaCloud
  1748. - GermanCloud
  1749. type: string
  1750. identityId:
  1751. description: If multiple Managed Identity is assigned to the
  1752. pod, you can select the one to be used
  1753. type: string
  1754. serviceAccountRef:
  1755. description: ServiceAccountRef specified the service account
  1756. that should be used when authenticating with WorkloadIdentity.
  1757. properties:
  1758. name:
  1759. description: The name of the ServiceAccount resource being
  1760. referred to.
  1761. type: string
  1762. namespace:
  1763. description: Namespace of the resource being referred
  1764. to. Ignored if referent is not cluster-scoped. cluster-scoped
  1765. defaults to the namespace of the referent.
  1766. type: string
  1767. required:
  1768. - name
  1769. type: object
  1770. tenantId:
  1771. description: TenantID configures the Azure Tenant to send
  1772. requests to. Required for ServicePrincipal auth type.
  1773. type: string
  1774. vaultUrl:
  1775. description: Vault Url from which the secrets to be fetched
  1776. from.
  1777. type: string
  1778. required:
  1779. - vaultUrl
  1780. type: object
  1781. fake:
  1782. description: Fake configures a store with static key/value pairs
  1783. properties:
  1784. data:
  1785. items:
  1786. properties:
  1787. key:
  1788. type: string
  1789. value:
  1790. type: string
  1791. valueMap:
  1792. additionalProperties:
  1793. type: string
  1794. type: object
  1795. version:
  1796. type: string
  1797. required:
  1798. - key
  1799. type: object
  1800. type: array
  1801. required:
  1802. - data
  1803. type: object
  1804. gcpsm:
  1805. description: GCPSM configures this store to sync secrets using
  1806. Google Cloud Platform Secret Manager provider
  1807. properties:
  1808. auth:
  1809. description: Auth defines the information necessary to authenticate
  1810. against GCP
  1811. properties:
  1812. secretRef:
  1813. properties:
  1814. secretAccessKeySecretRef:
  1815. description: The SecretAccessKey is used for authentication
  1816. properties:
  1817. key:
  1818. description: The key of the entry in the Secret
  1819. resource's `data` field to be used. Some instances
  1820. of this field may be defaulted, in others it
  1821. may be required.
  1822. type: string
  1823. name:
  1824. description: The name of the Secret resource being
  1825. referred to.
  1826. type: string
  1827. namespace:
  1828. description: Namespace of the resource being referred
  1829. to. Ignored if referent is not cluster-scoped.
  1830. cluster-scoped defaults to the namespace of
  1831. the referent.
  1832. type: string
  1833. type: object
  1834. type: object
  1835. workloadIdentity:
  1836. properties:
  1837. clusterLocation:
  1838. type: string
  1839. clusterName:
  1840. type: string
  1841. clusterProjectID:
  1842. type: string
  1843. serviceAccountRef:
  1844. description: A reference to a ServiceAccount resource.
  1845. properties:
  1846. name:
  1847. description: The name of the ServiceAccount resource
  1848. being referred to.
  1849. type: string
  1850. namespace:
  1851. description: Namespace of the resource being referred
  1852. to. Ignored if referent is not cluster-scoped.
  1853. cluster-scoped defaults to the namespace of
  1854. the referent.
  1855. type: string
  1856. required:
  1857. - name
  1858. type: object
  1859. required:
  1860. - clusterLocation
  1861. - clusterName
  1862. - serviceAccountRef
  1863. type: object
  1864. type: object
  1865. projectID:
  1866. description: ProjectID project where secret is located
  1867. type: string
  1868. type: object
  1869. gitlab:
  1870. description: Gitlab configures this store to sync secrets using
  1871. Gitlab Variables provider
  1872. properties:
  1873. auth:
  1874. description: Auth configures how secret-manager authenticates
  1875. with a GitLab instance.
  1876. properties:
  1877. SecretRef:
  1878. properties:
  1879. accessToken:
  1880. description: AccessToken is used for authentication.
  1881. properties:
  1882. key:
  1883. description: The key of the entry in the Secret
  1884. resource's `data` field to be used. Some instances
  1885. of this field may be defaulted, in others it
  1886. may be required.
  1887. type: string
  1888. name:
  1889. description: The name of the Secret resource being
  1890. referred to.
  1891. type: string
  1892. namespace:
  1893. description: Namespace of the resource being referred
  1894. to. Ignored if referent is not cluster-scoped.
  1895. cluster-scoped defaults to the namespace of
  1896. the referent.
  1897. type: string
  1898. type: object
  1899. type: object
  1900. required:
  1901. - SecretRef
  1902. type: object
  1903. projectID:
  1904. description: ProjectID specifies a project where secrets are
  1905. located.
  1906. type: string
  1907. url:
  1908. description: URL configures the GitLab instance URL. Defaults
  1909. to https://gitlab.com/.
  1910. type: string
  1911. required:
  1912. - auth
  1913. type: object
  1914. ibm:
  1915. description: IBM configures this store to sync secrets using IBM
  1916. Cloud provider
  1917. properties:
  1918. auth:
  1919. description: Auth configures how secret-manager authenticates
  1920. with the IBM secrets manager.
  1921. maxProperties: 1
  1922. minProperties: 1
  1923. properties:
  1924. containerAuth:
  1925. description: IBM Container-based auth with IAM Trusted
  1926. Profile.
  1927. properties:
  1928. iamEndpoint:
  1929. type: string
  1930. profile:
  1931. description: the IBM Trusted Profile
  1932. type: string
  1933. tokenLocation:
  1934. description: Location the token is mounted on the
  1935. pod
  1936. type: string
  1937. required:
  1938. - profile
  1939. type: object
  1940. secretRef:
  1941. properties:
  1942. secretApiKeySecretRef:
  1943. description: The SecretAccessKey is used for authentication
  1944. properties:
  1945. key:
  1946. description: The key of the entry in the Secret
  1947. resource's `data` field to be used. Some instances
  1948. of this field may be defaulted, in others it
  1949. may be required.
  1950. type: string
  1951. name:
  1952. description: The name of the Secret resource being
  1953. referred to.
  1954. type: string
  1955. namespace:
  1956. description: Namespace of the resource being referred
  1957. to. Ignored if referent is not cluster-scoped.
  1958. cluster-scoped defaults to the namespace of
  1959. the referent.
  1960. type: string
  1961. type: object
  1962. type: object
  1963. type: object
  1964. serviceUrl:
  1965. description: ServiceURL is the Endpoint URL that is specific
  1966. to the Secrets Manager service instance
  1967. type: string
  1968. required:
  1969. - auth
  1970. type: object
  1971. kubernetes:
  1972. description: Kubernetes configures this store to sync secrets
  1973. using a Kubernetes cluster provider
  1974. properties:
  1975. auth:
  1976. description: Auth configures how secret-manager authenticates
  1977. with a Kubernetes instance.
  1978. maxProperties: 1
  1979. minProperties: 1
  1980. properties:
  1981. cert:
  1982. description: has both clientCert and clientKey as secretKeySelector
  1983. properties:
  1984. clientCert:
  1985. description: A reference to a specific 'key' within
  1986. a Secret resource, In some instances, `key` is a
  1987. required field.
  1988. properties:
  1989. key:
  1990. description: The key of the entry in the Secret
  1991. resource's `data` field to be used. Some instances
  1992. of this field may be defaulted, in others it
  1993. may be required.
  1994. type: string
  1995. name:
  1996. description: The name of the Secret resource being
  1997. referred to.
  1998. type: string
  1999. namespace:
  2000. description: Namespace of the resource being referred
  2001. to. Ignored if referent is not cluster-scoped.
  2002. cluster-scoped defaults to the namespace of
  2003. the referent.
  2004. type: string
  2005. type: object
  2006. clientKey:
  2007. description: A reference to a specific 'key' within
  2008. a Secret resource, In some instances, `key` is a
  2009. required field.
  2010. properties:
  2011. key:
  2012. description: The key of the entry in the Secret
  2013. resource's `data` field to be used. Some instances
  2014. of this field may be defaulted, in others it
  2015. may be required.
  2016. type: string
  2017. name:
  2018. description: The name of the Secret resource being
  2019. referred to.
  2020. type: string
  2021. namespace:
  2022. description: Namespace of the resource being referred
  2023. to. Ignored if referent is not cluster-scoped.
  2024. cluster-scoped defaults to the namespace of
  2025. the referent.
  2026. type: string
  2027. type: object
  2028. type: object
  2029. serviceAccount:
  2030. description: points to a service account that should be
  2031. used for authentication
  2032. properties:
  2033. name:
  2034. description: The name of the ServiceAccount resource
  2035. being referred to.
  2036. type: string
  2037. namespace:
  2038. description: Namespace of the resource being referred
  2039. to. Ignored if referent is not cluster-scoped. cluster-scoped
  2040. defaults to the namespace of the referent.
  2041. type: string
  2042. required:
  2043. - name
  2044. type: object
  2045. token:
  2046. description: use static token to authenticate with
  2047. properties:
  2048. bearerToken:
  2049. description: A reference to a specific 'key' within
  2050. a Secret resource, In some instances, `key` is a
  2051. required field.
  2052. properties:
  2053. key:
  2054. description: The key of the entry in the Secret
  2055. resource's `data` field to be used. Some instances
  2056. of this field may be defaulted, in others it
  2057. may be required.
  2058. type: string
  2059. name:
  2060. description: The name of the Secret resource being
  2061. referred to.
  2062. type: string
  2063. namespace:
  2064. description: Namespace of the resource being referred
  2065. to. Ignored if referent is not cluster-scoped.
  2066. cluster-scoped defaults to the namespace of
  2067. the referent.
  2068. type: string
  2069. type: object
  2070. type: object
  2071. type: object
  2072. remoteNamespace:
  2073. default: default
  2074. description: Remote namespace to fetch the secrets from
  2075. type: string
  2076. server:
  2077. description: configures the Kubernetes server Address.
  2078. properties:
  2079. caBundle:
  2080. description: CABundle is a base64-encoded CA certificate
  2081. format: byte
  2082. type: string
  2083. caProvider:
  2084. description: 'see: https://external-secrets.io/v0.4.1/spec/#external-secrets.io/v1alpha1.CAProvider'
  2085. properties:
  2086. key:
  2087. description: The key where the CA certificate can
  2088. be found in the Secret or ConfigMap.
  2089. type: string
  2090. name:
  2091. description: The name of the object located at the
  2092. provider type.
  2093. type: string
  2094. namespace:
  2095. description: The namespace the Provider type is in.
  2096. Can only be defined when used in a ClusterSecretStore.
  2097. type: string
  2098. type:
  2099. description: The type of provider to use such as "Secret",
  2100. or "ConfigMap".
  2101. enum:
  2102. - Secret
  2103. - ConfigMap
  2104. type: string
  2105. required:
  2106. - name
  2107. - type
  2108. type: object
  2109. url:
  2110. default: kubernetes.default
  2111. description: configures the Kubernetes server Address.
  2112. type: string
  2113. type: object
  2114. required:
  2115. - auth
  2116. type: object
  2117. onepassword:
  2118. description: OnePassword configures this store to sync secrets
  2119. using the 1Password Cloud provider
  2120. properties:
  2121. auth:
  2122. description: Auth defines the information necessary to authenticate
  2123. against OnePassword Connect Server
  2124. properties:
  2125. secretRef:
  2126. description: OnePasswordAuthSecretRef holds secret references
  2127. for 1Password credentials.
  2128. properties:
  2129. connectTokenSecretRef:
  2130. description: The ConnectToken is used for authentication
  2131. to a 1Password Connect Server.
  2132. properties:
  2133. key:
  2134. description: The key of the entry in the Secret
  2135. resource's `data` field to be used. Some instances
  2136. of this field may be defaulted, in others it
  2137. may be required.
  2138. type: string
  2139. name:
  2140. description: The name of the Secret resource being
  2141. referred to.
  2142. type: string
  2143. namespace:
  2144. description: Namespace of the resource being referred
  2145. to. Ignored if referent is not cluster-scoped.
  2146. cluster-scoped defaults to the namespace of
  2147. the referent.
  2148. type: string
  2149. type: object
  2150. required:
  2151. - connectTokenSecretRef
  2152. type: object
  2153. required:
  2154. - secretRef
  2155. type: object
  2156. connectHost:
  2157. description: ConnectHost defines the OnePassword Connect Server
  2158. to connect to
  2159. type: string
  2160. vaults:
  2161. additionalProperties:
  2162. type: integer
  2163. description: Vaults defines which OnePassword vaults to search
  2164. in which order
  2165. type: object
  2166. required:
  2167. - auth
  2168. - connectHost
  2169. - vaults
  2170. type: object
  2171. oracle:
  2172. description: Oracle configures this store to sync secrets using
  2173. Oracle Vault provider
  2174. properties:
  2175. auth:
  2176. description: Auth configures how secret-manager authenticates
  2177. with the Oracle Vault. If empty, use the instance principal,
  2178. otherwise the user credentials specified in Auth.
  2179. properties:
  2180. secretRef:
  2181. description: SecretRef to pass through sensitive information.
  2182. properties:
  2183. fingerprint:
  2184. description: Fingerprint is the fingerprint of the
  2185. API private key.
  2186. properties:
  2187. key:
  2188. description: The key of the entry in the Secret
  2189. resource's `data` field to be used. Some instances
  2190. of this field may be defaulted, in others it
  2191. may be required.
  2192. type: string
  2193. name:
  2194. description: The name of the Secret resource being
  2195. referred to.
  2196. type: string
  2197. namespace:
  2198. description: Namespace of the resource being referred
  2199. to. Ignored if referent is not cluster-scoped.
  2200. cluster-scoped defaults to the namespace of
  2201. the referent.
  2202. type: string
  2203. type: object
  2204. privatekey:
  2205. description: PrivateKey is the user's API Signing
  2206. Key in PEM format, used for authentication.
  2207. properties:
  2208. key:
  2209. description: The key of the entry in the Secret
  2210. resource's `data` field to be used. Some instances
  2211. of this field may be defaulted, in others it
  2212. may be required.
  2213. type: string
  2214. name:
  2215. description: The name of the Secret resource being
  2216. referred to.
  2217. type: string
  2218. namespace:
  2219. description: Namespace of the resource being referred
  2220. to. Ignored if referent is not cluster-scoped.
  2221. cluster-scoped defaults to the namespace of
  2222. the referent.
  2223. type: string
  2224. type: object
  2225. required:
  2226. - fingerprint
  2227. - privatekey
  2228. type: object
  2229. tenancy:
  2230. description: Tenancy is the tenancy OCID where user is
  2231. located.
  2232. type: string
  2233. user:
  2234. description: User is an access OCID specific to the account.
  2235. type: string
  2236. required:
  2237. - secretRef
  2238. - tenancy
  2239. - user
  2240. type: object
  2241. region:
  2242. description: Region is the region where vault is located.
  2243. type: string
  2244. vault:
  2245. description: Vault is the vault's OCID of the specific vault
  2246. where secret is located.
  2247. type: string
  2248. required:
  2249. - region
  2250. - vault
  2251. type: object
  2252. senhasegura:
  2253. description: Senhasegura configures this store to sync secrets
  2254. using senhasegura provider
  2255. properties:
  2256. auth:
  2257. description: Auth defines parameters to authenticate in senhasegura
  2258. properties:
  2259. clientId:
  2260. type: string
  2261. clientSecretSecretRef:
  2262. description: A reference to a specific 'key' within a
  2263. Secret resource, In some instances, `key` is a required
  2264. field.
  2265. properties:
  2266. key:
  2267. description: The key of the entry in the Secret resource's
  2268. `data` field to be used. Some instances of this
  2269. field may be defaulted, in others it may be required.
  2270. type: string
  2271. name:
  2272. description: The name of the Secret resource being
  2273. referred to.
  2274. type: string
  2275. namespace:
  2276. description: Namespace of the resource being referred
  2277. to. Ignored if referent is not cluster-scoped. cluster-scoped
  2278. defaults to the namespace of the referent.
  2279. type: string
  2280. type: object
  2281. required:
  2282. - clientId
  2283. - clientSecretSecretRef
  2284. type: object
  2285. ignoreSslCertificate:
  2286. default: false
  2287. description: IgnoreSslCertificate defines if SSL certificate
  2288. must be ignored
  2289. type: boolean
  2290. module:
  2291. description: Module defines which senhasegura module should
  2292. be used to get secrets
  2293. type: string
  2294. url:
  2295. description: URL of senhasegura
  2296. type: string
  2297. required:
  2298. - auth
  2299. - module
  2300. - url
  2301. type: object
  2302. vault:
  2303. description: Vault configures this store to sync secrets using
  2304. Hashi provider
  2305. properties:
  2306. auth:
  2307. description: Auth configures how secret-manager authenticates
  2308. with the Vault server.
  2309. properties:
  2310. appRole:
  2311. description: AppRole authenticates with Vault using the
  2312. App Role auth mechanism, with the role and secret stored
  2313. in a Kubernetes Secret resource.
  2314. properties:
  2315. path:
  2316. default: approle
  2317. description: 'Path where the App Role authentication
  2318. backend is mounted in Vault, e.g: "approle"'
  2319. type: string
  2320. roleId:
  2321. description: RoleID configured in the App Role authentication
  2322. backend when setting up the authentication backend
  2323. in Vault.
  2324. type: string
  2325. secretRef:
  2326. description: Reference to a key in a Secret that contains
  2327. the App Role secret used to authenticate with Vault.
  2328. The `key` field must be specified and denotes which
  2329. entry within the Secret resource is used as the
  2330. app role secret.
  2331. properties:
  2332. key:
  2333. description: The key of the entry in the Secret
  2334. resource's `data` field to be used. Some instances
  2335. of this field may be defaulted, in others it
  2336. may be required.
  2337. type: string
  2338. name:
  2339. description: The name of the Secret resource being
  2340. referred to.
  2341. type: string
  2342. namespace:
  2343. description: Namespace of the resource being referred
  2344. to. Ignored if referent is not cluster-scoped.
  2345. cluster-scoped defaults to the namespace of
  2346. the referent.
  2347. type: string
  2348. type: object
  2349. required:
  2350. - path
  2351. - roleId
  2352. - secretRef
  2353. type: object
  2354. cert:
  2355. description: Cert authenticates with TLS Certificates
  2356. by passing client certificate, private key and ca certificate
  2357. Cert authentication method
  2358. properties:
  2359. clientCert:
  2360. description: ClientCert is a certificate to authenticate
  2361. using the Cert Vault authentication method
  2362. properties:
  2363. key:
  2364. description: The key of the entry in the Secret
  2365. resource's `data` field to be used. Some instances
  2366. of this field may be defaulted, in others it
  2367. may be required.
  2368. type: string
  2369. name:
  2370. description: The name of the Secret resource being
  2371. referred to.
  2372. type: string
  2373. namespace:
  2374. description: Namespace of the resource being referred
  2375. to. Ignored if referent is not cluster-scoped.
  2376. cluster-scoped defaults to the namespace of
  2377. the referent.
  2378. type: string
  2379. type: object
  2380. secretRef:
  2381. description: SecretRef to a key in a Secret resource
  2382. containing client private key to authenticate with
  2383. Vault using the Cert authentication method
  2384. properties:
  2385. key:
  2386. description: The key of the entry in the Secret
  2387. resource's `data` field to be used. Some instances
  2388. of this field may be defaulted, in others it
  2389. may be required.
  2390. type: string
  2391. name:
  2392. description: The name of the Secret resource being
  2393. referred to.
  2394. type: string
  2395. namespace:
  2396. description: Namespace of the resource being referred
  2397. to. Ignored if referent is not cluster-scoped.
  2398. cluster-scoped defaults to the namespace of
  2399. the referent.
  2400. type: string
  2401. type: object
  2402. type: object
  2403. jwt:
  2404. description: Jwt authenticates with Vault by passing role
  2405. and JWT token using the JWT/OIDC authentication method
  2406. properties:
  2407. kubernetesServiceAccountToken:
  2408. description: Optional ServiceAccountToken specifies
  2409. the Kubernetes service account for which to request
  2410. a token for with the `TokenRequest` API.
  2411. properties:
  2412. audiences:
  2413. description: Optional audiences field that will
  2414. be used to request a temporary Kubernetes service
  2415. account token for the service account referenced
  2416. by `serviceAccountRef`. Defaults to a single
  2417. audience `vault` it not specified.
  2418. items:
  2419. type: string
  2420. type: array
  2421. expirationSeconds:
  2422. description: Optional expiration time in seconds
  2423. that will be used to request a temporary Kubernetes
  2424. service account token for the service account
  2425. referenced by `serviceAccountRef`. Defaults
  2426. to 10 minutes.
  2427. format: int64
  2428. type: integer
  2429. serviceAccountRef:
  2430. description: Service account field containing
  2431. the name of a kubernetes ServiceAccount.
  2432. properties:
  2433. name:
  2434. description: The name of the ServiceAccount
  2435. resource being referred to.
  2436. type: string
  2437. namespace:
  2438. description: Namespace of the resource being
  2439. referred to. Ignored if referent is not
  2440. cluster-scoped. cluster-scoped defaults
  2441. to the namespace of the referent.
  2442. type: string
  2443. required:
  2444. - name
  2445. type: object
  2446. required:
  2447. - serviceAccountRef
  2448. type: object
  2449. path:
  2450. default: jwt
  2451. description: 'Path where the JWT authentication backend
  2452. is mounted in Vault, e.g: "jwt"'
  2453. type: string
  2454. role:
  2455. description: Role is a JWT role to authenticate using
  2456. the JWT/OIDC Vault authentication method
  2457. type: string
  2458. secretRef:
  2459. description: Optional SecretRef that refers to a key
  2460. in a Secret resource containing JWT token to authenticate
  2461. with Vault using the JWT/OIDC authentication method.
  2462. properties:
  2463. key:
  2464. description: The key of the entry in the Secret
  2465. resource's `data` field to be used. Some instances
  2466. of this field may be defaulted, in others it
  2467. may be required.
  2468. type: string
  2469. name:
  2470. description: The name of the Secret resource being
  2471. referred to.
  2472. type: string
  2473. namespace:
  2474. description: Namespace of the resource being referred
  2475. to. Ignored if referent is not cluster-scoped.
  2476. cluster-scoped defaults to the namespace of
  2477. the referent.
  2478. type: string
  2479. type: object
  2480. required:
  2481. - path
  2482. type: object
  2483. kubernetes:
  2484. description: Kubernetes authenticates with Vault by passing
  2485. the ServiceAccount token stored in the named Secret
  2486. resource to the Vault server.
  2487. properties:
  2488. mountPath:
  2489. default: kubernetes
  2490. description: 'Path where the Kubernetes authentication
  2491. backend is mounted in Vault, e.g: "kubernetes"'
  2492. type: string
  2493. role:
  2494. description: A required field containing the Vault
  2495. Role to assume. A Role binds a Kubernetes ServiceAccount
  2496. with a set of Vault policies.
  2497. type: string
  2498. secretRef:
  2499. description: Optional secret field containing a Kubernetes
  2500. ServiceAccount JWT used for authenticating with
  2501. Vault. If a name is specified without a key, `token`
  2502. is the default. If one is not specified, the one
  2503. bound to the controller will be used.
  2504. properties:
  2505. key:
  2506. description: The key of the entry in the Secret
  2507. resource's `data` field to be used. Some instances
  2508. of this field may be defaulted, in others it
  2509. may be required.
  2510. type: string
  2511. name:
  2512. description: The name of the Secret resource being
  2513. referred to.
  2514. type: string
  2515. namespace:
  2516. description: Namespace of the resource being referred
  2517. to. Ignored if referent is not cluster-scoped.
  2518. cluster-scoped defaults to the namespace of
  2519. the referent.
  2520. type: string
  2521. type: object
  2522. serviceAccountRef:
  2523. description: Optional service account field containing
  2524. the name of a kubernetes ServiceAccount. If the
  2525. service account is specified, the service account
  2526. secret token JWT will be used for authenticating
  2527. with Vault. If the service account selector is not
  2528. supplied, the secretRef will be used instead.
  2529. properties:
  2530. name:
  2531. description: The name of the ServiceAccount resource
  2532. being referred to.
  2533. type: string
  2534. namespace:
  2535. description: Namespace of the resource being referred
  2536. to. Ignored if referent is not cluster-scoped.
  2537. cluster-scoped defaults to the namespace of
  2538. the referent.
  2539. type: string
  2540. required:
  2541. - name
  2542. type: object
  2543. required:
  2544. - mountPath
  2545. - role
  2546. type: object
  2547. ldap:
  2548. description: Ldap authenticates with Vault by passing
  2549. username/password pair using the LDAP authentication
  2550. method
  2551. properties:
  2552. path:
  2553. default: ldap
  2554. description: 'Path where the LDAP authentication backend
  2555. is mounted in Vault, e.g: "ldap"'
  2556. type: string
  2557. secretRef:
  2558. description: SecretRef to a key in a Secret resource
  2559. containing password for the LDAP user used to authenticate
  2560. with Vault using the LDAP authentication method
  2561. properties:
  2562. key:
  2563. description: The key of the entry in the Secret
  2564. resource's `data` field to be used. Some instances
  2565. of this field may be defaulted, in others it
  2566. may be required.
  2567. type: string
  2568. name:
  2569. description: The name of the Secret resource being
  2570. referred to.
  2571. type: string
  2572. namespace:
  2573. description: Namespace of the resource being referred
  2574. to. Ignored if referent is not cluster-scoped.
  2575. cluster-scoped defaults to the namespace of
  2576. the referent.
  2577. type: string
  2578. type: object
  2579. username:
  2580. description: Username is a LDAP user name used to
  2581. authenticate using the LDAP Vault authentication
  2582. method
  2583. type: string
  2584. required:
  2585. - path
  2586. - username
  2587. type: object
  2588. tokenSecretRef:
  2589. description: TokenSecretRef authenticates with Vault by
  2590. presenting a token.
  2591. properties:
  2592. key:
  2593. description: The key of the entry in the Secret resource's
  2594. `data` field to be used. Some instances of this
  2595. field may be defaulted, in others it may be required.
  2596. type: string
  2597. name:
  2598. description: The name of the Secret resource being
  2599. referred to.
  2600. type: string
  2601. namespace:
  2602. description: Namespace of the resource being referred
  2603. to. Ignored if referent is not cluster-scoped. cluster-scoped
  2604. defaults to the namespace of the referent.
  2605. type: string
  2606. type: object
  2607. type: object
  2608. caBundle:
  2609. description: PEM encoded CA bundle used to validate Vault
  2610. server certificate. Only used if the Server URL is using
  2611. HTTPS protocol. This parameter is ignored for plain HTTP
  2612. protocol connection. If not set the system root certificates
  2613. are used to validate the TLS connection.
  2614. format: byte
  2615. type: string
  2616. caProvider:
  2617. description: The provider for the CA bundle to use to validate
  2618. Vault server certificate.
  2619. properties:
  2620. key:
  2621. description: The key where the CA certificate can be found
  2622. in the Secret or ConfigMap.
  2623. type: string
  2624. name:
  2625. description: The name of the object located at the provider
  2626. type.
  2627. type: string
  2628. namespace:
  2629. description: The namespace the Provider type is in. Can
  2630. only be defined when used in a ClusterSecretStore.
  2631. type: string
  2632. type:
  2633. description: The type of provider to use such as "Secret",
  2634. or "ConfigMap".
  2635. enum:
  2636. - Secret
  2637. - ConfigMap
  2638. type: string
  2639. required:
  2640. - name
  2641. - type
  2642. type: object
  2643. forwardInconsistent:
  2644. description: ForwardInconsistent tells Vault to forward read-after-write
  2645. requests to the Vault leader instead of simply retrying
  2646. within a loop. This can increase performance if the option
  2647. is enabled serverside. https://www.vaultproject.io/docs/configuration/replication#allow_forwarding_via_header
  2648. type: boolean
  2649. namespace:
  2650. description: 'Name of the vault namespace. Namespaces is a
  2651. set of features within Vault Enterprise that allows Vault
  2652. environments to support Secure Multi-tenancy. e.g: "ns1".
  2653. More about namespaces can be found here https://www.vaultproject.io/docs/enterprise/namespaces'
  2654. type: string
  2655. path:
  2656. description: 'Path is the mount path of the Vault KV backend
  2657. endpoint, e.g: "secret". The v2 KV secret engine version
  2658. specific "/data" path suffix for fetching secrets from Vault
  2659. is optional and will be appended if not present in specified
  2660. path.'
  2661. type: string
  2662. readYourWrites:
  2663. description: ReadYourWrites ensures isolated read-after-write
  2664. semantics by providing discovered cluster replication states
  2665. in each request. More information about eventual consistency
  2666. in Vault can be found here https://www.vaultproject.io/docs/enterprise/consistency
  2667. type: boolean
  2668. server:
  2669. description: 'Server is the connection address for the Vault
  2670. server, e.g: "https://vault.example.com:8200".'
  2671. type: string
  2672. version:
  2673. default: v2
  2674. description: Version is the Vault KV secret engine version.
  2675. This can be either "v1" or "v2". Version defaults to "v2".
  2676. enum:
  2677. - v1
  2678. - v2
  2679. type: string
  2680. required:
  2681. - auth
  2682. - server
  2683. type: object
  2684. webhook:
  2685. description: Webhook configures this store to sync secrets using
  2686. a generic templated webhook
  2687. properties:
  2688. body:
  2689. description: Body
  2690. type: string
  2691. caBundle:
  2692. description: PEM encoded CA bundle used to validate webhook
  2693. server certificate. Only used if the Server URL is using
  2694. HTTPS protocol. This parameter is ignored for plain HTTP
  2695. protocol connection. If not set the system root certificates
  2696. are used to validate the TLS connection.
  2697. format: byte
  2698. type: string
  2699. caProvider:
  2700. description: The provider for the CA bundle to use to validate
  2701. webhook server certificate.
  2702. properties:
  2703. key:
  2704. description: The key the value inside of the provider
  2705. type to use, only used with "Secret" type
  2706. type: string
  2707. name:
  2708. description: The name of the object located at the provider
  2709. type.
  2710. type: string
  2711. namespace:
  2712. description: The namespace the Provider type is in.
  2713. type: string
  2714. type:
  2715. description: The type of provider to use such as "Secret",
  2716. or "ConfigMap".
  2717. enum:
  2718. - Secret
  2719. - ConfigMap
  2720. type: string
  2721. required:
  2722. - name
  2723. - type
  2724. type: object
  2725. headers:
  2726. additionalProperties:
  2727. type: string
  2728. description: Headers
  2729. type: object
  2730. method:
  2731. description: Webhook Method
  2732. type: string
  2733. result:
  2734. description: Result formatting
  2735. properties:
  2736. jsonPath:
  2737. description: Json path of return value
  2738. type: string
  2739. type: object
  2740. secrets:
  2741. description: Secrets to fill in templates These secrets will
  2742. be passed to the templating function as key value pairs
  2743. under the given name
  2744. items:
  2745. properties:
  2746. name:
  2747. description: Name of this secret in templates
  2748. type: string
  2749. secretRef:
  2750. description: Secret ref to fill in credentials
  2751. properties:
  2752. key:
  2753. description: The key of the entry in the Secret
  2754. resource's `data` field to be used. Some instances
  2755. of this field may be defaulted, in others it may
  2756. be required.
  2757. type: string
  2758. name:
  2759. description: The name of the Secret resource being
  2760. referred to.
  2761. type: string
  2762. namespace:
  2763. description: Namespace of the resource being referred
  2764. to. Ignored if referent is not cluster-scoped.
  2765. cluster-scoped defaults to the namespace of the
  2766. referent.
  2767. type: string
  2768. type: object
  2769. required:
  2770. - name
  2771. - secretRef
  2772. type: object
  2773. type: array
  2774. timeout:
  2775. description: Timeout
  2776. type: string
  2777. url:
  2778. description: Webhook url to call
  2779. type: string
  2780. required:
  2781. - result
  2782. - url
  2783. type: object
  2784. yandexcertificatemanager:
  2785. description: YandexCertificateManager configures this store to
  2786. sync secrets using Yandex Certificate Manager provider
  2787. properties:
  2788. apiEndpoint:
  2789. description: Yandex.Cloud API endpoint (e.g. 'api.cloud.yandex.net:443')
  2790. type: string
  2791. auth:
  2792. description: Auth defines the information necessary to authenticate
  2793. against Yandex Certificate Manager
  2794. properties:
  2795. authorizedKeySecretRef:
  2796. description: The authorized key used for authentication
  2797. properties:
  2798. key:
  2799. description: The key of the entry in the Secret resource's
  2800. `data` field to be used. Some instances of this
  2801. field may be defaulted, in others it may be required.
  2802. type: string
  2803. name:
  2804. description: The name of the Secret resource being
  2805. referred to.
  2806. type: string
  2807. namespace:
  2808. description: Namespace of the resource being referred
  2809. to. Ignored if referent is not cluster-scoped. cluster-scoped
  2810. defaults to the namespace of the referent.
  2811. type: string
  2812. type: object
  2813. type: object
  2814. caProvider:
  2815. description: The provider for the CA bundle to use to validate
  2816. Yandex.Cloud server certificate.
  2817. properties:
  2818. certSecretRef:
  2819. description: A reference to a specific 'key' within a
  2820. Secret resource, In some instances, `key` is a required
  2821. field.
  2822. properties:
  2823. key:
  2824. description: The key of the entry in the Secret resource's
  2825. `data` field to be used. Some instances of this
  2826. field may be defaulted, in others it may be required.
  2827. type: string
  2828. name:
  2829. description: The name of the Secret resource being
  2830. referred to.
  2831. type: string
  2832. namespace:
  2833. description: Namespace of the resource being referred
  2834. to. Ignored if referent is not cluster-scoped. cluster-scoped
  2835. defaults to the namespace of the referent.
  2836. type: string
  2837. type: object
  2838. type: object
  2839. required:
  2840. - auth
  2841. type: object
  2842. yandexlockbox:
  2843. description: YandexLockbox configures this store to sync secrets
  2844. using Yandex Lockbox provider
  2845. properties:
  2846. apiEndpoint:
  2847. description: Yandex.Cloud API endpoint (e.g. 'api.cloud.yandex.net:443')
  2848. type: string
  2849. auth:
  2850. description: Auth defines the information necessary to authenticate
  2851. against Yandex Lockbox
  2852. properties:
  2853. authorizedKeySecretRef:
  2854. description: The authorized key used for authentication
  2855. properties:
  2856. key:
  2857. description: The key of the entry in the Secret resource's
  2858. `data` field to be used. Some instances of this
  2859. field may be defaulted, in others it may be required.
  2860. type: string
  2861. name:
  2862. description: The name of the Secret resource being
  2863. referred to.
  2864. type: string
  2865. namespace:
  2866. description: Namespace of the resource being referred
  2867. to. Ignored if referent is not cluster-scoped. cluster-scoped
  2868. defaults to the namespace of the referent.
  2869. type: string
  2870. type: object
  2871. type: object
  2872. caProvider:
  2873. description: The provider for the CA bundle to use to validate
  2874. Yandex.Cloud server certificate.
  2875. properties:
  2876. certSecretRef:
  2877. description: A reference to a specific 'key' within a
  2878. Secret resource, In some instances, `key` is a required
  2879. field.
  2880. properties:
  2881. key:
  2882. description: The key of the entry in the Secret resource's
  2883. `data` field to be used. Some instances of this
  2884. field may be defaulted, in others it may be required.
  2885. type: string
  2886. name:
  2887. description: The name of the Secret resource being
  2888. referred to.
  2889. type: string
  2890. namespace:
  2891. description: Namespace of the resource being referred
  2892. to. Ignored if referent is not cluster-scoped. cluster-scoped
  2893. defaults to the namespace of the referent.
  2894. type: string
  2895. type: object
  2896. type: object
  2897. required:
  2898. - auth
  2899. type: object
  2900. type: object
  2901. refreshInterval:
  2902. description: Used to configure store refresh interval in seconds.
  2903. Empty or 0 will default to the controller config.
  2904. type: integer
  2905. retrySettings:
  2906. description: Used to configure http retries if failed
  2907. properties:
  2908. maxRetries:
  2909. format: int32
  2910. type: integer
  2911. retryInterval:
  2912. type: string
  2913. type: object
  2914. required:
  2915. - provider
  2916. type: object
  2917. status:
  2918. description: SecretStoreStatus defines the observed state of the SecretStore.
  2919. properties:
  2920. conditions:
  2921. items:
  2922. properties:
  2923. lastTransitionTime:
  2924. format: date-time
  2925. type: string
  2926. message:
  2927. type: string
  2928. reason:
  2929. type: string
  2930. status:
  2931. type: string
  2932. type:
  2933. type: string
  2934. required:
  2935. - status
  2936. - type
  2937. type: object
  2938. type: array
  2939. type: object
  2940. type: object
  2941. served: true
  2942. storage: true
  2943. subresources:
  2944. status: {}