generators.external-secrets.io_acraccesstokens.yaml 9.1 KB

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