generators.external-secrets.io_acraccesstokens.yaml 9.0 KB

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