diff --git a/cli/internal/install/cloudinstall/cloud-config-pretty.tpl b/cli/internal/install/cloudinstall/cloud-config-pretty.tpl index 7e8f8a10..91f31f42 100644 --- a/cli/internal/install/cloudinstall/cloud-config-pretty.tpl +++ b/cli/internal/install/cloudinstall/cloud-config-pretty.tpl @@ -61,7 +61,7 @@ cloud: # name: {{- end }} - # Optionaly use a custom DNS zone + # Optionally use a custom DNS zone {{ if .DnsZone -}} dnsZone: resourceGroup: {{ .DnsZone.ResourceGroup }} diff --git a/deploy/config/microsoft/cloudconfig-private-link.yml b/deploy/config/microsoft/cloudconfig-private-link.yml index cf78e56b..7023d494 100644 --- a/deploy/config/microsoft/cloudconfig-private-link.yml +++ b/deploy/config/microsoft/cloudconfig-private-link.yml @@ -38,7 +38,7 @@ cloud: resourceGroup: eminence name: eminence - # Optionaly use a custom DNS zone + # Optionally use a custom DNS zone # dnsZone: # resourceGroup: # name: diff --git a/deploy/config/microsoft/cloudconfig.yml b/deploy/config/microsoft/cloudconfig.yml index 9ef7086a..754c5059 100644 --- a/deploy/config/microsoft/cloudconfig.yml +++ b/deploy/config/microsoft/cloudconfig.yml @@ -38,7 +38,7 @@ cloud: resourceGroup: eminence name: eminence - # Optionaly use a custom DNS zone + # Optionally use a custom DNS zone dnsZone: resourceGroup: eminence name: eminence.ms diff --git a/docs/guides/buffers.md b/docs/guides/buffers.md index 1a7707f3..901a7c9f 100644 --- a/docs/guides/buffers.md +++ b/docs/guides/buffers.md @@ -26,13 +26,13 @@ buffer reading, buffer writing, and creating runs. In a cloud installation, you can use multiple storage accounts for buffer storage. If those accounts are in different cloud locations (regions), you can -specify the location that that you would like the buffer to be crated in with +specify the location that you would like the buffer to be created in with the `--location` parameter. The location is the lowercase name of the cloud location with spaces removed, such as `eastus` or `westus2`. If multiple storage accounts are in the same location, accounts are selected in a round-robin fashion. -The available regions for a tyger installation can fetched with: +The available regions for a Tyger installation can be fetched with: ```bash tyger buffer storage-account list @@ -63,7 +63,7 @@ The `--flush-interval` parameter specifies the maximum time interval that data You can specify the block size with `--block-size`, for example, `--block-size 16M`. The default block size is 4MB. -Instead of standard in, you can use `-i|--input` to read from a file or named +Instead of standard input, you can use `-i|--input` to read from a file or named pipe. ## Reading from buffers @@ -270,7 +270,7 @@ By default, active buffers do not have an expiration date and will never be auto This behavior is configured during Tyger installation via the `buffers.activeLifetime` field. If an active buffer expires, it will be automatically soft-deleted by Tyger. -To set the TTL for a buffer manually, use the format `DD.HH:MM:SS`. +To set the TTL for a buffer manually, use the format `D.HH:MM:SS`. ```bash tyger buffer set --ttl 2.12:00 $buffer_id --soft-deleted @@ -360,7 +360,7 @@ If multiple storage accounts are configured for the source Tyger installation from a single storage account. The available storage accounts can be listed with the command `tyger buffer storage-account list`. -To only export a subset of buffer, you can filter the buffers to be exported by +To only export a subset of buffers, you can filter the buffers to be exported by tags. This command starts a special [run](./runs). Logs are displayed inline, but can also be @@ -374,11 +374,11 @@ into the destination Tyger instance's database with the command: tyger buffer import [--storage-account STORAGE_ACCOUNT_NAME] ``` -This starts a run that scans though the instance's storage account and imports +This starts a run that scans through the instance's storage account and imports new buffers. Note that existing buffers are not touched and their tags will not be updated. If multiple storage accounts are configured for the Tyger installation `--storage-account` must be provided. The import command will only import from a -from a single storage account. The available storage accounts can be listed with +single storage account. The available storage accounts can be listed with the command `tyger buffer storage-account list`. diff --git a/docs/guides/codespecs.md b/docs/guides/codespecs.md index 9ec83041..0ee5430f 100644 --- a/docs/guides/codespecs.md +++ b/docs/guides/codespecs.md @@ -1,7 +1,7 @@ # Working with codespecs Codespecs in Tyger define the code executed during a run. Named codespecs can be -used by for multiple runs. While can also declare codespecs inline, this guide +used for multiple runs. While you can also declare codespecs inline, this guide focuses on working with named codespecs. ## Creating a codespec @@ -35,10 +35,11 @@ buffers: - output image: quay.io/linuxserver.io/ffmpeg args: + - -i - $(INPUT_PIPE) - -vf - negate - - -f- + - -f - nut - -y - $(OUTPUT_PIPE) @@ -58,7 +59,7 @@ tyger codespec create -f negating.yml --env MY_ENV=MY_VALUE ## Using buffers -The commands above specify two buffers one for input, one for output, named +The commands above specify two buffers, one for input and one for output, named `input` and `output` respectively. For each buffer, tyger creates a named pipe for reading or writing buffer contents, depending on the declared directionality. The path to the named pipe is given in an environment variable @@ -100,7 +101,7 @@ image: quay.io/linuxserver.io/ffmpeg # Entrypoint array. Not executed within a shell. # The container image's ENTRYPOINT is used if this is not provided. # Variable references $(VAR_NAME) are expanded using the container's -# environment.The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). +# environment. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). command: - ffmpeg @@ -110,10 +111,11 @@ command: # the reference in the input string will be unchanged. The $(VAR_NAME) # syntax can be escaped with a double $$, ie: $$(VAR_NAME). args: + - -i - $(INPUT_PIPE) - -vf - negate - - -f- + - -f - nut - -y - $(OUTPUT_PIPE) @@ -131,7 +133,7 @@ env: MY_VAR: myValue # An optional workload identity to run as, allowing access to cloud resources. -# This must be one of the identites given in the cloud configuration file under +# This must be one of the identities given in the cloud configuration file under # cloud.compute.identities. identity: my-identity @@ -208,14 +210,14 @@ specified, in which case they are treated as the `command` value. Retrieve a specific codespec version with: ```bash -tyger codespec show NAME [-v|--version VERSION] +tyger codespec show NAME [--version VERSION] ``` Without `--version`, the latest version is returned. ## Listing codespecs -List **latest version** of codespecs with: +List the **latest version** of codespecs with: ```bash tyger codespec list [--prefix STRING] [--limit COUNT] diff --git a/docs/guides/distributed-runs.md b/docs/guides/distributed-runs.md index ca553de9..f6b6a34a 100644 --- a/docs/guides/distributed-runs.md +++ b/docs/guides/distributed-runs.md @@ -9,7 +9,7 @@ environment. All runs in Tyger use a "job" codespec for primary execution. Distributed runs additionally employ workers for distributing workloads. These workers, defined -by a separate codespec, typically listen on network ports so that the the job +by a separate codespec, typically listen on network ports so that the job can communicate with them over the cluster's local network. ## Creating a worker codespec @@ -82,5 +82,5 @@ JSON array of `hostname:port` strings. ## Example [Gadgetron -examples](../reference/gadgetron/gadgetron.md#distributed-reconstruction) has an -example that uses a disributed run. +examples](../reference/gadgetron/gadgetron.md#distributed-reconstruction) include an +example that uses a distributed run. diff --git a/docs/guides/ephemeral-buffers.md b/docs/guides/ephemeral-buffers.md index 873462a3..71ef0092 100644 --- a/docs/guides/ephemeral-buffers.md +++ b/docs/guides/ephemeral-buffers.md @@ -9,7 +9,7 @@ Tyger. While buffers are very powerful, there are cases when you don't want data to be persisted and/or you want low-latency communication between a data source and a -run's container. For these scenario's you can use **ephemeral buffers**. +run's container. For these scenarios you can use **ephemeral buffers**. When using ephemeral buffers, instead of data being sent to the data plane service (Azure Storage or the local data plane service), a sidecar container to @@ -21,7 +21,7 @@ However, there are a few important differences between the two: - Ephemeral buffers can only be read once, and therefore are not WORM. - Ephemeral buffers are not created with `tyger buffer create`. Rather, they are created with, and are owned by, a run. -- You can only read or write to an ephemeral buffer during while its associated +- You can only read or write to an ephemeral buffer while its associated run is active. ## Using ephemeral buffers diff --git a/docs/guides/login.md b/docs/guides/login.md index 04d813e1..7849585a 100644 --- a/docs/guides/login.md +++ b/docs/guides/login.md @@ -18,7 +18,7 @@ tyger login SERVER_URL [--use-device-code] [--proxy PROXY] ``` This launches a browser tab for interactive login. If this isn't -possible, use `--use-device-code` to receive a device code and and manually open a +possible, use `--use-device-code` to receive a device code and manually open a provided URL for authentication. The `--proxy` option allows specifying an HTTP proxy for all HTTP requests, @@ -37,13 +37,13 @@ system's certificate store. tyger login SERVER_URL --service-principal APPID - --certificate CERTPATH | --cert-thumbprint THUMBPRINT + --cert-file CERTPATH | --cert-thumbprint THUMBPRINT [--proxy PROXY] ``` ## Log in using a managed identity -If you are running on an Azure VM, you can login to tyger using a managed identity with: +If you are running on an Azure VM, you can log in to Tyger using a managed identity with: ```bash tyger login SERVER_URL --identity [--identity-client-id MI_ID] [--federated-identity TARGET_CLIENT_ID] @@ -59,7 +59,7 @@ specify the client ID of the target identity with `--federated-identity`. ## Log in from GitHub Actions Similar to Azure managed identities, you can use [federated -credentials](https://learn.microsoft.com/en-us/entra/workload-id/workload-identity-federation-create-trust?pivots=identity-wif-apps-methods-azp#github-actions∑) +credentials](https://learn.microsoft.com/en-us/entra/workload-id/workload-identity-federation-create-trust?pivots=identity-wif-apps-methods-azp#github-actions) to log in from a GitHub Actions runner: ```bash @@ -94,7 +94,7 @@ This requires that: By default, `tyger` uses the operating system's trusted root CA certificates for TLS certificate validation. You can override this with the -`--tls-ca-certificates` flag. The following values are supported: +`--tls-certificates` flag. The following values are supported: - `os` to use the operating system's root CA certificates (the default) - `embedded` to use the CA certificates embedded in the `tyger` binary. These diff --git a/docs/guides/runs.md b/docs/guides/runs.md index c74711cf..00f5e364 100644 --- a/docs/guides/runs.md +++ b/docs/guides/runs.md @@ -16,13 +16,13 @@ When Tyger is running in a local Docker environment, container images used by runs need to be pulled in advance using `docker pull`. This is a security measure to prevent using Tyger to introduce untrusted container images onto the system. The Tyger CLI will pull the image for you if you pass in `--pull` to -to `tyger run create` or `tyger run exec`. +`tyger run create` or `tyger run exec`. ::: ## Creating runs with `exec` -`tyger run exec` is a the easiest way to create and execute a run. It allows +`tyger run exec` is the easiest way to create and execute a run. It allows up to one buffer's contents to be provided through standard input and up to one buffer's output to be written to standard output. @@ -56,7 +56,7 @@ echo "Paul" | tyger run exec --codespec hello > result.txt ``` This will write status information to standard error and "Hello Paul" to -results.txt. +result.txt. You can also provide the run specification as a file: @@ -113,7 +113,7 @@ tyger buffer read $output_id > result.txt ``` Notice how we pass in buffers as arguments to the codespec's buffer parameters. -Missing buffers arguments are automatically created and their IDs can be retrieved using +Missing buffer arguments are automatically created and their IDs can be retrieved using `tyger run show`. ## `exec` and `create` options @@ -168,7 +168,7 @@ cluster: mycluster # The run is given this amount of time to complete, # starting from when the run was created, not when it -# when it started executing. +# started executing. timeoutSeconds: 43200 ``` @@ -217,7 +217,7 @@ To print the entire resource, specify `--full-resource`. ## Tagging runs Runs can be tagged with key-value metadata pairs just like -[buffers](buffers.html#tagging-buffers).You can assign tags to a +[buffers](buffers.html#tagging-buffers). You can assign tags to a run when creating it like this: ```bash @@ -261,11 +261,11 @@ Runs are listed in descending order of creation time. If `--limit` is not specified, a maximum of 1000 runs are shown with a warning if the output had to be truncated. -Use the `--since` to only include runs that were created after the given time. +Use `--since` to only include runs that were created after the given time. -Use the `--tag` parameter to restrict the results can contain **all** of the given tags. +Use the `--tag` parameter to restrict the results to those that contain **all** of the given tags. -Use the `--status` command to restrict the results that have **any** of the given statues. +Use the `--status` parameter to restrict the results to those that have **any** of the given statuses. ::: info Tip @@ -275,7 +275,7 @@ Use `tyger run list --limit 1` to fetch the most recent run. ## Displaying run counts -You can fetch a summary of the counts of runs group by status using: +You can fetch a summary of the counts of runs grouped by status using: ```bash tyger run counts [--since DATE/TIME] [--tag key=value [...]] @@ -291,7 +291,7 @@ You can cancel a job with: tyger run cancel ID ``` -This an asynchronous command and the run may continue executing for some time +This is an asynchronous command and the run may continue executing for some time before being terminated. ## Viewing logs @@ -313,9 +313,9 @@ the run's containers. `--follow` streams logs to standard output as they are written until the run completes. -`--since` only shows logs after a a given time. +`--since` only shows logs after a given time. -`--tail` only shows new last N log lines. +`--tail` only shows the last N log lines. `--timestamps` prefixes each line with its timestamp. diff --git a/docs/introduction/installation/cloud-installation.md b/docs/introduction/installation/cloud-installation.md index 26b26aa2..b5a83749 100644 --- a/docs/introduction/installation/cloud-installation.md +++ b/docs/introduction/installation/cloud-installation.md @@ -92,7 +92,7 @@ cloud: # resourceGroup: # name: - # Optionaly use a custom DNS zone + # Optionally use a custom DNS zone # dnsZone: # resourceGroup: # name: @@ -238,7 +238,7 @@ organizations: # An optional array of managed identities that will be created in the resource group. # These identities are available to runs as workload identities. When updating this list - # both `tyger cloud install` and `tyger api installed` must be run. + # both `tyger cloud install` and `tyger api install` must be run. # identities: # - my-identity @@ -305,7 +305,7 @@ organizations: ``` All of the installation commands (`tyger cloud install`, `tyger api install`, -etc.) require you to give a path the the config file (`--file|-f PATH`). +etc.) require you to give a path to the config file (`--file|-f PATH`). You can validate this configuration with: @@ -355,12 +355,12 @@ apiAppId: "" # `tyger access-control apply` will fill in this value cliAppId: "" # `tyger access-control apply` will fill in this value ``` -Review the values for `tenantId`, `apiAppUri`, and `apiAppUri`. `apiAppId` and -`cliAppId` will be updated with IDs when `tyger config apply` is run. +Review the values for `tenantId`, `apiAppUri`, and `cliAppUri`. `apiAppId` and +`cliAppId` will be updated with IDs when `tyger access-control apply` is run. -The next section determines who can access to the Tyger API. There are two +The next section determines who can access the Tyger API. There are two roles: owner and contributor. Owners can perform any operation. Contributors can -perform all operation except deleting, exporting, and importing buffers. +perform all operations except deleting, exporting, and importing buffers. ```yaml roleAssignments: @@ -395,7 +395,7 @@ tyger cloud install -f config.yml ``` This step involves accessing some of the deployed Azure resources directly -while configuring them. In situations where it is not possible for the installer +while configuring them. In situations where it is not possible for the installer to determine your IP address, we recommend running the installation from the [Azure Cloud Shell](https://learn.microsoft.com/en-us/azure/cloud-shell/overview). @@ -427,7 +427,7 @@ under `api.domainName`. For example: tyger login https://demo-tyger.westus2.cloudapp.azure.com ``` -This will take you through an interactive login flow similar to logging `az login`. +This will take you through an interactive login flow similar to `az login`. Once logged in, you should be able to run any of the core commands, such as: @@ -443,7 +443,7 @@ If ever the Tyger API fails unexpectedly, you can inspect server logs with tyger api logs -f config.yml [--follow] [--tail LINES] ``` -`--follow` will stream new out new log lines as they are produced by the server. +`--follow` will stream out new log lines as they are produced by the server. `--tail` starts from the last N log lines. @@ -579,7 +579,7 @@ In the configuration file, multiple organizations can be added under the to provide a custom Azure DNS zone resource (to control the records of a domain) and provide a TLS certificate in PEM format in an Azure Key Vault. -When an environment has multiple organization the commands under `tyger cloud`, +When an environment has multiple organizations, the commands under `tyger cloud`, `tyger api`, and `tyger identities` can be scoped to one or more organizations using the `--org` flag. Some commands can only be applied to a single organization. diff --git a/docs/introduction/installation/docker-installation.md b/docs/introduction/installation/docker-installation.md index 516efddb..f6ac6002 100644 --- a/docs/introduction/installation/docker-installation.md +++ b/docs/introduction/installation/docker-installation.md @@ -6,7 +6,7 @@ 1. Install the `tyger` CLI. 2. Create an installation config file. -5. Install the Tyger API. +3. Install the Tyger API. After installing the `tyger` CLI, you will use it for the subsequent steps. @@ -81,12 +81,12 @@ signingKeys: ``` All of the installation commands (`tyger api install`, `tyger api uninstall`, -etc.) require you to give a path the the config file (`--file|-f PATH`). +etc.) require you to give a path to the config file (`--file|-f PATH`). ## Install the Tyger API -You are now ready to install the Tyger, API, which can be done by running: +You are now ready to install the Tyger API, which can be done by running: ```bash tyger api install -f config.yml @@ -97,7 +97,7 @@ If using Windows, you will need to run this command from a WSL prompt. ::: If using the default `installationDirectory` (`/opt/tyger`), you will probably -need to create it using ahead of time using `sudo`. For example: +need to create it ahead of time using `sudo`. For example: ```bash uid=$(id -u) @@ -116,7 +116,7 @@ If using the default installation directory, you can log in with the `tyger` CLI tyger login --local ``` -If using a different directory, you can log specifying the socket path: +If using a different directory, you can log in by specifying the socket path: ```bash tyger login unix:///path/to/installation/dir/api.sock @@ -146,7 +146,7 @@ tyger api logs -f config.yml [--data-plane] [--follow] [--tail LINES] Specify `--data-plane` to retrieve the data plane server's logs, otherwise the control-plane server's logs will be returned. -`--follow` will stream new out new log lines as they are produced by the server. +`--follow` will stream out new log lines as they are produced by the server. `--tail` starts from the last N log lines. @@ -196,15 +196,15 @@ environment variable is set on the SSH host. Additional parameters can be passed in as query parameters (after the `?`). These are: - - `cliPath`, to speciy that path to the `tyger` CLI on the host. This is only -necessary if the localtion is not part of the `PATH` variable. + - `cliPath`, to specify the path to the `tyger` CLI on the host. This is only +necessary if the location is not part of the `PATH` variable. - `option[sshConfigKey]`, to specify additional SSH [configuration options](https://www.man7.org/linux/man-pages/man5/ssh_config.5.html). -For example, `ssh://myhost?option[StrictHostChecking]=no` results in a SSH command -that looks like `ssh myhost -o StrictHostChecking=no` +For example, `ssh://myhost?option[StrictHostKeyChecking]=no` results in an SSH command +that looks like `ssh myhost -o StrictHostKeyChecking=no` For the best user experience with SSH, configure ~/.ssh/config as follows to -allow reusing a SSH connection for multiple invocations of the `tyger` CLI: +allow reusing an SSH connection for multiple invocations of the `tyger` CLI: ``` ControlMaster auto diff --git a/docs/introduction/installation/installation.md b/docs/introduction/installation/installation.md index ee44dd56..5feebb71 100644 --- a/docs/introduction/installation/installation.md +++ b/docs/introduction/installation/installation.md @@ -4,4 +4,4 @@ Tyger can either be installed in the Azure cloud or locally using only Docker. To use Azure, follow the [cloud installation guide](cloud-installation.md). -To install locally, follow the [Docker installation guide](cloud-installation.md). +To install locally, follow the [Docker installation guide](docker-installation.md). diff --git a/docs/introduction/what-is-tyger.md b/docs/introduction/what-is-tyger.md index b16dfb50..c108f766 100644 --- a/docs/introduction/what-is-tyger.md +++ b/docs/introduction/what-is-tyger.md @@ -124,7 +124,7 @@ execute a codespec, reading and writing to buffers. A buffer is an abstraction over an Azure Blob storage container. Data streams are split into fixed-size blobs (files) with a sequential naming scheme and -uploaded and downloaded in parallel. The result is a conceptually similar to a +uploaded and downloaded in parallel. The result is conceptually similar to a queueing service, but simpler and optimized for a single writer that can produce gigabits or even tens of gigabits per second. diff --git a/docs/reference/database-management.md b/docs/reference/database-management.md index f95a8c0e..78d73fdf 100644 --- a/docs/reference/database-management.md +++ b/docs/reference/database-management.md @@ -7,7 +7,7 @@ occasionally require updates, such as adding tables, columns, and indexes. These updates are published as "migrations," which are essentially numbered database scripts. When installing a new version of the Tyger API, you will receive a warning if there are available migrations to apply. While the new code -version will continue operate with the old database schema, it is advisable to +version will continue to operate with the old database schema, it is advisable to perform database upgrades sooner rather than later. Database migrations are designed to run without Tyger downtime. @@ -27,7 +27,7 @@ tyger api migration list [--all] -f config.yml This command shows the current database version and lists pending migrations. Use `--all` to view all migrations, including those that have already been -already applied. +applied. ## Applying migrations @@ -49,7 +49,7 @@ completion. Use `--wait` to make the command wait for all migrations to complete To get the logs from the application of a migration, run: ```bash -tyger api migration log ID -f config.yml +tyger api migration logs ID -f config.yml ``` Migrations are designed to be idempotent. Retrying a migration should not cause