github.com/tilt-dev/tilt@v0.36.0/web/src/view.d.ts (about) 1 // Autogenerated: DO NOT EDIT 2 declare namespace Proto { 3 export interface webviewView { 4 log?: string; 5 resources?: webviewResource[]; 6 /** 7 * We used to have a setting that allowed users to dynamically 8 * prepend timestamps in logs. 9 */ 10 DEPRECATEDLogTimestamps?: boolean; 11 featureFlags?: object; 12 needsAnalyticsNudge?: boolean; 13 runningTiltBuild?: webviewTiltBuild; 14 DEPRECATEDLatestTiltBuild?: webviewTiltBuild; 15 suggestedTiltVersion?: string; 16 versionSettings?: webviewVersionSettings; 17 tiltCloudUsername?: string; 18 tiltCloudTeamName?: string; 19 tiltCloudSchemeHost?: string; 20 tiltCloudTeamID?: string; 21 fatalError?: string; 22 logList?: webviewLogList; 23 /** 24 * Allows us to synchronize on a running Tilt instance, 25 * so we can tell when Tilt restarted. 26 */ 27 tiltStartTime?: string; 28 tiltfileKey?: string; 29 /** 30 * New API-server based data models. 31 */ 32 uiSession?: v1alpha1UISession; 33 uiResources?: v1alpha1UIResource[]; 34 uiButtons?: v1alpha1UIButton[]; 35 clusters?: v1alpha1Cluster[]; 36 /** 37 * indicates that this view is a complete representation of the app 38 * if false, this view just contains deltas from a previous view. 39 */ 40 isComplete?: boolean; 41 } 42 export interface webviewVersionSettings { 43 checkUpdates?: boolean; 44 } 45 export interface webviewUploadSnapshotResponse { 46 url?: string; 47 } 48 export interface webviewTiltBuild { 49 version?: string; 50 commitSHA?: string; 51 date?: string; 52 dev?: boolean; 53 } 54 export interface webviewTargetSpec { 55 id?: string; 56 type?: string; 57 hasLiveUpdate?: boolean; 58 } 59 export interface webviewSnapshotHighlight { 60 beginningLogID?: string; 61 endingLogID?: string; 62 text?: string; 63 } 64 export interface webviewSnapshot { 65 view?: webviewView; 66 isSidebarClosed?: boolean; 67 path?: string; 68 snapshotHighlight?: webviewSnapshotHighlight; 69 snapshotLink?: string; 70 createdAt?: string; 71 } 72 export interface webviewResource { 73 name?: string; 74 lastDeployTime?: string; 75 triggerMode?: number; 76 buildHistory?: webviewBuildRecord[]; 77 currentBuild?: webviewBuildRecord; 78 pendingBuildSince?: string; 79 hasPendingChanges?: boolean; 80 endpointLinks?: webviewLink[]; 81 podID?: string; 82 k8sResourceInfo?: webviewK8sResourceInfo; 83 localResourceInfo?: webviewLocalResourceInfo; 84 runtimeStatus?: string; 85 updateStatus?: string; 86 isTiltfile?: boolean; 87 specs?: webviewTargetSpec[]; 88 queued?: boolean; 89 } 90 export interface webviewLogSpan { 91 manifestName?: string; 92 } 93 export interface webviewLogSegment { 94 spanId?: string; 95 time?: string; 96 text?: string; 97 level?: string; 98 /** 99 * When we store warnings in the LogStore, we break them up into lines and 100 * store them as a series of line segments. 'anchor' marks the beginning of a 101 * series of logs that should be kept together. 102 * 103 * Anchor warning1, line1 104 * warning1, line2 105 * Anchor warning2, line1 106 */ 107 anchor?: boolean; 108 /** 109 * Context-specific optional fields for a log segment. 110 * Used for experimenting with new types of log metadata. 111 */ 112 fields?: object; 113 } 114 export interface webviewLogList { 115 spans?: object; 116 segments?: webviewLogSegment[]; 117 /** 118 * [from_checkpoint, to_checkpoint) 119 * 120 * An interval of [0, 0) means that the server isn't using 121 * the incremental load protocol. 122 * 123 * An interval of [-1, -1) means that the server doesn't have new logs 124 * to send down. 125 */ 126 fromCheckpoint?: number; 127 toCheckpoint?: number; 128 } 129 export interface webviewLocalResourceInfo { 130 pid?: string; 131 isTest?: boolean; 132 } 133 export interface webviewLink { 134 url?: string; 135 name?: string; 136 } 137 export interface webviewK8sResourceInfo { 138 podName?: string; 139 podCreationTime?: string; 140 podUpdateStartTime?: string; 141 podStatus?: string; 142 podStatusMessage?: string; 143 allContainersReady?: boolean; 144 podRestarts?: number; 145 spanId?: string; 146 displayNames?: string[]; 147 } 148 export interface webviewBuildRecord { 149 error?: string; 150 warnings?: string[]; 151 startTime?: string; 152 finishTime?: string; 153 isCrashRebuild?: boolean; 154 /** 155 * The span id for this build record's logs in the main logstore. 156 */ 157 spanId?: string; 158 } 159 export interface webviewAckWebsocketResponse {} 160 export interface webviewAckWebsocketRequest { 161 toCheckpoint?: number; 162 /** 163 * Allows us to synchronize on a running Tilt instance, 164 * so we can tell when we're talking to the same Tilt. 165 */ 166 tiltStartTime?: string; 167 } 168 export interface v1Time { 169 /** 170 * Represents seconds of UTC time since Unix epoch 171 * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 172 * 9999-12-31T23:59:59Z inclusive. 173 */ 174 seconds?: string; 175 /** 176 * Non-negative fractions of a second at nanosecond resolution. Negative 177 * second values with fractions must still have non-negative nanos values 178 * that count forward in time. Must be from 0 to 999,999,999 179 * inclusive. This field may be limited in precision depending on context. 180 */ 181 nanos?: number; 182 } 183 export interface v1OwnerReference { 184 /** 185 * API version of the referent. 186 */ 187 apiVersion?: string; 188 kind?: string; 189 name?: string; 190 uid?: string; 191 controller?: boolean; 192 blockOwnerDeletion?: boolean; 193 } 194 export interface v1ObjectMeta { 195 name?: string; 196 /** 197 * GenerateName is an optional prefix, used by the server, to generate a unique 198 * name ONLY IF the Name field has not been provided. 199 * If this field is used, the name returned to the client will be different 200 * than the name passed. This value will also be combined with a unique suffix. 201 * The provided value has the same validation rules as the Name field, 202 * and may be truncated by the length of the suffix required to make the value 203 * unique on the server. 204 * 205 * If this field is specified and the generated name exists, the server will return a 409. 206 * 207 * Applied only if Name is not specified. 208 * More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency 209 * +optional 210 */ 211 generateName?: string; 212 /** 213 * Namespace defines the space within which each name must be unique. An empty namespace is 214 * equivalent to the "default" namespace, but "default" is the canonical representation. 215 * Not all objects are required to be scoped to a namespace - the value of this field for 216 * those objects will be empty. 217 * 218 * Must be a DNS_LABEL. 219 * Cannot be updated. 220 * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces 221 * +optional 222 */ 223 namespace?: string; 224 selfLink?: string; 225 /** 226 * UID is the unique in time and space value for this object. It is typically generated by 227 * the server on successful creation of a resource and is not allowed to change on PUT 228 * operations. 229 * 230 * Populated by the system. 231 * Read-only. 232 * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids 233 * +optional 234 */ 235 uid?: string; 236 /** 237 * An opaque value that represents the internal version of this object that can 238 * be used by clients to determine when objects have changed. May be used for optimistic 239 * concurrency, change detection, and the watch operation on a resource or set of resources. 240 * Clients must treat these values as opaque and passed unmodified back to the server. 241 * They may only be valid for a particular resource or set of resources. 242 * 243 * Populated by the system. 244 * Read-only. 245 * Value must be treated as opaque by clients and . 246 * More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency 247 * +optional 248 */ 249 resourceVersion?: string; 250 generation?: string; 251 /** 252 * CreationTimestamp is a timestamp representing the server time when this object was 253 * created. It is not guaranteed to be set in happens-before order across separate operations. 254 * Clients may not set this value. It is represented in RFC3339 form and is in UTC. 255 * 256 * Populated by the system. 257 * Read-only. 258 * Null for lists. 259 * More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 260 * +optional 261 */ 262 creationTimestamp?: string; 263 /** 264 * DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This 265 * field is set by the server when a graceful deletion is requested by the user, and is not 266 * directly settable by a client. The resource is expected to be deleted (no longer visible 267 * from resource lists, and not reachable by name) after the time in this field, once the 268 * finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. 269 * Once the deletionTimestamp is set, this value may not be unset or be set further into the 270 * future, although it may be shortened or the resource may be deleted prior to this time. 271 * For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react 272 * by sending a graceful termination signal to the containers in the pod. After that 30 seconds, 273 * the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, 274 * remove the pod from the API. In the presence of network partitions, this object may still 275 * exist after this timestamp, until an administrator or automated process can determine the 276 * resource is fully terminated. 277 * If not set, graceful deletion of the object has not been requested. 278 * 279 * Populated by the system when a graceful deletion is requested. 280 * Read-only. 281 * More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 282 * +optional 283 */ 284 deletionTimestamp?: string; 285 deletionGracePeriodSeconds?: string; 286 labels?: object; 287 annotations?: object; 288 ownerReferences?: v1OwnerReference[]; 289 finalizers?: string[]; 290 /** 291 * ManagedFields maps workflow-id and version to the set of fields 292 * that are managed by that workflow. This is mostly for internal 293 * housekeeping, and users typically shouldn't need to set or 294 * understand this field. A workflow can be the user's name, a 295 * controller's name, or the name of a specific apply path like 296 * "ci-cd". The set of fields is always in the version that the 297 * workflow used when modifying the object. 298 * 299 * +optional 300 * +listType=atomic 301 */ 302 managedFields?: v1ManagedFieldsEntry[]; 303 } 304 export interface v1MicroTime { 305 /** 306 * Represents seconds of UTC time since Unix epoch 307 * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 308 * 9999-12-31T23:59:59Z inclusive. 309 */ 310 seconds?: string; 311 /** 312 * Non-negative fractions of a second at nanosecond resolution. Negative 313 * second values with fractions must still have non-negative nanos values 314 * that count forward in time. Must be from 0 to 999,999,999 315 * inclusive. This field may be limited in precision depending on context. 316 */ 317 nanos?: number; 318 } 319 export interface v1ManagedFieldsEntry { 320 /** 321 * Manager is an identifier of the workflow managing these fields. 322 */ 323 manager?: string; 324 /** 325 * Operation is the type of operation which lead to this ManagedFieldsEntry being created. 326 * The only valid values for this field are 'Apply' and 'Update'. 327 */ 328 operation?: string; 329 /** 330 * APIVersion defines the version of this resource that this field set 331 * applies to. The format is "group/version" just like the top-level 332 * APIVersion field. It is necessary to track the version of a field 333 * set because it cannot be automatically converted. 334 */ 335 apiVersion?: string; 336 time?: string; 337 fieldsType?: string; 338 fieldsV1?: v1FieldsV1; 339 /** 340 * Subresource is the name of the subresource used to update that object, or 341 * empty string if the object was updated through the main resource. The 342 * value of this field is used to distinguish between managers, even if they 343 * share the same name. For example, a status update will be distinct from a 344 * regular update using the same manager name. 345 * Note that the APIVersion field is not related to the Subresource field and 346 * it always corresponds to the version of the main resource. 347 */ 348 subresource?: string; 349 } 350 export interface v1FieldsV1 { 351 /** 352 * Raw is the underlying serialization of this object. 353 */ 354 Raw?: string; 355 } 356 export interface v1alpha1UITextInputStatus { 357 /** 358 * The content of the text input. 359 */ 360 value?: string; 361 } 362 export interface v1alpha1UITextInputSpec { 363 /** 364 * Initial value for this field. 365 * 366 * +optional 367 */ 368 defaultValue?: string; 369 /** 370 * A short hint that describes the expected input of this field. 371 * 372 * +optional 373 */ 374 placeholder?: string; 375 } 376 export interface v1alpha1UISessionStatus { 377 featureFlags?: v1alpha1UIFeatureFlag[]; 378 needsAnalyticsNudge?: boolean; 379 runningTiltBuild?: corev1alpha1TiltBuild; 380 suggestedTiltVersion?: string; 381 versionSettings?: corev1alpha1VersionSettings; 382 /** 383 * TiltCloudUsername reports the username if the user is signed into 384 * TiltCloud. 385 * 386 * deprecated: no longer populated 387 * 388 * +optional 389 */ 390 tiltCloudUsername?: string; 391 /** 392 * TiltCloudUsername reports the human-readable team name if the user is 393 * signed into TiltCloud and the Tiltfile declares a team. 394 * 395 * deprecated: no longer populated 396 * 397 * +optional 398 */ 399 tiltCloudTeamName?: string; 400 /** 401 * deprecated: no longer populated 402 * 403 * +optional 404 */ 405 tiltCloudSchemeHost?: string; 406 /** 407 * TiltCloudTeamID reports the unique team id if the user is signed into 408 * TiltCloud and the Tiltfile declares a team. 409 * 410 * deprecated: no longer populated 411 * 412 * +optional 413 */ 414 tiltCloudTeamID?: string; 415 fatalError?: string; 416 tiltStartTime?: string; 417 tiltfileKey?: string; 418 } 419 export interface v1alpha1UISessionSpec {} 420 export interface v1alpha1UISession { 421 metadata?: v1ObjectMeta; 422 spec?: v1alpha1UISessionSpec; 423 status?: v1alpha1UISessionStatus; 424 } 425 export interface v1alpha1UIResourceTargetSpec { 426 id?: string; 427 type?: string; 428 hasLiveUpdate?: boolean; 429 } 430 export interface v1alpha1UIResourceStatus { 431 lastDeployTime?: string; 432 triggerMode?: number; 433 buildHistory?: v1alpha1UIBuildTerminated[]; 434 currentBuild?: v1alpha1UIBuildRunning; 435 pendingBuildSince?: string; 436 hasPendingChanges?: boolean; 437 endpointLinks?: v1alpha1UIResourceLink[]; 438 k8sResourceInfo?: v1alpha1UIResourceKubernetes; 439 composeResourceInfo?: v1alpha1UIResourceCompose; 440 localResourceInfo?: v1alpha1UIResourceLocal; 441 /** 442 * The RuntimeStatus is a simple, high-level summary of the runtime state of a server. 443 * 444 * Not all resources run servers. 445 * +optional 446 */ 447 runtimeStatus?: string; 448 /** 449 * The UpdateStatus is a simple, high-level summary of any update tasks to bring 450 * the resource up-to-date. 451 * 452 * If the resource runs a server, this may include both build tasks and live-update 453 * syncing. 454 * +optional 455 */ 456 updateStatus?: string; 457 specs?: v1alpha1UIResourceTargetSpec[]; 458 queued?: boolean; 459 /** 460 * Order expresses the relative order of resources in the UI when they're not 461 * otherwise sorted. Lower integers go first. When two resources have the same 462 * order, they should be sorted by name. 463 * 464 * When UIResources are generated from the Tiltfile, we use the order they 465 * were added to the Tiltfile for the Order field. 466 * 467 * +optional 468 */ 469 order?: number; 470 /** 471 * Information about the resource's objects' disabled status. 472 */ 473 disableStatus?: v1alpha1DisableResourceStatus; 474 /** 475 * Waiting provides detail on why the resource is currently blocked from updating. 476 * 477 * +optional 478 */ 479 waiting?: v1alpha1UIResourceStateWaiting; 480 /** 481 * Represents the latest available observations of a UIResource's current state. 482 * 483 * Designed for compatibility with 'wait' and cross-resource status reporting. 484 * https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties 485 * 486 * +optional 487 */ 488 conditions?: v1alpha1UIResourceCondition[]; 489 } 490 export interface v1alpha1UIResourceStateWaitingOnRef { 491 /** 492 * Group for the object type being waited on. 493 */ 494 group?: string; 495 /** 496 * APIVersion for the object type being waited on. 497 */ 498 apiVersion?: string; 499 /** 500 * Kind of the object type being waited on. 501 */ 502 kind?: string; 503 /** 504 * Name of the object being waiting on. 505 */ 506 name?: string; 507 } 508 export interface v1alpha1UIResourceStateWaiting { 509 /** 510 * Reason is a unique, one-word reason for why the UIResource update is pending. 511 */ 512 reason?: string; 513 /** 514 * HoldingOn is the set of objects blocking this resource from updating. 515 * 516 * These objects might NOT be explicit dependencies of the current resource. For example, if an un-parallelizable 517 * resource is updating, all other resources with queued updates will be holding on it with a reason of 518 * `waiting-for-local`. 519 * 520 * +optional 521 */ 522 on?: v1alpha1UIResourceStateWaitingOnRef[]; 523 } 524 export interface v1alpha1UIResourceSpec {} 525 export interface v1alpha1UIResourceLocal { 526 pid?: string; 527 /** 528 * Whether this represents a test job. 529 * 530 * Deprecated: Users should use labels for marking services as tests. 531 * 532 * +optional 533 */ 534 isTest?: boolean; 535 } 536 export interface v1alpha1UIResourceLink { 537 url?: string; 538 name?: string; 539 } 540 export interface v1alpha1UIResourceKubernetes { 541 /** 542 * The name of the active pod. 543 * 544 * The active pod tends to be what Tilt defaults to for port-forwards, 545 * live-updates, etc. 546 * +optional 547 */ 548 podName?: string; 549 podCreationTime?: string; 550 podUpdateStartTime?: string; 551 podStatus?: string; 552 podStatusMessage?: string; 553 allContainersReady?: boolean; 554 podRestarts?: number; 555 spanID?: string; 556 displayNames?: string[]; 557 } 558 export interface v1alpha1UIResourceCondition { 559 /** 560 * Type of UI Resource condition. 561 */ 562 type?: string; 563 /** 564 * Status of the condition, one of True, False, Unknown. 565 */ 566 status?: string; 567 lastTransitionTime?: string; 568 reason?: string; 569 message?: string; 570 } 571 export interface v1alpha1UIResourceCompose { 572 healthStatus?: string; 573 } 574 export interface v1alpha1UIResource { 575 metadata?: v1ObjectMeta; 576 spec?: v1alpha1UIResourceSpec; 577 status?: v1alpha1UIResourceStatus; 578 } 579 export interface v1alpha1UIInputStatus { 580 /** 581 * Name of the input whose status this is. Must match the `Name` of a corresponding 582 * UIInputSpec. 583 */ 584 name?: string; 585 text?: v1alpha1UITextInputStatus; 586 bool?: v1alpha1UIBoolInputStatus; 587 hidden?: v1alpha1UIHiddenInputStatus; 588 choice?: v1alpha1UIChoiceInputStatus; 589 } 590 export interface v1alpha1UIInputSpec { 591 /** 592 * Name of this input. Must be unique within the UIButton. 593 */ 594 name?: string; 595 label?: string; 596 text?: v1alpha1UITextInputSpec; 597 bool?: v1alpha1UIBoolInputSpec; 598 hidden?: v1alpha1UIHiddenInputSpec; 599 choice?: v1alpha1UIChoiceInputSpec; 600 } 601 export interface v1alpha1UIHiddenInputStatus { 602 value?: string; 603 } 604 export interface v1alpha1UIHiddenInputSpec { 605 value?: string; 606 } 607 export interface v1alpha1UIFeatureFlag { 608 name?: string; 609 value?: boolean; 610 } 611 export interface v1alpha1UIComponentLocation { 612 /** 613 * ComponentID is the identifier of the parent component to associate this component with. 614 * 615 * For example, this is a resource name if the ComponentType is Resource. 616 */ 617 componentID?: string; 618 /** 619 * ComponentType is the type of the parent component. 620 */ 621 componentType?: string; 622 } 623 export interface v1alpha1UIChoiceInputStatus { 624 value?: string; 625 } 626 export interface v1alpha1UIChoiceInputSpec { 627 /** 628 * +optional 629 */ 630 choices?: string[]; 631 } 632 export interface v1alpha1UIButtonStatus { 633 /** 634 * LastClickedAt is the timestamp of the last time the button was clicked. 635 * 636 * If the button has never clicked before, this will be the zero-value/null. 637 */ 638 lastClickedAt?: string; 639 inputs?: v1alpha1UIInputStatus[]; 640 } 641 export interface v1alpha1UIButtonSpec { 642 /** 643 * Location associates the button with another component for layout. 644 */ 645 location?: v1alpha1UIComponentLocation; 646 /** 647 * Text to appear on the button itself or as hover text (depending on button location). 648 */ 649 text?: string; 650 /** 651 * IconName is a Material Icon to appear next to button text or on the button itself (depending on button location). 652 * 653 * Valid values are icon font ligature names from the Material Icons set. 654 * See https://fonts.google.com/icons for the full list of available icons. 655 * 656 * If both IconSVG and IconName are specified, IconSVG will take precedence. 657 * 658 * +optional 659 */ 660 iconName?: string; 661 /** 662 * IconSVG is an SVG to use as the icon to appear next to button text or on the button itself (depending on button 663 * location). 664 * 665 * This should be an <svg> element scaled for a 24x24 viewport. 666 * 667 * If both IconSVG and IconName are specified, IconSVG will take precedence. 668 * 669 * +optional 670 */ 671 iconSVG?: string; 672 /** 673 * If true, the button will be rendered, but with an effect indicating it's 674 * disabled. It will also be unclickable. 675 * 676 * +optional 677 */ 678 disabled?: boolean; 679 /** 680 * +optional 681 */ 682 requiresConfirmation?: boolean; 683 inputs?: v1alpha1UIInputSpec[]; 684 } 685 export interface v1alpha1UIButton { 686 metadata?: v1ObjectMeta; 687 spec?: v1alpha1UIButtonSpec; 688 status?: v1alpha1UIButtonStatus; 689 } 690 export interface v1alpha1UIBuildTerminated { 691 error?: string; 692 warnings?: string[]; 693 startTime?: string; 694 finishTime?: string; 695 spanID?: string; 696 isCrashRebuild?: boolean; 697 } 698 export interface v1alpha1UIBuildRunning { 699 startTime?: string; 700 spanID?: string; 701 } 702 export interface v1alpha1UIBoolInputStatus { 703 value?: boolean; 704 } 705 export interface v1alpha1UIBoolInputSpec { 706 defaultValue?: boolean; 707 trueString?: string; 708 falseString?: string; 709 } 710 export interface v1alpha1RegistryHosting { 711 /** 712 * Host documents the host (hostname and port) of the registry, as seen from 713 * outside the cluster. 714 * 715 * This is the registry host that tools outside the cluster should push images 716 * to. 717 */ 718 host?: string; 719 /** 720 * HostFromClusterNetwork documents the host (hostname and port) of the 721 * registry, as seen from networking inside the container pods. 722 * 723 * This is the registry host that tools running on pods inside the cluster 724 * should push images to. If not set, then tools inside the cluster should 725 * assume the local registry is not available to them. 726 * 727 * +optional 728 */ 729 hostFromClusterNetwork?: string; 730 /** 731 * HostFromContainerRuntime documents the host (hostname and port) of the 732 * registry, as seen from the cluster's container runtime. 733 * 734 * When tools apply Kubernetes objects to the cluster, this host should be 735 * used for image name fields. If not set, users of this field should use the 736 * value of Host instead. 737 * 738 * Note that it doesn't make sense semantically to define this field, but not 739 * define Host or HostFromClusterNetwork. That would imply a way to pull 740 * images without a way to push images. 741 * 742 * +optional 743 */ 744 hostFromContainerRuntime?: string; 745 /** 746 * Help contains a URL pointing to documentation for users on how to set 747 * up and configure a local registry. 748 * 749 * Tools can use this to nudge users to enable the registry. When possible, 750 * the writer should use as permanent a URL as possible to prevent drift 751 * (e.g., a version control SHA). 752 * 753 * When image pushes to a registry host specified in one of the other fields 754 * fail, the tool should display this help URL to the user. The help URL 755 * should contain instructions on how to diagnose broken or misconfigured 756 * registries. 757 * 758 * +optional 759 */ 760 help?: string; 761 /** 762 * SingleName uses a shared image name for _all_ Tilt-built images and 763 * relies on tags to distinguish between logically distinct images. 764 * 765 * This is most commonly used with Amazon Elastic Container Registry (ECR), 766 * which works differently than other image registries. 767 * 768 * An ECR host takes the form https://aws_account_id.dkr.ecr.region.amazonaws.com. 769 * Each image name in that registry must be pre-created ಠ_ಠ and assigned 770 * IAM permissions. 771 * For example: https://aws_account_id.dkr.ecr.region.amazonaws.com/my-repo 772 * (They call this a repo). 773 * 774 * For this reason, some users using ECR prefer to push all images to a 775 * single image name (ECR repo). 776 * 777 * A recommended pattern here is to create a "personal" image repo for each 778 * user during development. 779 * 780 * See: 781 * https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html 782 * https://github.com/tilt-dev/tilt/issues/2419 783 * 784 * +optional 785 */ 786 singleName?: string; 787 } 788 export interface v1alpha1KubernetesClusterConnectionStatus { 789 /** 790 * The resolved kubeconfig context. 791 */ 792 context?: string; 793 /** 794 * The resolved default namespace. 795 */ 796 namespace?: string; 797 /** 798 * The resolved cluster name (as determined by the kubeconfig context). 799 */ 800 cluster?: string; 801 /** 802 * The product name for this cluster. 803 * 804 * For a complete list of possible product names, see: 805 * https://pkg.go.dev/github.com/tilt-dev/clusterid#Product 806 */ 807 product?: string; 808 /** 809 * The resolved config path. 810 * 811 * Tilt will freeze the config and write it to a temporary directory. 812 * Subprocesses that depend on this cluster can find this file 813 * by reading the KUBECONFIG env var. 814 */ 815 configPath?: string; 816 } 817 export interface v1alpha1KubernetesClusterConnection { 818 /** 819 * The name of the kubeconfig context to use. 820 * 821 * If not specified, will use the default context in the kubeconfig. 822 * 823 * +optional 824 */ 825 context?: string; 826 /** 827 * The default namespace to use. 828 * 829 * If not specified, will use the namespace in the kubeconfig. 830 * 831 * +optional 832 */ 833 namespace?: string; 834 } 835 export interface v1alpha1DockerClusterConnection { 836 /** 837 * The docker host to use. 838 * 839 * If not specified, will read the DOCKER_HOST env or use the default docker 840 * host. 841 */ 842 host?: string; 843 } 844 export interface v1alpha1DisableSource { 845 /** 846 * Disabled by single ConfigMap value. 847 */ 848 configMap?: v1alpha1ConfigMapDisableSource; 849 /** 850 * Disabled by multiple ConfigMap values, which must all be set to disabled 851 * to disable the object. 852 */ 853 everyConfigMap?: v1alpha1ConfigMapDisableSource[]; 854 } 855 export interface v1alpha1DisableResourceStatus { 856 /** 857 * How many of the resource's sources are enabled. 858 */ 859 enabledCount?: number; 860 /** 861 * How many of the resource's sources are disabled. 862 */ 863 disabledCount?: number; 864 state?: string; 865 /** 866 * All unique sources that control the resource's objects' disable status. 867 */ 868 sources?: v1alpha1DisableSource[]; 869 } 870 export interface v1alpha1ConfigMapDisableSource { 871 name?: string; 872 /** 873 * The key where the enable/disable state is stored. 874 */ 875 key?: string; 876 } 877 export interface v1alpha1ClusterStatus { 878 /** 879 * The preferred chip architecture of the cluster. 880 * 881 * On Kubernetes, this will correspond to the kubernetes.io/arch annotation on 882 * a node. 883 * 884 * On Docker, this will be the Architecture of the Docker daemon. 885 * 886 * Note that many clusters support multiple chipsets. This field doesn't intend 887 * that this is the only architecture a cluster supports, only that it's one 888 * of the architectures. 889 */ 890 arch?: string; 891 /** 892 * An unrecoverable error connecting to the cluster. 893 * 894 * +optional 895 */ 896 error?: string; 897 /** 898 * ConnectedAt indicates the time at which the cluster connection was established. 899 * 900 * Consumers can use this to detect when the underlying config has changed 901 * and refresh their client/connection accordingly. 902 * 903 * +optional 904 */ 905 connectedAt?: string; 906 /** 907 * Registry describes a local registry that developer tools can 908 * connect to. A local registry allows clients to load images into the local 909 * cluster by pushing to this registry. 910 * 911 * +optional 912 */ 913 registry?: v1alpha1RegistryHosting; 914 /** 915 * Connection status for an existing cluster. 916 * 917 * +optional 918 */ 919 connection?: v1alpha1ClusterConnectionStatus; 920 /** 921 * Version is a cluster-provided, human-readable version string. 922 * 923 * +optional 924 */ 925 version?: string; 926 } 927 export interface v1alpha1ClusterSpec { 928 /** 929 * Connection spec for an existing cluster. 930 */ 931 connection?: v1alpha1ClusterConnection; 932 /** 933 * DefaultRegistry determines where images for this Cluster should 934 * be pushed/pulled from if the Cluster itself does not provide local 935 * registry hosting metadata. 936 * 937 * If not specified, no registry rewriting will occur, and the images will 938 * be pushed/pulled to from the registry specified by the corresponding 939 * image build directive (e.g. `docker_build` or `custom_build`). 940 * 941 * +optional 942 */ 943 defaultRegistry?: v1alpha1RegistryHosting; 944 } 945 export interface v1alpha1ClusterConnectionStatus { 946 /** 947 * Defines connection to a Kubernetes cluster. 948 */ 949 kubernetes?: v1alpha1KubernetesClusterConnectionStatus; 950 } 951 export interface v1alpha1ClusterConnection { 952 /** 953 * Defines connection to a Kubernetes cluster. 954 */ 955 kubernetes?: v1alpha1KubernetesClusterConnection; 956 /** 957 * Defines connection to a Docker daemon. 958 */ 959 docker?: v1alpha1DockerClusterConnection; 960 } 961 export interface v1alpha1Cluster { 962 metadata?: v1ObjectMeta; 963 spec?: v1alpha1ClusterSpec; 964 status?: v1alpha1ClusterStatus; 965 } 966 export interface runtimeError { 967 error?: string; 968 code?: number; 969 message?: string; 970 details?: protobufAny[]; 971 } 972 export interface protobufAny { 973 typeUrl?: string; 974 value?: string; 975 } 976 export interface corev1alpha1VersionSettings { 977 checkUpdates?: boolean; 978 } 979 export interface corev1alpha1TiltBuild { 980 version?: string; 981 commitSHA?: string; 982 date?: string; 983 dev?: boolean; 984 } 985 }