generators.external-secrets.io_beyondtrustworkloadcredentialsdynamicsecrets.yaml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  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: beyondtrustworkloadcredentialsdynamicsecrets.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: BeyondtrustWorkloadCredentialsDynamicSecret
  16. listKind: BeyondtrustWorkloadCredentialsDynamicSecretList
  17. plural: beyondtrustworkloadcredentialsdynamicsecrets
  18. singular: beyondtrustworkloadcredentialsdynamicsecret
  19. scope: Namespaced
  20. versions:
  21. - name: v1alpha1
  22. schema:
  23. openAPIV3Schema:
  24. description: |-
  25. BeyondtrustWorkloadCredentialsDynamicSecret represents a generator that requests dynamic credentials from BeyondTrust Workload Credentials.
  26. This generator calls the BeyondTrust Workload Credentials API to generate fresh, temporary credentials
  27. (such as AWS STS credentials) each time an ExternalSecret is refreshed.
  28. Dynamic secret definitions must be created in BeyondTrust Workload Credentials before they can be referenced.
  29. For complete documentation, see: https://docs.beyondtrust.com/bt-docs/docs/secrets-api
  30. properties:
  31. apiVersion:
  32. description: |-
  33. APIVersion defines the versioned schema of this representation of an object.
  34. Servers should convert recognized schemas to the latest internal value, and
  35. may reject unrecognized values.
  36. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  37. type: string
  38. kind:
  39. description: |-
  40. Kind is a string value representing the REST resource this object represents.
  41. Servers may infer this from the endpoint the client submits requests to.
  42. Cannot be updated.
  43. In CamelCase.
  44. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  45. type: string
  46. metadata:
  47. type: object
  48. spec:
  49. description: |-
  50. BeyondtrustWorkloadCredentialsDynamicSecretSpec defines the desired spec for BeyondtrustWorkloadCredentials dynamic generator.
  51. This generator enables obtaining temporary, short-lived credentials from BeyondTrust Workload Credentials.
  52. For more information, see: https://docs.beyondtrust.com/bt-docs/docs/secrets-api
  53. properties:
  54. controller:
  55. description: |-
  56. Controller selects the controller that should handle this generator.
  57. Leave empty to use the default controller.
  58. type: string
  59. provider:
  60. description: |-
  61. Provider contains the BeyondtrustWorkloadCredentials provider configuration including authentication,
  62. server connection details, and the folder path to the dynamic secret definition.
  63. The folderPath should point to a dynamic secret definition that has been created in
  64. BeyondTrust Workload Credentials (e.g., "production/aws-temp").
  65. For setup details, see: https://docs.beyondtrust.com/bt-docs/docs/secrets-api
  66. properties:
  67. auth:
  68. description: |-
  69. Auth configures how the Operator authenticates with the BeyondTrust Workload Credentials API.
  70. Currently supports API key authentication via Kubernetes secret reference.
  71. For authentication setup, see: https://docs.beyondtrust.com/bt-docs/docs/secrets-api#authentication
  72. properties:
  73. apikey:
  74. description: |-
  75. APIKey configures API token authentication for BeyondTrust Workload Credentials.
  76. The token is retrieved from a Kubernetes secret and used as a Bearer token for API requests.
  77. properties:
  78. token:
  79. description: |-
  80. Token references the Kubernetes secret containing the BeyondTrust Workload Credentials API token.
  81. The secret should contain the API key used to authenticate with BeyondTrust Workload Credentials.
  82. Create an API token in your BeyondTrust Workload Credentials console and store it in a Kubernetes secret.
  83. For details on creating API tokens, see: https://docs.beyondtrust.com/bt-docs/docs/secrets-api#authentication
  84. properties:
  85. key:
  86. description: |-
  87. A key in the referenced Secret.
  88. Some instances of this field may be defaulted, in others it may be required.
  89. maxLength: 253
  90. minLength: 1
  91. pattern: ^[-._a-zA-Z0-9]+$
  92. type: string
  93. name:
  94. description: The name of the Secret resource being
  95. referred to.
  96. maxLength: 253
  97. minLength: 1
  98. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  99. type: string
  100. namespace:
  101. description: |-
  102. The namespace of the Secret resource being referred to.
  103. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  104. maxLength: 63
  105. minLength: 1
  106. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  107. type: string
  108. type: object
  109. required:
  110. - token
  111. type: object
  112. required:
  113. - apikey
  114. type: object
  115. caBundle:
  116. description: |-
  117. CABundle is a base64-encoded CA certificate used to validate the BeyondTrust Workload Credentials API TLS certificate.
  118. Use this when your BeyondTrust instance uses a self-signed certificate or internal CA.
  119. If not set, the system's trusted root certificates are used.
  120. format: byte
  121. type: string
  122. caProvider:
  123. description: |-
  124. CAProvider points to a Secret or ConfigMap containing a PEM-encoded CA certificate.
  125. This is used to validate the BeyondTrust Workload Credentials API TLS certificate.
  126. Use this as an alternative to CABundle when you want to reference an existing Kubernetes resource.
  127. properties:
  128. key:
  129. description: The key where the CA certificate can be found
  130. in the Secret or ConfigMap.
  131. maxLength: 253
  132. minLength: 1
  133. pattern: ^[-._a-zA-Z0-9]+$
  134. type: string
  135. name:
  136. description: The name of the object located at the provider
  137. type.
  138. maxLength: 253
  139. minLength: 1
  140. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  141. type: string
  142. namespace:
  143. description: |-
  144. The namespace the Provider type is in.
  145. Can only be defined when used in a ClusterSecretStore.
  146. maxLength: 63
  147. minLength: 1
  148. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  149. type: string
  150. type:
  151. description: The type of provider to use such as "Secret",
  152. or "ConfigMap".
  153. enum:
  154. - Secret
  155. - ConfigMap
  156. type: string
  157. required:
  158. - name
  159. - type
  160. type: object
  161. folderPath:
  162. description: |-
  163. FolderPath specifies the default folder path for secret retrieval.
  164. Secrets will be fetched from this folder unless overridden in the ExternalSecret spec.
  165. Example: "production/database" or "dev/api-keys"
  166. Leave empty to retrieve secrets from the root folder.
  167. For folder organization, see: https://docs.beyondtrust.com/bt-docs/docs/secrets-api#folders
  168. type: string
  169. server:
  170. description: |-
  171. Server configures the BeyondTrust Workload Credentials server connection details.
  172. Includes the API URL and Site ID for your BeyondTrust instance.
  173. For API reference, see: https://docs.beyondtrust.com/bt-docs/docs/secrets-api
  174. properties:
  175. apiUrl:
  176. description: |-
  177. APIURL is the base URL of your BeyondTrust Workload Credentials API server.
  178. This should be the full URL to your BeyondTrust instance.
  179. Example: https://api.beyondtrust.io/siie
  180. For more information, see: https://docs.beyondtrust.com/bt-docs/docs/secrets-api#base-url
  181. type: string
  182. siteId:
  183. description: |-
  184. SiteID is your BeyondTrust Workload Credentials site identifier (UUID format).
  185. This identifier is unique to your BeyondTrust Workload Credentials instance.
  186. You can find your Site ID in the BeyondTrust Workload Credentials admin console.
  187. Example: a1b2c3d4-e5f6-4890-abcd-ef1234567890
  188. For more information, see: https://docs.beyondtrust.com/bt-docs/docs/secrets-api
  189. type: string
  190. required:
  191. - apiUrl
  192. - siteId
  193. type: object
  194. required:
  195. - auth
  196. - server
  197. type: object
  198. retrySettings:
  199. description: |-
  200. RetrySettings configures exponential backoff for failed API requests.
  201. If not specified, uses the default retry settings.
  202. properties:
  203. maxRetries:
  204. format: int32
  205. type: integer
  206. retryInterval:
  207. type: string
  208. type: object
  209. required:
  210. - provider
  211. type: object
  212. type: object
  213. served: true
  214. storage: true
  215. subresources:
  216. status: {}