generators.external-secrets.io_acraccesstokens.yaml 9.0 KB

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