generators.external-secrets.io_stssessiontokens.yaml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.19.0
  6. labels:
  7. external-secrets.io/component: controller
  8. name: stssessiontokens.generators.external-secrets.io
  9. spec:
  10. group: generators.external-secrets.io
  11. names:
  12. categories:
  13. - external-secrets
  14. - external-secrets-generators
  15. kind: STSSessionToken
  16. listKind: STSSessionTokenList
  17. plural: stssessiontokens
  18. singular: stssessiontoken
  19. scope: Namespaced
  20. versions:
  21. - name: v1alpha1
  22. schema:
  23. openAPIV3Schema:
  24. description: |-
  25. STSSessionToken uses the GetSessionToken API to retrieve an authorization token.
  26. The authorization token is valid for 12 hours.
  27. The authorizationToken returned is a base64 encoded string that can be decoded.
  28. For more information, see GetSessionToken (https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html).
  29. properties:
  30. apiVersion:
  31. description: |-
  32. APIVersion defines the versioned schema of this representation of an object.
  33. Servers should convert recognized schemas to the latest internal value, and
  34. may reject unrecognized values.
  35. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  36. type: string
  37. kind:
  38. description: |-
  39. Kind is a string value representing the REST resource this object represents.
  40. Servers may infer this from the endpoint the client submits requests to.
  41. Cannot be updated.
  42. In CamelCase.
  43. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  44. type: string
  45. metadata:
  46. type: object
  47. spec:
  48. description: STSSessionTokenSpec defines the desired state to generate
  49. an AWS STS session token.
  50. properties:
  51. auth:
  52. description: Auth defines how to authenticate with AWS
  53. properties:
  54. jwt:
  55. description: AWSJWTAuth provides configuration to authenticate
  56. against AWS using service account tokens.
  57. properties:
  58. serviceAccountRef:
  59. description: ServiceAccountSelector is a reference to a ServiceAccount
  60. resource.
  61. properties:
  62. audiences:
  63. description: |-
  64. Audience specifies the `aud` claim for the service account token
  65. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  66. then this audiences will be appended to the list
  67. items:
  68. type: string
  69. type: array
  70. name:
  71. description: The name of the ServiceAccount resource being
  72. referred to.
  73. maxLength: 253
  74. minLength: 1
  75. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  76. type: string
  77. namespace:
  78. description: |-
  79. Namespace of the resource being referred to.
  80. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  81. maxLength: 63
  82. minLength: 1
  83. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  84. type: string
  85. required:
  86. - name
  87. type: object
  88. type: object
  89. secretRef:
  90. description: |-
  91. AWSAuthSecretRef holds secret references for AWS credentials
  92. both AccessKeyID and SecretAccessKey must be defined in order to properly authenticate.
  93. properties:
  94. accessKeyIDSecretRef:
  95. description: The AccessKeyID is used for authentication
  96. properties:
  97. key:
  98. description: |-
  99. A key in the referenced Secret.
  100. Some instances of this field may be defaulted, in others it may be required.
  101. maxLength: 253
  102. minLength: 1
  103. pattern: ^[-._a-zA-Z0-9]+$
  104. type: string
  105. name:
  106. description: The name of the Secret resource being referred
  107. to.
  108. maxLength: 253
  109. minLength: 1
  110. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  111. type: string
  112. namespace:
  113. description: |-
  114. The namespace of the Secret resource being referred to.
  115. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  116. maxLength: 63
  117. minLength: 1
  118. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  119. type: string
  120. type: object
  121. secretAccessKeySecretRef:
  122. description: The SecretAccessKey is used for authentication
  123. properties:
  124. key:
  125. description: |-
  126. A key in the referenced Secret.
  127. Some instances of this field may be defaulted, in others it may be required.
  128. maxLength: 253
  129. minLength: 1
  130. pattern: ^[-._a-zA-Z0-9]+$
  131. type: string
  132. name:
  133. description: The name of the Secret resource being referred
  134. to.
  135. maxLength: 253
  136. minLength: 1
  137. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  138. type: string
  139. namespace:
  140. description: |-
  141. The namespace of the Secret resource being referred to.
  142. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  143. maxLength: 63
  144. minLength: 1
  145. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  146. type: string
  147. type: object
  148. sessionTokenSecretRef:
  149. description: |-
  150. The SessionToken used for authentication
  151. This must be defined if AccessKeyID and SecretAccessKey are temporary credentials
  152. see: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html
  153. properties:
  154. key:
  155. description: |-
  156. A key in the referenced Secret.
  157. Some instances of this field may be defaulted, in others it may be required.
  158. maxLength: 253
  159. minLength: 1
  160. pattern: ^[-._a-zA-Z0-9]+$
  161. type: string
  162. name:
  163. description: The name of the Secret resource being referred
  164. to.
  165. maxLength: 253
  166. minLength: 1
  167. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  168. type: string
  169. namespace:
  170. description: |-
  171. The namespace of the Secret resource being referred to.
  172. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  173. maxLength: 63
  174. minLength: 1
  175. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  176. type: string
  177. type: object
  178. type: object
  179. type: object
  180. region:
  181. description: Region specifies the region to operate in.
  182. type: string
  183. requestParameters:
  184. description: RequestParameters contains parameters that can be passed
  185. to the STS service.
  186. properties:
  187. serialNumber:
  188. description: |-
  189. SerialNumber is the identification number of the MFA device that is associated with the IAM user who is making
  190. the GetSessionToken call.
  191. Possible values: hardware device (such as GAHT12345678) or an Amazon Resource Name (ARN) for a virtual device
  192. (such as arn:aws:iam::123456789012:mfa/user)
  193. type: string
  194. sessionDuration:
  195. format: int32
  196. type: integer
  197. tokenCode:
  198. description: TokenCode is the value provided by the MFA device,
  199. if MFA is required.
  200. type: string
  201. type: object
  202. role:
  203. description: |-
  204. You can assume a role before making calls to the
  205. desired AWS service.
  206. type: string
  207. required:
  208. - region
  209. type: object
  210. type: object
  211. served: true
  212. storage: true
  213. subresources:
  214. status: {}