Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 26 additions & 27 deletions machines/api/machines-resource.html.markerb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
layout: docs
nav: machines_toc
toc: false
redirect_from: /docs/machines/api-machines-resource/

Check failure on line 6 in machines/api/machines-resource.html.markerb

View workflow job for this annotation

GitHub Actions / Vale linter

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'APIs?\b' instead of 'api'. Raw Output: {"message": "[Vale.Terms] Use 'APIs?\\b' instead of 'api'.", "location": {"path": "machines/api/machines-resource.html.markerb", "range": {"start": {"line": 6, "column": 31}}}, "severity": "ERROR"}
---

You can use the Machines resource to create, stop, start, update, and delete Fly Machines. Fly Machines are fast-launching VMs on Fly.io. The Machine resource is the configuration and state for a Machine.
Expand Down Expand Up @@ -145,7 +145,7 @@
<% component.with_curl do %>
<%= partial "/docs/reference/machines/machines_list_req" %>
<% end %>
<% component.with_json do %>

Check failure on line 148 in machines/api/machines-resource.html.markerb

View workflow job for this annotation

GitHub Actions / Vale linter

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'JSON' instead of 'json'. Raw Output: {"message": "[Vale.Terms] Use 'JSON' instead of 'json'.", "location": {"path": "machines/api/machines-resource.html.markerb", "range": {"start": {"line": 148, "column": 25}}}, "severity": "ERROR"}
no body
<% end %>
<% component.with_json_table do %>
Expand All @@ -162,7 +162,7 @@

## Create a Machine

Given the name of a Fly App, create a Fly Machine, given the URI of a container image, in some region (or, by default, the region closest to you) on Fly.ios platform. If successful, that Machine will boot up by default. Create a Machine without booting it by setting `skip_launch`.
Given the name of a Fly App, create a Fly Machine, given the URI of a container image, in some region (or, by default, the region closest to you) on Fly.io's platform. If successful, that Machine will boot up by default. Create a Machine without booting it by setting `skip_launch`.

