external-secrets.io_clustersecretstores.yaml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.4.1
  6. creationTimestamp: null
  7. name: clustersecretstores.external-secrets.io
  8. spec:
  9. group: external-secrets.io
  10. names:
  11. categories:
  12. - externalsecrets
  13. kind: ClusterSecretStore
  14. listKind: ClusterSecretStoreList
  15. plural: clustersecretstores
  16. shortNames:
  17. - css
  18. singular: clustersecretstore
  19. scope: Cluster
  20. versions:
  21. - additionalPrinterColumns:
  22. - jsonPath: .metadata.creationTimestamp
  23. name: AGE
  24. type: date
  25. name: v1alpha1
  26. schema:
  27. openAPIV3Schema:
  28. description: ClusterSecretStore represents a secure external location for
  29. storing secrets, which can be referenced as part of `storeRef` fields.
  30. properties:
  31. apiVersion:
  32. description: 'APIVersion defines the versioned schema of this representation
  33. of an object. Servers should convert recognized schemas to the latest
  34. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  35. type: string
  36. kind:
  37. description: 'Kind is a string value representing the REST resource this
  38. object represents. Servers may infer this from the endpoint the client
  39. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  40. type: string
  41. metadata:
  42. type: object
  43. spec:
  44. description: SecretStoreSpec defines the desired state of SecretStore.
  45. properties:
  46. controller:
  47. description: 'Used to select the correct KES controller (think: ingress.ingressClassName)
  48. The KES controller is instantiated with a specific controller name
  49. and filters ES based on this property'
  50. type: string
  51. provider:
  52. description: Used to configure the provider. Only one provider may
  53. be set
  54. maxProperties: 1
  55. minProperties: 1
  56. properties:
  57. aws:
  58. description: AWS configures this store to sync secrets using AWS
  59. Secret Manager provider
  60. properties:
  61. auth:
  62. description: 'Auth defines the information necessary to authenticate
  63. against AWS if not set aws sdk will infer credentials from
  64. your environment see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
  65. nullable: true
  66. properties:
  67. secretRef:
  68. description: AWSAuthSecretRef holds secret references
  69. for aws credentials both AccessKeyID and SecretAccessKey
  70. must be defined in order to properly authenticate.
  71. properties:
  72. accessKeyIDSecretRef:
  73. description: The AccessKeyID is used for authentication
  74. properties:
  75. key:
  76. description: The key of the entry in the Secret
  77. resource's `data` field to be used. Some instances
  78. of this field may be defaulted, in others it
  79. may be required.
  80. type: string
  81. name:
  82. description: The name of the Secret resource being
  83. referred to.
  84. type: string
  85. namespace:
  86. description: Namespace of the resource being referred
  87. to. Ignored if referent is not cluster-scoped.
  88. cluster-scoped defaults to the namespace of
  89. the referent.
  90. type: string
  91. required:
  92. - name
  93. type: object
  94. secretAccessKeySecretRef:
  95. description: The SecretAccessKey is used for authentication
  96. properties:
  97. key:
  98. description: The key of the entry in the Secret
  99. resource's `data` field to be used. Some instances
  100. of this field may be defaulted, in others it
  101. may be required.
  102. type: string
  103. name:
  104. description: The name of the Secret resource being
  105. referred to.
  106. type: string
  107. namespace:
  108. description: Namespace of the resource being referred
  109. to. Ignored if referent is not cluster-scoped.
  110. cluster-scoped defaults to the namespace of
  111. the referent.
  112. type: string
  113. required:
  114. - name
  115. type: object
  116. type: object
  117. required:
  118. - secretRef
  119. type: object
  120. region:
  121. description: AWS Region to be used for the provider
  122. type: string
  123. role:
  124. description: Role is a Role ARN which the SecretManager provider
  125. will assume
  126. type: string
  127. service:
  128. description: Service defines which service should be used
  129. to fetch the secrets
  130. enum:
  131. - SecretsManager
  132. - ParameterStore
  133. type: string
  134. required:
  135. - region
  136. - service
  137. type: object
  138. vault:
  139. description: Vault configures this store to sync secrets using
  140. Hashi provider
  141. properties:
  142. auth:
  143. description: Auth configures how secret-manager authenticates
  144. with the Vault server.
  145. properties:
  146. appRole:
  147. description: AppRole authenticates with Vault using the
  148. App Role auth mechanism, with the role and secret stored
  149. in a Kubernetes Secret resource.
  150. properties:
  151. path:
  152. default: approle
  153. description: 'Path where the App Role authentication
  154. backend is mounted in Vault, e.g: "approle"'
  155. type: string
  156. roleId:
  157. description: RoleID configured in the App Role authentication
  158. backend when setting up the authentication backend
  159. in Vault.
  160. type: string
  161. secretRef:
  162. description: Reference to a key in a Secret that contains
  163. the App Role secret used to authenticate with Vault.
  164. The `key` field must be specified and denotes which
  165. entry within the Secret resource is used as the
  166. app role secret.
  167. properties:
  168. key:
  169. description: The key of the entry in the Secret
  170. resource's `data` field to be used. Some instances
  171. of this field may be defaulted, in others it
  172. may be required.
  173. type: string
  174. name:
  175. description: The name of the Secret resource being
  176. referred to.
  177. type: string
  178. namespace:
  179. description: Namespace of the resource being referred
  180. to. Ignored if referent is not cluster-scoped.
  181. cluster-scoped defaults to the namespace of
  182. the referent.
  183. type: string
  184. required:
  185. - name
  186. type: object
  187. required:
  188. - path
  189. - roleId
  190. - secretRef
  191. type: object
  192. kubernetes:
  193. description: Kubernetes authenticates with Vault by passing
  194. the ServiceAccount token stored in the named Secret
  195. resource to the Vault server.
  196. properties:
  197. mountPath:
  198. default: kubernetes
  199. description: 'Path where the Kubernetes authentication
  200. backend is mounted in Vault, e.g: "kubernetes"'
  201. type: string
  202. role:
  203. description: A required field containing the Vault
  204. Role to assume. A Role binds a Kubernetes ServiceAccount
  205. with a set of Vault policies.
  206. type: string
  207. secretRef:
  208. description: Optional secret field containing a Kubernetes
  209. ServiceAccount JWT used for authenticating with
  210. Vault. If a name is specified without a key, `token`
  211. is the default. If one is not specified, the one
  212. bound to the controller will be used.
  213. properties:
  214. key:
  215. description: The key of the entry in the Secret
  216. resource's `data` field to be used. Some instances
  217. of this field may be defaulted, in others it
  218. may be required.
  219. type: string
  220. name:
  221. description: The name of the Secret resource being
  222. referred to.
  223. type: string
  224. namespace:
  225. description: Namespace of the resource being referred
  226. to. Ignored if referent is not cluster-scoped.
  227. cluster-scoped defaults to the namespace of
  228. the referent.
  229. type: string
  230. required:
  231. - name
  232. type: object
  233. required:
  234. - mountPath
  235. - role
  236. type: object
  237. tokenSecretRef:
  238. description: TokenSecretRef authenticates with Vault by
  239. presenting a token.
  240. properties:
  241. key:
  242. description: The key of the entry in the Secret resource's
  243. `data` field to be used. Some instances of this
  244. field may be defaulted, in others it may be required.
  245. type: string
  246. name:
  247. description: The name of the Secret resource being
  248. referred to.
  249. type: string
  250. namespace:
  251. description: Namespace of the resource being referred
  252. to. Ignored if referent is not cluster-scoped. cluster-scoped
  253. defaults to the namespace of the referent.
  254. type: string
  255. required:
  256. - name
  257. type: object
  258. type: object
  259. caBundle:
  260. description: PEM encoded CA bundle used to validate Vault
  261. server certificate. Only used if the Server URL is using
  262. HTTPS protocol. This parameter is ignored for plain HTTP
  263. protocol connection. If not set the system root certificates
  264. are used to validate the TLS connection.
  265. format: byte
  266. type: string
  267. namespace:
  268. description: 'Name of the vault namespace. Namespaces is a
  269. set of features within Vault Enterprise that allows Vault
  270. environments to support Secure Multi-tenancy. e.g: "ns1".
  271. More about namespaces can be found here https://www.vaultproject.io/docs/enterprise/namespaces'
  272. type: string
  273. path:
  274. description: 'Path is the mount path of the Vault KV backend
  275. endpoint, e.g: "secret". The v2 KV secret engine version
  276. specific "/data" path suffix for fetching secrets from Vault
  277. is optional and will be appended if not present in specified
  278. path.'
  279. type: string
  280. server:
  281. description: 'Server is the connection address for the Vault
  282. server, e.g: "https://vault.example.com:8200".'
  283. type: string
  284. version:
  285. default: v2
  286. description: Version is the Vault KV secret engine version.
  287. This can be either "v1" or "v2". Version defaults to "v2".
  288. enum:
  289. - v1
  290. - v2
  291. type: string
  292. required:
  293. - auth
  294. - path
  295. - server
  296. - version
  297. type: object
  298. type: object
  299. required:
  300. - provider
  301. type: object
  302. type: object
  303. served: true
  304. storage: true
  305. subresources:
  306. status: {}
  307. status:
  308. acceptedNames:
  309. kind: ""
  310. plural: ""
  311. conditions: []
  312. storedVersions: []