github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/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      localResourceInfo?: v1alpha1UIResourceLocal;
   440      /**
   441       * The RuntimeStatus is a simple, high-level summary of the runtime state of a server.
   442       *
   443       * Not all resources run servers.
   444       * +optional
   445       */
   446      runtimeStatus?: string;
   447      /**
   448       * The UpdateStatus is a simple, high-level summary of any update tasks to bring
   449       * the resource up-to-date.
   450       *
   451       * If the resource runs a server, this may include both build tasks and live-update
   452       * syncing.
   453       * +optional
   454       */
   455      updateStatus?: string;
   456      specs?: v1alpha1UIResourceTargetSpec[];
   457      queued?: boolean;
   458      /**
   459       * Order expresses the relative order of resources in the UI when they're not
   460       * otherwise sorted. Lower integers go first. When two resources have the same
   461       * order, they should be sorted by name.
   462       *
   463       * When UIResources are generated from the Tiltfile, we use the order they
   464       * were added to the Tiltfile for the Order field.
   465       *
   466       * +optional
   467       */
   468      order?: number;
   469      /**
   470       * Information about the resource's objects' disabled status.
   471       */
   472      disableStatus?: v1alpha1DisableResourceStatus;
   473      /**
   474       * Waiting provides detail on why the resource is currently blocked from updating.
   475       *
   476       * +optional
   477       */
   478      waiting?: v1alpha1UIResourceStateWaiting;
   479      /**
   480       * Represents the latest available observations of a UIResource's current state.
   481       *
   482       * Designed for compatibility with 'wait' and cross-resource status reporting.
   483       * https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties
   484       *
   485       * +optional
   486       */
   487      conditions?: v1alpha1UIResourceCondition[];
   488    }
   489    export interface v1alpha1UIResourceStateWaitingOnRef {
   490      /**
   491       * Group for the object type being waited on.
   492       */
   493      group?: string;
   494      /**
   495       * APIVersion for the object type being waited on.
   496       */
   497      apiVersion?: string;
   498      /**
   499       * Kind of the object type being waited on.
   500       */
   501      kind?: string;
   502      /**
   503       * Name of the object being waiting on.
   504       */
   505      name?: string;
   506    }
   507    export interface v1alpha1UIResourceStateWaiting {
   508      /**
   509       * Reason is a unique, one-word reason for why the UIResource update is pending.
   510       */
   511      reason?: string;
   512      /**
   513       * HoldingOn is the set of objects blocking this resource from updating.
   514       *
   515       * These objects might NOT be explicit dependencies of the current resource. For example, if an un-parallelizable
   516       * resource is updating, all other resources with queued updates will be holding on it with a reason of
   517       * `waiting-for-local`.
   518       *
   519       * +optional
   520       */
   521      on?: v1alpha1UIResourceStateWaitingOnRef[];
   522    }
   523    export interface v1alpha1UIResourceSpec {}
   524    export interface v1alpha1UIResourceLocal {
   525      pid?: string;
   526      /**
   527       * Whether this represents a test job.
   528       *
   529       * Deprecated: Users should use labels for marking services as tests.
   530       *
   531       * +optional
   532       */
   533      isTest?: boolean;
   534    }
   535    export interface v1alpha1UIResourceLink {
   536      url?: string;
   537      name?: string;
   538    }
   539    export interface v1alpha1UIResourceKubernetes {
   540      /**
   541       * The name of the active pod.
   542       *
   543       * The active pod tends to be what Tilt defaults to for port-forwards,
   544       * live-updates, etc.
   545       * +optional
   546       */
   547      podName?: string;
   548      podCreationTime?: string;
   549      podUpdateStartTime?: string;
   550      podStatus?: string;
   551      podStatusMessage?: string;
   552      allContainersReady?: boolean;
   553      podRestarts?: number;
   554      spanID?: string;
   555      displayNames?: string[];
   556    }
   557    export interface v1alpha1UIResourceCondition {
   558      /**
   559       * Type of UI Resource condition.
   560       */
   561      type?: string;
   562      /**
   563       * Status of the condition, one of True, False, Unknown.
   564       */
   565      status?: string;
   566      lastTransitionTime?: string;
   567      reason?: string;
   568      message?: string;
   569    }
   570    export interface v1alpha1UIResource {
   571      metadata?: v1ObjectMeta;
   572      spec?: v1alpha1UIResourceSpec;
   573      status?: v1alpha1UIResourceStatus;
   574    }
   575    export interface v1alpha1UIInputStatus {
   576      /**
   577       * Name of the input whose status this is. Must match the `Name` of a corresponding
   578       * UIInputSpec.
   579       */
   580      name?: string;
   581      text?: v1alpha1UITextInputStatus;
   582      bool?: v1alpha1UIBoolInputStatus;
   583      hidden?: v1alpha1UIHiddenInputStatus;
   584      choice?: v1alpha1UIChoiceInputStatus;
   585    }
   586    export interface v1alpha1UIInputSpec {
   587      /**
   588       * Name of this input. Must be unique within the UIButton.
   589       */
   590      name?: string;
   591      label?: string;
   592      text?: v1alpha1UITextInputSpec;
   593      bool?: v1alpha1UIBoolInputSpec;
   594      hidden?: v1alpha1UIHiddenInputSpec;
   595      choice?: v1alpha1UIChoiceInputSpec;
   596    }
   597    export interface v1alpha1UIHiddenInputStatus {
   598      value?: string;
   599    }
   600    export interface v1alpha1UIHiddenInputSpec {
   601      value?: string;
   602    }
   603    export interface v1alpha1UIFeatureFlag {
   604      name?: string;
   605      value?: boolean;
   606    }
   607    export interface v1alpha1UIComponentLocation {
   608      /**
   609       * ComponentID is the identifier of the parent component to associate this component with.
   610       *
   611       * For example, this is a resource name if the ComponentType is Resource.
   612       */
   613      componentID?: string;
   614      /**
   615       * ComponentType is the type of the parent component.
   616       */
   617      componentType?: string;
   618    }
   619    export interface v1alpha1UIChoiceInputStatus {
   620      value?: string;
   621    }
   622    export interface v1alpha1UIChoiceInputSpec {
   623      /**
   624       * +optional
   625       */
   626      choices?: string[];
   627    }
   628    export interface v1alpha1UIButtonStatus {
   629      /**
   630       * LastClickedAt is the timestamp of the last time the button was clicked.
   631       *
   632       * If the button has never clicked before, this will be the zero-value/null.
   633       */
   634      lastClickedAt?: string;
   635      inputs?: v1alpha1UIInputStatus[];
   636    }
   637    export interface v1alpha1UIButtonSpec {
   638      /**
   639       * Location associates the button with another component for layout.
   640       */
   641      location?: v1alpha1UIComponentLocation;
   642      /**
   643       * Text to appear on the button itself or as hover text (depending on button location).
   644       */
   645      text?: string;
   646      /**
   647       * IconName is a Material Icon to appear next to button text or on the button itself (depending on button location).
   648       *
   649       * Valid values are icon font ligature names from the Material Icons set.
   650       * See https://fonts.google.com/icons for the full list of available icons.
   651       *
   652       * If both IconSVG and IconName are specified, IconSVG will take precedence.
   653       *
   654       * +optional
   655       */
   656      iconName?: string;
   657      /**
   658       * IconSVG is an SVG to use as the icon to appear next to button text or on the button itself (depending on button
   659       * location).
   660       *
   661       * This should be an <svg> element scaled for a 24x24 viewport.
   662       *
   663       * If both IconSVG and IconName are specified, IconSVG will take precedence.
   664       *
   665       * +optional
   666       */
   667      iconSVG?: string;
   668      /**
   669       * If true, the button will be rendered, but with an effect indicating it's
   670       * disabled. It will also be unclickable.
   671       *
   672       * +optional
   673       */
   674      disabled?: boolean;
   675      /**
   676       * +optional
   677       */
   678      requiresConfirmation?: boolean;
   679      inputs?: v1alpha1UIInputSpec[];
   680    }
   681    export interface v1alpha1UIButton {
   682      metadata?: v1ObjectMeta;
   683      spec?: v1alpha1UIButtonSpec;
   684      status?: v1alpha1UIButtonStatus;
   685    }
   686    export interface v1alpha1UIBuildTerminated {
   687      error?: string;
   688      warnings?: string[];
   689      startTime?: string;
   690      finishTime?: string;
   691      spanID?: string;
   692      isCrashRebuild?: boolean;
   693    }
   694    export interface v1alpha1UIBuildRunning {
   695      startTime?: string;
   696      spanID?: string;
   697    }
   698    export interface v1alpha1UIBoolInputStatus {
   699      value?: boolean;
   700    }
   701    export interface v1alpha1UIBoolInputSpec {
   702      defaultValue?: boolean;
   703      trueString?: string;
   704      falseString?: string;
   705    }
   706    export interface v1alpha1RegistryHosting {
   707      /**
   708       * Host documents the host (hostname and port) of the registry, as seen from
   709       * outside the cluster.
   710       *
   711       * This is the registry host that tools outside the cluster should push images
   712       * to.
   713       */
   714      host?: string;
   715      /**
   716       * HostFromClusterNetwork documents the host (hostname and port) of the
   717       * registry, as seen from networking inside the container pods.
   718       *
   719       * This is the registry host that tools running on pods inside the cluster
   720       * should push images to. If not set, then tools inside the cluster should
   721       * assume the local registry is not available to them.
   722       *
   723       * +optional
   724       */
   725      hostFromClusterNetwork?: string;
   726      /**
   727       * HostFromContainerRuntime documents the host (hostname and port) of the
   728       * registry, as seen from the cluster's container runtime.
   729       *
   730       * When tools apply Kubernetes objects to the cluster, this host should be
   731       * used for image name fields. If not set, users of this field should use the
   732       * value of Host instead.
   733       *
   734       * Note that it doesn't make sense semantically to define this field, but not
   735       * define Host or HostFromClusterNetwork. That would imply a way to pull
   736       * images without a way to push images.
   737       *
   738       * +optional
   739       */
   740      hostFromContainerRuntime?: string;
   741      /**
   742       * Help contains a URL pointing to documentation for users on how to set
   743       * up and configure a local registry.
   744       *
   745       * Tools can use this to nudge users to enable the registry. When possible,
   746       * the writer should use as permanent a URL as possible to prevent drift
   747       * (e.g., a version control SHA).
   748       *
   749       * When image pushes to a registry host specified in one of the other fields
   750       * fail, the tool should display this help URL to the user. The help URL
   751       * should contain instructions on how to diagnose broken or misconfigured
   752       * registries.
   753       *
   754       * +optional
   755       */
   756      help?: string;
   757      /**
   758       * SingleName uses a shared image name for _all_ Tilt-built images and
   759       * relies on tags to distinguish between logically distinct images.
   760       *
   761       * This is most commonly used with Amazon Elastic Container Registry (ECR),
   762       * which works differently than other image registries.
   763       *
   764       * An ECR host takes the form https://aws_account_id.dkr.ecr.region.amazonaws.com.
   765       * Each image name in that registry must be pre-created ಠ_ಠ and assigned
   766       * IAM permissions.
   767       * For example: https://aws_account_id.dkr.ecr.region.amazonaws.com/my-repo
   768       * (They call this a repo).
   769       *
   770       * For this reason, some users using ECR prefer to push all images to a
   771       * single image name (ECR repo).
   772       *
   773       * A recommended pattern here is to create a "personal" image repo for each
   774       * user during development.
   775       *
   776       * See:
   777       * https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html
   778       * https://github.com/tilt-dev/tilt/issues/2419
   779       *
   780       * +optional
   781       */
   782      singleName?: string;
   783    }
   784    export interface v1alpha1KubernetesClusterConnectionStatus {
   785      /**
   786       * The resolved kubeconfig context.
   787       */
   788      context?: string;
   789      /**
   790       * The resolved default namespace.
   791       */
   792      namespace?: string;
   793      /**
   794       * The resolved cluster name (as determined by the kubeconfig context).
   795       */
   796      cluster?: string;
   797      /**
   798       * The product name for this cluster.
   799       *
   800       * For a complete list of possible product names, see:
   801       * https://pkg.go.dev/github.com/tilt-dev/clusterid#Product
   802       */
   803      product?: string;
   804      /**
   805       * The resolved config path.
   806       *
   807       * Tilt will freeze the config and write it to a temporary directory.
   808       * Subprocesses that depend on this cluster can find this file
   809       * by reading the KUBECONFIG env var.
   810       */
   811      configPath?: string;
   812    }
   813    export interface v1alpha1KubernetesClusterConnection {
   814      /**
   815       * The name of the kubeconfig context to use.
   816       *
   817       * If not specified, will use the default context in the kubeconfig.
   818       *
   819       * +optional
   820       */
   821      context?: string;
   822      /**
   823       * The default namespace to use.
   824       *
   825       * If not specified, will use the namespace in the kubeconfig.
   826       *
   827       * +optional
   828       */
   829      namespace?: string;
   830    }
   831    export interface v1alpha1DockerClusterConnection {
   832      /**
   833       * The docker host to use.
   834       *
   835       * If not specified, will read the DOCKER_HOST env or use the default docker
   836       * host.
   837       */
   838      host?: string;
   839    }
   840    export interface v1alpha1DisableSource {
   841      /**
   842       * Disabled by single ConfigMap value.
   843       */
   844      configMap?: v1alpha1ConfigMapDisableSource;
   845      /**
   846       * Disabled by multiple ConfigMap values, which must all be set to disabled
   847       * to disable the object.
   848       */
   849      everyConfigMap?: v1alpha1ConfigMapDisableSource[];
   850    }
   851    export interface v1alpha1DisableResourceStatus {
   852      /**
   853       * How many of the resource's sources are enabled.
   854       */
   855      enabledCount?: number;
   856      /**
   857       * How many of the resource's sources are disabled.
   858       */
   859      disabledCount?: number;
   860      state?: string;
   861      /**
   862       * All unique sources that control the resource's objects' disable status.
   863       */
   864      sources?: v1alpha1DisableSource[];
   865    }
   866    export interface v1alpha1ConfigMapDisableSource {
   867      name?: string;
   868      /**
   869       * The key where the enable/disable state is stored.
   870       */
   871      key?: string;
   872    }
   873    export interface v1alpha1ClusterStatus {
   874      /**
   875       * The preferred chip architecture of the cluster.
   876       *
   877       * On Kubernetes, this will correspond to the kubernetes.io/arch annotation on
   878       * a node.
   879       *
   880       * On Docker, this will be the Architecture of the Docker daemon.
   881       *
   882       * Note that many clusters support multiple chipsets. This field doesn't intend
   883       * that this is the only architecture a cluster supports, only that it's one
   884       * of the architectures.
   885       */
   886      arch?: string;
   887      /**
   888       * An unrecoverable error connecting to the cluster.
   889       *
   890       * +optional
   891       */
   892      error?: string;
   893      /**
   894       * ConnectedAt indicates the time at which the cluster connection was established.
   895       *
   896       * Consumers can use this to detect when the underlying config has changed
   897       * and refresh their client/connection accordingly.
   898       *
   899       * +optional
   900       */
   901      connectedAt?: string;
   902      /**
   903       * Registry describes a local registry that developer tools can
   904       * connect to. A local registry allows clients to load images into the local
   905       * cluster by pushing to this registry.
   906       *
   907       * +optional
   908       */
   909      registry?: v1alpha1RegistryHosting;
   910      /**
   911       * Connection status for an existing cluster.
   912       *
   913       * +optional
   914       */
   915      connection?: v1alpha1ClusterConnectionStatus;
   916      /**
   917       * Version is a cluster-provided, human-readable version string.
   918       *
   919       * +optional
   920       */
   921      version?: string;
   922    }
   923    export interface v1alpha1ClusterSpec {
   924      /**
   925       * Connection spec for an existing cluster.
   926       */
   927      connection?: v1alpha1ClusterConnection;
   928      /**
   929       * DefaultRegistry determines where images for this Cluster should
   930       * be pushed/pulled from if the Cluster itself does not provide local
   931       * registry hosting metadata.
   932       *
   933       * If not specified, no registry rewriting will occur, and the images will
   934       * be pushed/pulled to from the registry specified by the corresponding
   935       * image build directive (e.g. `docker_build` or `custom_build`).
   936       *
   937       * +optional
   938       */
   939      defaultRegistry?: v1alpha1RegistryHosting;
   940    }
   941    export interface v1alpha1ClusterConnectionStatus {
   942      /**
   943       * Defines connection to a Kubernetes cluster.
   944       */
   945      kubernetes?: v1alpha1KubernetesClusterConnectionStatus;
   946    }
   947    export interface v1alpha1ClusterConnection {
   948      /**
   949       * Defines connection to a Kubernetes cluster.
   950       */
   951      kubernetes?: v1alpha1KubernetesClusterConnection;
   952      /**
   953       * Defines connection to a Docker daemon.
   954       */
   955      docker?: v1alpha1DockerClusterConnection;
   956    }
   957    export interface v1alpha1Cluster {
   958      metadata?: v1ObjectMeta;
   959      spec?: v1alpha1ClusterSpec;
   960      status?: v1alpha1ClusterStatus;
   961    }
   962    export interface runtimeError {
   963      error?: string;
   964      code?: number;
   965      message?: string;
   966      details?: protobufAny[];
   967    }
   968    export interface protobufAny {
   969      typeUrl?: string;
   970      value?: string;
   971    }
   972    export interface corev1alpha1VersionSettings {
   973      checkUpdates?: boolean;
   974    }
   975    export interface corev1alpha1TiltBuild {
   976      version?: string;
   977      commitSHA?: string;
   978      date?: string;
   979      dev?: boolean;
   980    }
   981  }