You can configure the Machine characteristics, like its CPU and memory. You can also allow connections from the internet through the Fly Proxy by [creating a Machine with services](#create-a-machine-with-services). Learn more about this behavior in the [networking section](#notes-on-networking).

Expand Down Expand Up @@ -194,13 +194,13 @@
<% component.with_curl do %>
<%= partial "/docs/reference/machines/machines_create_req" %>
<% end %>
<% component.with_json do %>

Check failure on line 197 in machines/api/machines-resource.html.markerb

View workflow job for this annotation

GitHub Actions / Vale linter

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'JSON' instead of 'json'. Raw Output: {"message": "[Vale.Terms] Use 'JSON' instead of 'json'.", "location": {"path": "machines/api/machines-resource.html.markerb", "range": {"start": {"line": 197, "column": 25}}}, "severity": "ERROR"}
{
"config": {
"image": ""
},
"lease_ttl": 1,
"lsvd": false,

Check failure on line 203 in machines/api/machines-resource.html.markerb

View workflow job for this annotation

GitHub Actions / Vale linter

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'LSVD' instead of 'lsvd'. Raw Output: {"message": "[Vale.Terms] Use 'LSVD' instead of 'lsvd'.", "location": {"path": "machines/api/machines-resource.html.markerb", "range": {"start": {"line": 203, "column": 10}}}, "severity": "ERROR"}
"name": "",
"region": "",
"skip_launch": false,
Expand All @@ -212,15 +212,15 @@
| --- | --- | --- | --- |
| `name` | string | no | Unique name for this Machine. If omitted, one is generated for you. String. |
| `region` | string | no | The target region. Omitting this param launches in the same region as your WireGuard peer connection (somewhere near you). String. |
| `lease_ttl` | integer | no | Acquire a lease on the newly created Machine, waiting this many seconds before failing the request; use to create a Machine that cant be updated by any other external process while waiting for it to come up and pass health checks. |
| `skip_launch` | boolean | no | Create a Fly Machine, but dont boot it up, leaving it in a state where it can be quickly started in response to events. Think of this as warming the caches on our hardware. (default: false) |
| `lease_ttl` | integer | no | Acquire a lease on the newly created Machine, waiting this many seconds before failing the request; use to create a Machine that can't be updated by any other external process while waiting for it to come up and pass health checks. |
| `skip_launch` | boolean | no | Create a Fly Machine, but don't boot it up, leaving it in a state where it can be quickly started in response to events. Think of this as "warming the caches" on our hardware. (default: false) |
| `lsvd` | boolean | no | Enable Log Structured Virtual Disks for this Machine. (default: false) |
| `skip_service_registration` | boolean | no | Leave this Machine disconnected from Fly.ios request routing. This is like a combined Create and Cordon operation; register the Machine later with an Uncordon request. Useful for bluegreen deploys: bring a Machine up, test it healthy, and only then let user requests hit it. (default: false) |
| `skip_service_registration` | boolean | no | Leave this Machine disconnected from Fly.io's request routing. This is like a combined Create and Cordon operation; register the Machine later with an Uncordon request. Useful for bluegreen deploys: bring a Machine up, test it healthy, and only then let user requests hit it. (default: false) |

Check warning on line 218 in machines/api/machines-resource.html.markerb

View workflow job for this annotation

GitHub Actions / Vale linter

[vale] reported by reviewdog 🐶 [Fly.Spelling] Is 'Uncordon' a typo? Raw Output: {"message": "[Fly.Spelling] Is 'Uncordon' a typo?", "location": {"path": "machines/api/machines-resource.html.markerb", "range": {"start": {"line": 218, "column": 205}}}, "severity": "INFO"}
| `config` | object | yes | Required for `image`. An object defining the Machine configuration. See the [`config` object properties](#machine-config-object-properties) section. |
| `config.image` | string | yes | The container registry path to the image that defines this Machine (for example, registry-1.docker.io/library/ubuntu:latest).
| `config.image` | string | yes | The container registry path to the image that defines this Machine (for example, "registry-1.docker.io/library/ubuntu:latest").
<% end %>
<% end %>
<%= render(CodeSampleComponent.new(title: 'Status: 200 OK – Example response', language: 'json')) do %>

Check failure on line 223 in machines/api/machines-resource.html.markerb

View workflow job for this annotation

GitHub Actions / Vale linter

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'JSON' instead of 'json'. Raw Output: {"message": "[Vale.Terms] Use 'JSON' instead of 'json'.", "location": {"path": "machines/api/machines-resource.html.markerb", "range": {"start": {"line": 223, "column": 95}}}, "severity": "ERROR"}
<%= partial "/docs/reference/machines/machines_create_resp" %>
<% end %>
</div>
Expand Down Expand Up @@ -252,13 +252,13 @@
<% component.with_curl do %>
<%= partial "/docs/reference/machines/machines_create_serv_req" %>
<% end %>
<% component.with_json do %>

Check failure on line 255 in machines/api/machines-resource.html.markerb

View workflow job for this annotation

GitHub Actions / Vale linter

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'JSON' instead of 'json'. Raw Output: {"message": "[Vale.Terms] Use 'JSON' instead of 'json'.", "location": {"path": "machines/api/machines-resource.html.markerb", "range": {"start": {"line": 255, "column": 25}}}, "severity": "ERROR"}
{
"config": {
"image": ""
},
"lease_ttl": 1,
"lsvd": false,

Check failure on line 261 in machines/api/machines-resource.html.markerb

View workflow job for this annotation

GitHub Actions / Vale linter

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'LSVD' instead of 'lsvd'. Raw Output: {"message": "[Vale.Terms] Use 'LSVD' instead of 'lsvd'.", "location": {"path": "machines/api/machines-resource.html.markerb", "range": {"start": {"line": 261, "column": 10}}}, "severity": "ERROR"}
"name": "",
"region": "",
"skip_launch": false,
Expand All @@ -270,16 +270,16 @@
| --- | --- | --- | --- |
| `name` | string | no | Unique name for this Machine. If omitted, one is generated for you. String. |
| `region` | string | no | The target region. Omitting this param launches in the same region as your WireGuard peer connection (somewhere near you). String. |
| `lease_ttl` | integer | no | Acquire a lease on the newly created Machine, waiting this many seconds before failing the request; use to create a Machine that cant be updated by any other external process while waiting for it to come up and pass health checks. |
| `skip_launch` | boolean | no | Create a Fly Machine, but dont boot it up, leaving it in a state where it can be quickly started in response to events. Think of this as warming the caches on our hardware. (default: false) |
| `lease_ttl` | integer | no | Acquire a lease on the newly created Machine, waiting this many seconds before failing the request; use to create a Machine that can't be updated by any other external process while waiting for it to come up and pass health checks. |
| `skip_launch` | boolean | no | Create a Fly Machine, but don't boot it up, leaving it in a state where it can be quickly started in response to events. Think of this as "warming the caches" on our hardware. (default: false) |
| `lsvd` | boolean | no | Enable Log Structured Virtual Disks for this Machine. (default: false) |
| `skip_service_registration` | boolean | no | Leave this Machine disconnected from Fly.ios request routing. This is like a combined Create and Cordon operation; register the Machine later with an Uncordon request. Useful for bluegreen deploys: bring a Machine up, test it healthy, and only then let user requests hit it. (default: false) |
| `skip_service_registration` | boolean | no | Leave this Machine disconnected from Fly.io's request routing. This is like a combined Create and Cordon operation; register the Machine later with an Uncordon request. Useful for bluegreen deploys: bring a Machine up, test it healthy, and only then let user requests hit it. (default: false) |

Check warning on line 276 in machines/api/machines-resource.html.markerb

View workflow job for this annotation

GitHub Actions / Vale linter

[vale] reported by reviewdog 🐶 [Fly.Spelling] Is 'Uncordon' a typo? Raw Output: {"message": "[Fly.Spelling] Is 'Uncordon' a typo?", "location": {"path": "machines/api/machines-resource.html.markerb", "range": {"start": {"line": 276, "column": 205}}}, "severity": "INFO"}
| `config` | object | yes | Required for `image`. An object defining the Machine configuration. See the [`config` object properties](#machine-config-object-properties) section. |
| `config.image` | string | yes | The container registry path to the image that defines this Machine (for example, registry-1.docker.io/library/ubuntu:latest).
| `config.services` | array | no | Defines how Fly Proxy connects requests to an apps public Anycast or private Flycast address to services running within Machines, and configures other Fly Proxy behavior for a service.
| `config.image` | string | yes | The container registry path to the image that defines this Machine (for example, "registry-1.docker.io/library/ubuntu:latest").
| `config.services` | array | no | Defines how Fly Proxy connects requests to an app's public Anycast or private Flycast address to services running within Machines, and configures other Fly Proxy behavior for a service.
<% end %>
<% end %>
<%= render(CodeSampleComponent.new(title: 'Status: 200 OK – Example response', language: 'json')) do %>

Check failure on line 282 in machines/api/machines-resource.html.markerb

View workflow job for this annotation

GitHub Actions / Vale linter

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'JSON' instead of 'json'. Raw Output: {"message": "[Vale.Terms] Use 'JSON' instead of 'json'.", "location": {"path": "machines/api/machines-resource.html.markerb", "range": {"start": {"line": 282, "column": 95}}}, "severity": "ERROR"}
<%= partial "/docs/reference/machines/machines_create_resp" %>
<% end %>
</div>
Expand Down Expand Up @@ -340,7 +340,7 @@
<% component.with_curl do %>
<%= partial "/docs/reference/machines/machines_wait_req" %>
<% end %>
<% component.with_json do %>

Check failure on line 343 in machines/api/machines-resource.html.markerb

View workflow job for this annotation

GitHub Actions / Vale linter

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'JSON' instead of 'json'. Raw Output: {"message": "[Vale.Terms] Use 'JSON' instead of 'json'.", "location": {"path": "machines/api/machines-resource.html.markerb", "range": {"start": {"line": 343, "column": 25}}}, "severity": "ERROR"}
no body
<% end %>
<% component.with_json_table do %>
Expand Down Expand Up @@ -469,10 +469,10 @@
| `current_version` | string | no | The latest `instance_id` value of the Machine. |
| `name` | string | no | Unique name for this Machine. If omitted, one is generated for you. String. |
| `region` | string | no | The target region. Omitting this param launches in the same region as your WireGuard peer connection (somewhere near you). String. |
| `lease_ttl` | integer | no | Acquire a lease on the newly created Machine, waiting this many seconds before failing the request; use to create a Machine that cant be updated by any other external process while waiting for it to come up and pass health checks. |
| `skip_launch` | boolean | no | Create a Fly Machine, but dont boot it up, leaving it in a state where it can be quickly started in response to events. Think of this as warming the caches on our hardware. (default: false) |
| `lease_ttl` | integer | no | Acquire a lease on the newly created Machine, waiting this many seconds before failing the request; use to create a Machine that can't be updated by any other external process while waiting for it to come up and pass health checks. |
| `skip_launch` | boolean | no | Create a Fly Machine, but don't boot it up, leaving it in a state where it can be quickly started in response to events. Think of this as "warming the caches" on our hardware. (default: false) |
| `lsvd` | boolean | no | Enable Log Structured Virtual Disks for this Machine. (default: false) |
| `skip_service_registration` | boolean | no | Leave this Machine disconnected from Fly.ios request routing. This is like a combined Create and Cordon operation; register the Machine later with an Uncordon request. Useful for bluegreen deploys: bring a Machine up, test it healthy, and only then let user requests hit it. (default: false) |
| `skip_service_registration` | boolean | no | Leave this Machine disconnected from Fly.io's request routing. This is like a combined Create and Cordon operation; register the Machine later with an Uncordon request. Useful for bluegreen deploys: bring a Machine up, test it healthy, and only then let user requests hit it. (default: false) |

Check warning on line 475 in machines/api/machines-resource.html.markerb

View workflow job for this annotation

GitHub Actions / Vale linter

[vale] reported by reviewdog 🐶 [Fly.Spelling] Is 'Uncordon' a typo? Raw Output: {"message": "[Fly.Spelling] Is 'Uncordon' a typo?", "location": {"path": "machines/api/machines-resource.html.markerb", "range": {"start": {"line": 475, "column": 205}}}, "severity": "INFO"}
<% end %>
<% end %>
<%= render(CodeSampleComponent.new(title: 'Status: 200 OK – Example response', language: 'json')) do %>
Expand Down Expand Up @@ -723,14 +723,14 @@
<% component.with_json do %>
{
"description": "",
"ttl": 1

Check warning on line 726 in machines/api/machines-resource.html.markerb

View workflow job for this annotation

GitHub Actions / Vale linter

[vale] reported by reviewdog 🐶 [Fly.Spelling] Is 'ttl' a typo? Raw Output: {"message": "[Fly.Spelling] Is 'ttl' a typo?", "location": {"path": "machines/api/machines-resource.html.markerb", "range": {"start": {"line": 726, "column": 10}}}, "severity": "INFO"}
}
<% end %>
<% component.with_json_table do %>
| Property | Type | Required | Description |
| --- | --- | --- | --- |
| description | string | no | A description of the lease for convenience. |
| ttl | integer | no | The time in seconds that the lease should be held for.

Check warning on line 733 in machines/api/machines-resource.html.markerb

View workflow job for this annotation

GitHub Actions / Vale linter

[vale] reported by reviewdog 🐶 [Fly.Spelling] Is 'ttl' a typo? Raw Output: {"message": "[Fly.Spelling] Is 'ttl' a typo?", "location": {"path": "machines/api/machines-resource.html.markerb", "range": {"start": {"line": 733, "column": 9}}}, "severity": "INFO"}
<% end %>
<% end %>
<%= render(CodeSampleComponent.new(title: 'Status: 201 Created – Example response', language: 'json')) do %>
Expand Down Expand Up @@ -853,7 +853,7 @@

You can also do this with a fresh Machine, all in one shot, using the `skip_service_registration` request field of a Machine Create request.

This is useful for bluegreen deployments: boot up a new, "green", cordoned Machine running the new release (using `skip_service_registration`), make sure it's healthy, then uncordon it and tear down the old, "blue" Machine.

Check warning on line 856 in machines/api/machines-resource.html.markerb

View workflow job for this annotation

GitHub Actions / Vale linter

[vale] reported by reviewdog 🐶 [Fly.Spelling] Is 'uncordon' a typo? Raw Output: {"message": "[Fly.Spelling] Is 'uncordon' a typo?", "location": {"path": "machines/api/machines-resource.html.markerb", "range": {"start": {"line": 856, "column": 174}}}, "severity": "INFO"}

<div class="api-section" data-exclude-render>
<div>
Expand All @@ -868,7 +868,7 @@
name: 'machine_id',
type: 'string',
required: true,
description: 'The ID of the Machine to cordon or uncordon.'

Check warning on line 871 in machines/api/machines-resource.html.markerb

View workflow job for this annotation

GitHub Actions / Vale linter

[vale] reported by reviewdog 🐶 [Fly.Spelling] Is 'uncordon' a typo? Raw Output: {"message": "[Fly.Spelling] Is 'uncordon' a typo?", "location": {"path": "machines/api/machines-resource.html.markerb", "range": {"start": {"line": 871, "column": 56}}}, "severity": "INFO"}
) %>
<%= render(api_info) %>
<% api_info = ApiInfoComponent.new(
Expand Down Expand Up @@ -1093,7 +1093,7 @@

Properties of the `config` object for Machine configuration. See [Machine properties](#machine-properties).

**`image`:** string - Required. The container registry path to the image that defines this Machine (for example, registry-1.docker.io/library/ubuntu:latest).
**`image`:** string - Required. The container registry path to the image that defines this Machine (for example, "registry-1.docker.io/library/ubuntu:latest").

---

Expand All @@ -1112,7 +1112,7 @@
+ `path`: string (nil) - For `http` checks, the path to send the request to.
+ `protocol`: string (nil) - For `http` checks, whether to use `http` or `https`
* `tls_server_name`: string (nil) - If the protocol is `https`, the hostname to use for TLS certificate validation
+ `tls_skip_verify`: bool (false) - For `http` checks with https protocol, whether or not to verify the TLS certificate

Check warning on line 1115 in machines/api/machines-resource.html.markerb

View workflow job for this annotation

GitHub Actions / Vale linter

[vale] reported by reviewdog 🐶 [Fly.Spelling] Is 'https' a typo? Raw Output: {"message": "[Fly.Spelling] Is 'https' a typo?", "location": {"path": "machines/api/machines-resource.html.markerb", "range": {"start": {"line": 1115, "column": 60}}}, "severity": "INFO"}
+ `headers`: {string: [string, string]} ({}) - For `http` checks, an array of objects with string field `name` and array of strings field `values`.

An example of two checks:
Expand Down Expand Up @@ -1146,7 +1146,6 @@
- `options`: Used for Fly Kubernetes.
- `dns_forward_rules`: Used for dedicated hosts.
- `skip_registration`: boolean - If true, do not register the Machine's 6PN IP with the internal DNS system.
-

---

Expand Down Expand Up @@ -1177,7 +1176,7 @@
---

**`guest`:** Configure the resources allocated for this Machine. An object with the following options:
- `cpu_kind`: string (nil) - The type of CPU reservation to make (shared”, ”performance", and so on).
- `cpu_kind`: string (nil) - The type of CPU reservation to make ("shared", "performance", and so on).
- `gpu_kind`: string (nil) - The type of GPU reservation to make.
- `host_dedication_id`: The ID of the host dedication (group of dedicated hosts) on which to create this Machine. (beta)
- `cpus`: int (nil) - The number of CPU cores this Machine should occupy when it runs. (default `1`)
Expand All @@ -1194,7 +1193,7 @@
- `cmd`: [string, string] ([]) - A command line to override the CMD of your Docker container; still another way to define the program that is going to start up when your Machine boots up.
- `kernel_args`: Optional array of strings. Arguments passed to the kernel.
- `tty`: bool (false) - Allocate a TTY for the process we start up.
- `swap_size_mb`: int (nil) -Swap space to reserve for the Fly Machine in, you guessed it, megabytes.
- `swap_size_mb`: int (nil) - Swap space to reserve for the Fly Machine in, you guessed it, megabytes.

---

Expand All @@ -1212,7 +1211,7 @@
- `volume`: string - Required. The volume ID, visible in `fly volumes list`. For example `vol_2n0l3vl60qpv635d`.
- `path`: string - Required. Absolute path on the Machine where the volume should be mounted. For example, `/data`.
- `name`: string - The name of the Volume to attach.
- `extend_threshold_percent`: int - The threshold of storage used on a volume, by percentage, that triggers extending the volumes size by the value of `add_size_gb`.
- `extend_threshold_percent`: int - The threshold of storage used on a volume, by percentage, that triggers extending the volume's size by the value of `add_size_gb`.
- `add_size_gb`: int - The increment, in GB, by which to extend the volume after reaching the `extend_threshold_percent`. Required with `extend_threshold_percent`.
- `size_gb_limit`: int - The total amount, in GB, to extend a volume. Optional with `extend_threshold_percent`.
- `encrypted`: boolean - Volume is encrypted. Default true.
Expand Down Expand Up @@ -1251,25 +1250,25 @@

- `protocol`: string - Required. `tcp` or `udp`. [Learn more about running raw TCP/UDP services](/docs/networking/udp-and-tcp/).
- `internal_port`: int - Required. Port the Machine listens on.
- `concurrency`: Control Fly Proxys load balancing for this service.
- `concurrency`: Control Fly Proxy's load balancing for this service.
+ `type`: string - `connections` (TCP) or `requests` (HTTP). Default is `connections`. Determines which kind of event we count for load balancing.
+ `soft_limit`: int (nil) - Ideal service concurrency. We will attempt to spread load to keep services at or below this limit. Well deprioritize a Machine to give other Machines a chance to absorb traffic. Defaults to 20 when unset.
+ `hard_limit`: int (nil) - Maximum allowed concurrency. The limit of events at which well stop routing to a Machine altogether, and, if configured to do so, potentially start up existing Machines to handle the load. Defaults to unlimited when unset.
+ `soft_limit`: int (nil) - Ideal service concurrency. We will attempt to spread load to keep services at or below this limit. We'll deprioritize a Machine to give other Machines a chance to absorb traffic. Defaults to 20 when unset.
+ `hard_limit`: int (nil) - Maximum allowed concurrency. The limit of events at which we'll stop routing to a Machine altogether, and, if configured to do so, potentially start up existing Machines to handle the load. Defaults to unlimited when unset.
- `ports`: MachinePort - An array of objects defining the service's ports and associated handlers. Options:
+ `port`: int (nil) - The internet-exposed port to receive traffic on; if you want HTTP traffic routed to 8080/tcp on your Machine, this would be 80.
+ `start_port`, `end-port`: int (nil) - Like `port``, but allocate a range of ports to route internally, for applications that want to occupy whole port ranges.
+ `start_port`, `end-port`: int (nil) - Like `port`, but allocate a range of ports to route internally, for applications that want to occupy whole port ranges.
+ `handlers`: Array of protocol [handlers](/docs/networking/services/#connection-handlers) for this port. How should the Fly Proxy handle and terminate this connection. Options include `http`, `tcp`, `tls`.
+ `force_https`: bool (false) - If true, force HTTP to HTTPS redirects.
+ `http_options`: Fiddly HTTP options (if you dont know you need them, you dont), including:
+ `http_options`: Fiddly HTTP options (if you don't know you need them, you don't), including:
- `compress`: bool (false) - If true, enable HTTP compression.
- `h2_backend`: bool (false) - If true, inform Fly Proxy that your app supports HTTP/2 (h2c with prior knowledge), which enables HTTP/2 only workloads to work with the `http` handler.
- `response`: Options for controlling HTTP response headers.
- `headers`: ({"headers": {string:string}} (nil)) HTTP headers to set on responses.
- `pristine`: bool (false) - If true, do not add any Fly.io headers to HTTP responses. The following response headers wont be added and wont be modified if returned by the app: `Server`, `Via`, `Fly-Request-Id`, `Fly-Cache-Status`.
+ `tls_options`: Fiddly TLS options (if you dont know you need to mess with these, you dont need to), including:
- `alpn`: [string, string] ([]) : ALPN protocols to present TLS clients (for example, [mqtt]).
- `pristine`: bool (false) - If true, do not add any Fly.io headers to HTTP responses. The following response headers won't be added and won't be modified if returned by the app: `Server`, `Via`, `Fly-Request-Id`, `Fly-Cache-Status`.
+ `tls_options`: Fiddly TLS options (if you don't know you need to mess with these, you don't need to), including:
- `alpn`: [string, string] ([]) : ALPN protocols to present TLS clients (for example, ["mqtt"]).

Check warning on line 1269 in machines/api/machines-resource.html.markerb

View workflow job for this annotation

GitHub Actions / Vale linter

[vale] reported by reviewdog 🐶 [Fly.Spelling] Is 'mqtt' a typo? Raw Output: {"message": "[Fly.Spelling] Is 'mqtt' a typo?", "location": {"path": "machines/api/machines-resource.html.markerb", "range": {"start": {"line": 1269, "column": 97}}}, "severity": "INFO"}
- `default_self_signed`: bool (false) - If true, serve a self-signed certificate if no certificate exists.
- `versions`: [string, string] ([]) : TLS versions to allow (for instance, [TLSv1.2”, “TLSv1.3]).
- `versions`: [string, string] ([]) : TLS versions to allow (for instance, ["TLSv1.2", "TLSv1.3"]).
+ `proxy_proto_options`: Configure the version of the PROXY protocol that your app accepts. Version 1 is the default.
- `version`: A string to indicate that the TCP connection uses PROXY protocol version 2. The default when not set is version 1.
- `autostart`: bool (false) - If true, Fly Proxy starts Machines when requests for this service arrive.
Expand Down
Loading