|
71 | 71 | "type": "object" |
72 | 72 | }, |
73 | 73 | "secretKey": { |
74 | | - "description": "SecretKey defines the key in which the controller stores\nthe value. This is the key in the Kind=Secret", |
| 74 | + "description": "The key in the Kubernetes Secret to store the value.", |
| 75 | + "maxLength": 253, |
| 76 | + "minLength": 1, |
| 77 | + "pattern": "^[-._a-zA-Z0-9]+$", |
75 | 78 | "type": "string" |
76 | 79 | }, |
77 | 80 | "sourceRef": { |
78 | | - "description": "SourceRef allows you to override the source\nfrom which the value will pulled from.", |
| 81 | + "description": "SourceRef allows you to override the source\nfrom which the value will be pulled.", |
79 | 82 | "maxProperties": 1, |
| 83 | + "minProperties": 1, |
80 | 84 | "properties": { |
81 | 85 | "generatorRef": { |
82 | | - "description": "GeneratorRef points to a generator custom resource.\n\n\nDeprecated: The generatorRef is not implemented in .data[].\nthis will be removed with v1.", |
| 86 | + "description": "GeneratorRef points to a generator custom resource.\n\nDeprecated: The generatorRef is not implemented in .data[].\nthis will be removed with v1.", |
83 | 87 | "properties": { |
84 | 88 | "apiVersion": { |
85 | 89 | "default": "generators.external-secrets.io/v1alpha1", |
86 | 90 | "description": "Specify the apiVersion of the generator resource", |
87 | 91 | "type": "string" |
88 | 92 | }, |
89 | 93 | "kind": { |
90 | | - "description": "Specify the Kind of the resource, e.g. Password, ACRAccessToken etc.", |
| 94 | + "description": "Specify the Kind of the generator resource", |
| 95 | + "enum": [ |
| 96 | + "ACRAccessToken", |
| 97 | + "ClusterGenerator", |
| 98 | + "ECRAuthorizationToken", |
| 99 | + "Fake", |
| 100 | + "GCRAccessToken", |
| 101 | + "GithubAccessToken", |
| 102 | + "QuayAccessToken", |
| 103 | + "Password", |
| 104 | + "STSSessionToken", |
| 105 | + "UUID", |
| 106 | + "VaultDynamicSecret", |
| 107 | + "Webhook", |
| 108 | + "Grafana" |
| 109 | + ], |
91 | 110 | "type": "string" |
92 | 111 | }, |
93 | 112 | "name": { |
94 | 113 | "description": "Specify the name of the generator resource", |
| 114 | + "maxLength": 253, |
| 115 | + "minLength": 1, |
| 116 | + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", |
95 | 117 | "type": "string" |
96 | 118 | } |
97 | 119 | }, |
|
106 | 128 | "properties": { |
107 | 129 | "kind": { |
108 | 130 | "description": "Kind of the SecretStore resource (SecretStore or ClusterSecretStore)\nDefaults to `SecretStore`", |
| 131 | + "enum": [ |
| 132 | + "SecretStore", |
| 133 | + "ClusterSecretStore" |
| 134 | + ], |
109 | 135 | "type": "string" |
110 | 136 | }, |
111 | 137 | "name": { |
112 | 138 | "description": "Name of the SecretStore resource", |
| 139 | + "maxLength": 253, |
| 140 | + "minLength": 1, |
| 141 | + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", |
113 | 142 | "type": "string" |
114 | 143 | } |
115 | 144 | }, |
116 | | - "required": [ |
117 | | - "name" |
118 | | - ], |
119 | 145 | "type": "object" |
120 | 146 | } |
121 | 147 | }, |
|
274 | 300 | "sourceRef": { |
275 | 301 | "description": "SourceRef points to a store or generator\nwhich contains secret values ready to use.\nUse this in combination with Extract or Find pull values out of\na specific SecretStore.\nWhen sourceRef points to a generator Extract or Find is not supported.\nThe generator returns a static map of values", |
276 | 302 | "maxProperties": 1, |
| 303 | + "minProperties": 1, |
277 | 304 | "properties": { |
278 | 305 | "generatorRef": { |
279 | 306 | "description": "GeneratorRef points to a generator custom resource.", |
|
284 | 311 | "type": "string" |
285 | 312 | }, |
286 | 313 | "kind": { |
287 | | - "description": "Specify the Kind of the resource, e.g. Password, ACRAccessToken etc.", |
| 314 | + "description": "Specify the Kind of the generator resource", |
| 315 | + "enum": [ |
| 316 | + "ACRAccessToken", |
| 317 | + "ClusterGenerator", |
| 318 | + "ECRAuthorizationToken", |
| 319 | + "Fake", |
| 320 | + "GCRAccessToken", |
| 321 | + "GithubAccessToken", |
| 322 | + "QuayAccessToken", |
| 323 | + "Password", |
| 324 | + "STSSessionToken", |
| 325 | + "UUID", |
| 326 | + "VaultDynamicSecret", |
| 327 | + "Webhook", |
| 328 | + "Grafana" |
| 329 | + ], |
288 | 330 | "type": "string" |
289 | 331 | }, |
290 | 332 | "name": { |
291 | 333 | "description": "Specify the name of the generator resource", |
| 334 | + "maxLength": 253, |
| 335 | + "minLength": 1, |
| 336 | + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", |
292 | 337 | "type": "string" |
293 | 338 | } |
294 | 339 | }, |
|
303 | 348 | "properties": { |
304 | 349 | "kind": { |
305 | 350 | "description": "Kind of the SecretStore resource (SecretStore or ClusterSecretStore)\nDefaults to `SecretStore`", |
| 351 | + "enum": [ |
| 352 | + "SecretStore", |
| 353 | + "ClusterSecretStore" |
| 354 | + ], |
306 | 355 | "type": "string" |
307 | 356 | }, |
308 | 357 | "name": { |
309 | 358 | "description": "Name of the SecretStore resource", |
| 359 | + "maxLength": 253, |
| 360 | + "minLength": 1, |
| 361 | + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", |
310 | 362 | "type": "string" |
311 | 363 | } |
312 | 364 | }, |
313 | | - "required": [ |
314 | | - "name" |
315 | | - ], |
316 | 365 | "type": "object" |
317 | 366 | } |
318 | 367 | }, |
|
325 | 374 | }, |
326 | 375 | "refreshInterval": { |
327 | 376 | "default": "1h", |
328 | | - "description": "RefreshInterval is the amount of time before the values are read again from the SecretStore provider\nValid time units are \"ns\", \"us\" (or \"µs\"), \"ms\", \"s\", \"m\", \"h\"\nMay be set to zero to fetch and create it once. Defaults to 1h.", |
| 377 | + "description": "RefreshInterval is the amount of time before the values are read again from the SecretStore provider,\nspecified as Golang Duration strings.\nValid time units are \"ns\", \"us\" (or \"µs\"), \"ms\", \"s\", \"m\", \"h\"\nExample values: \"1h\", \"2h30m\", \"10s\"\nMay be set to zero to fetch and create it once. Defaults to 1h.", |
| 378 | + "type": "string" |
| 379 | + }, |
| 380 | + "refreshPolicy": { |
| 381 | + "description": "RefreshPolicy determines how the ExternalSecret should be refreshed:\n- CreatedOnce: Creates the Secret only if it does not exist and does not update it thereafter\n- Periodic: Synchronizes the Secret from the external source at regular intervals specified by refreshInterval.\n No periodic updates occur if refreshInterval is 0.\n- OnChange: Only synchronizes the Secret when the ExternalSecret's metadata or specification changes", |
| 382 | + "enum": [ |
| 383 | + "CreatedOnce", |
| 384 | + "Periodic", |
| 385 | + "OnChange" |
| 386 | + ], |
329 | 387 | "type": "string" |
330 | 388 | }, |
331 | 389 | "secretStoreRef": { |
332 | 390 | "description": "SecretStoreRef defines which SecretStore to fetch the ExternalSecret data.", |
333 | 391 | "properties": { |
334 | 392 | "kind": { |
335 | 393 | "description": "Kind of the SecretStore resource (SecretStore or ClusterSecretStore)\nDefaults to `SecretStore`", |
| 394 | + "enum": [ |
| 395 | + "SecretStore", |
| 396 | + "ClusterSecretStore" |
| 397 | + ], |
336 | 398 | "type": "string" |
337 | 399 | }, |
338 | 400 | "name": { |
339 | 401 | "description": "Name of the SecretStore resource", |
| 402 | + "maxLength": 253, |
| 403 | + "minLength": 1, |
| 404 | + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", |
340 | 405 | "type": "string" |
341 | 406 | } |
342 | 407 | }, |
343 | | - "required": [ |
344 | | - "name" |
345 | | - ], |
346 | 408 | "type": "object", |
347 | 409 | "additionalProperties": false |
348 | 410 | }, |
|
355 | 417 | "properties": { |
356 | 418 | "creationPolicy": { |
357 | 419 | "default": "Owner", |
358 | | - "description": "CreationPolicy defines rules on how to create the resulting Secret\nDefaults to 'Owner'", |
| 420 | + "description": "CreationPolicy defines rules on how to create the resulting Secret.\nDefaults to \"Owner\"", |
359 | 421 | "enum": [ |
360 | 422 | "Owner", |
361 | 423 | "Orphan", |
|
366 | 428 | }, |
367 | 429 | "deletionPolicy": { |
368 | 430 | "default": "Retain", |
369 | | - "description": "DeletionPolicy defines rules on how to delete the resulting Secret\nDefaults to 'Retain'", |
| 431 | + "description": "DeletionPolicy defines rules on how to delete the resulting Secret.\nDefaults to \"Retain\"", |
370 | 432 | "enum": [ |
371 | 433 | "Delete", |
372 | 434 | "Merge", |
|
379 | 441 | "type": "boolean" |
380 | 442 | }, |
381 | 443 | "name": { |
382 | | - "description": "Name defines the name of the Secret resource to be managed\nThis field is immutable\nDefaults to the .metadata.name of the ExternalSecret resource", |
| 444 | + "description": "The name of the Secret resource to be managed.\nDefaults to the .metadata.name of the ExternalSecret resource", |
| 445 | + "maxLength": 253, |
| 446 | + "minLength": 1, |
| 447 | + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", |
383 | 448 | "type": "string" |
384 | 449 | }, |
385 | 450 | "template": { |
|
395 | 460 | "default": "v2", |
396 | 461 | "description": "EngineVersion specifies the template engine version\nthat should be used to compile/execute the\ntemplate specified in .data and .templateFrom[].", |
397 | 462 | "enum": [ |
398 | | - "v1", |
399 | 463 | "v2" |
400 | 464 | ], |
401 | 465 | "type": "string" |
|
433 | 497 | "configMap": { |
434 | 498 | "properties": { |
435 | 499 | "items": { |
| 500 | + "description": "A list of keys in the ConfigMap/Secret to use as templates for Secret data", |
436 | 501 | "items": { |
437 | 502 | "properties": { |
438 | 503 | "key": { |
| 504 | + "description": "A key in the ConfigMap/Secret", |
| 505 | + "maxLength": 253, |
| 506 | + "minLength": 1, |
| 507 | + "pattern": "^[-._a-zA-Z0-9]+$", |
439 | 508 | "type": "string" |
440 | 509 | }, |
441 | 510 | "templateAs": { |
|
455 | 524 | "type": "array" |
456 | 525 | }, |
457 | 526 | "name": { |
| 527 | + "description": "The name of the ConfigMap/Secret resource", |
| 528 | + "maxLength": 253, |
| 529 | + "minLength": 1, |
| 530 | + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", |
458 | 531 | "type": "string" |
459 | 532 | } |
460 | 533 | }, |
|
470 | 543 | "secret": { |
471 | 544 | "properties": { |
472 | 545 | "items": { |
| 546 | + "description": "A list of keys in the ConfigMap/Secret to use as templates for Secret data", |
473 | 547 | "items": { |
474 | 548 | "properties": { |
475 | 549 | "key": { |
| 550 | + "description": "A key in the ConfigMap/Secret", |
| 551 | + "maxLength": 253, |
| 552 | + "minLength": 1, |
| 553 | + "pattern": "^[-._a-zA-Z0-9]+$", |
476 | 554 | "type": "string" |
477 | 555 | }, |
478 | 556 | "templateAs": { |
|
492 | 570 | "type": "array" |
493 | 571 | }, |
494 | 572 | "name": { |
| 573 | + "description": "The name of the ConfigMap/Secret resource", |
| 574 | + "maxLength": 253, |
| 575 | + "minLength": 1, |
| 576 | + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", |
495 | 577 | "type": "string" |
496 | 578 | } |
497 | 579 | }, |
|
536 | 618 | "description": "Binding represents a servicebinding.io Provisioned Service reference to the secret", |
537 | 619 | "properties": { |
538 | 620 | "name": { |
539 | | - "description": "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?", |
| 621 | + "default": "", |
| 622 | + "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", |
540 | 623 | "type": "string" |
541 | 624 | } |
542 | 625 | }, |
|
0 commit comments