crds_test.yaml.snap 190 KB

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