generators.external-secrets.io_acraccesstokens.yaml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.17.1
  6. labels:
  7. external-secrets.io/component: controller
  8. name: acraccesstokens.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: ACRAccessToken
  16. listKind: ACRAccessTokenList
  17. plural: acraccesstokens
  18. singular: acraccesstoken
  19. scope: Namespaced
  20. versions:
  21. - name: v1alpha1
  22. schema:
  23. openAPIV3Schema:
  24. description: |-
  25. ACRAccessToken returns a Azure Container Registry token
  26. that can be used for pushing/pulling images.
  27. Note: by default it will return an ACR Refresh Token with full access
  28. (depending on the identity).
  29. This can be scoped down to the repository level using .spec.scope.
  30. In case scope is defined it will return an ACR Access Token.
  31. See docs: https://github.com/Azure/acr/blob/main/docs/AAD-OAuth.md
  32. properties:
  33. apiVersion:
  34. description: |-
  35. APIVersion defines the versioned schema of this representation of an object.
  36. Servers should convert recognized schemas to the latest internal value, and
  37. may reject unrecognized values.
  38. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  39. type: string
  40. kind:
  41. description: |-
  42. Kind is a string value representing the REST resource this object represents.
  43. Servers may infer this from the endpoint the client submits requests to.
  44. Cannot be updated.
  45. In CamelCase.
  46. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  47. type: string
  48. metadata:
  49. type: object
  50. spec:
  51. description: |-
  52. ACRAccessTokenSpec defines how to generate the access token
  53. e.g. how to authenticate and which registry to use.
  54. see: https://github.com/Azure/acr/blob/main/docs/AAD-OAuth.md#overview
  55. properties:
  56. auth:
  57. properties:
  58. managedIdentity:
  59. description: ManagedIdentity uses Azure Managed Identity to authenticate
  60. with Azure.
  61. properties:
  62. identityId:
  63. description: If multiple Managed Identity is assigned to the
  64. pod, you can select the one to be used
  65. type: string
  66. type: object
  67. servicePrincipal:
  68. description: ServicePrincipal uses Azure Service Principal credentials
  69. to authenticate with Azure.
  70. properties:
  71. secretRef:
  72. description: |-
  73. Configuration used to authenticate with Azure using static
  74. credentials stored in a Kind=Secret.
  75. properties:
  76. clientId:
  77. description: The Azure clientId of the service principle
  78. used for authentication.
  79. properties:
  80. key:
  81. description: |-
  82. A key in the referenced Secret.
  83. Some instances of this field may be defaulted, in others it may be required.
  84. maxLength: 253
  85. minLength: 1
  86. pattern: ^[-._a-zA-Z0-9]+$
  87. type: string
  88. name:
  89. description: The name of the Secret resource being
  90. referred to.
  91. maxLength: 253
  92. minLength: 1
  93. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  94. type: string
  95. namespace:
  96. description: |-
  97. The namespace of the Secret resource being referred to.
  98. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  99. maxLength: 63
  100. minLength: 1
  101. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  102. type: string
  103. type: object
  104. clientSecret:
  105. description: The Azure ClientSecret of the service principle
  106. used for authentication.
  107. properties:
  108. key:
  109. description: |-
  110. A key in the referenced Secret.
  111. Some instances of this field may be defaulted, in others it may be required.
  112. maxLength: 253
  113. minLength: 1
  114. pattern: ^[-._a-zA-Z0-9]+$
  115. type: string
  116. name:
  117. description: The name of the Secret resource being
  118. referred to.
  119. maxLength: 253
  120. minLength: 1
  121. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  122. type: string
  123. namespace:
  124. description: |-
  125. The namespace of the Secret resource being referred to.
  126. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  127. maxLength: 63
  128. minLength: 1
  129. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  130. type: string
  131. type: object
  132. type: object
  133. required:
  134. - secretRef
  135. type: object
  136. workloadIdentity:
  137. description: WorkloadIdentity uses Azure Workload Identity to
  138. authenticate with Azure.
  139. properties:
  140. serviceAccountRef:
  141. description: |-
  142. ServiceAccountRef specified the service account
  143. that should be used when authenticating with WorkloadIdentity.
  144. properties:
  145. audiences:
  146. description: |-
  147. Audience specifies the `aud` claim for the service account token
  148. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  149. then this audiences will be appended to the list
  150. items:
  151. type: string
  152. type: array
  153. name:
  154. description: The name of the ServiceAccount resource being
  155. referred to.
  156. maxLength: 253
  157. minLength: 1
  158. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  159. type: string
  160. namespace:
  161. description: |-
  162. Namespace of the resource being referred to.
  163. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  164. maxLength: 63
  165. minLength: 1
  166. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  167. type: string
  168. required:
  169. - name
  170. type: object
  171. type: object
  172. type: object
  173. environmentType:
  174. default: PublicCloud
  175. description: |-
  176. EnvironmentType specifies the Azure cloud environment endpoints to use for
  177. connecting and authenticating with Azure. By default it points to the public cloud AAD endpoint.
  178. The following endpoints are available, also see here: https://github.com/Azure/go-autorest/blob/main/autorest/azure/environments.go#L152
  179. PublicCloud, USGovernmentCloud, ChinaCloud, GermanCloud
  180. enum:
  181. - PublicCloud
  182. - USGovernmentCloud
  183. - ChinaCloud
  184. - GermanCloud
  185. type: string
  186. registry:
  187. description: |-
  188. the domain name of the ACR registry
  189. e.g. foobarexample.azurecr.io
  190. type: string
  191. scope:
  192. description: |-
  193. Define the scope for the access token, e.g. pull/push access for a repository.
  194. if not provided it will return a refresh token that has full scope.
  195. Note: you need to pin it down to the repository level, there is no wildcard available.
  196. examples:
  197. repository:my-repository:pull,push
  198. repository:my-repository:pull
  199. see docs for details: https://docs.docker.com/registry/spec/auth/scope/
  200. type: string
  201. tenantId:
  202. description: TenantID configures the Azure Tenant to send requests
  203. to. Required for ServicePrincipal auth type.
  204. type: string
  205. required:
  206. - auth
  207. - registry
  208. type: object
  209. type: object
  210. served: true
  211. storage: true
  212. subresources:
  213. status: {}