diff --git a/cmd/openstatus/main.go b/cmd/openstatus/main.go index d705c4d..bfc21df 100644 --- a/cmd/openstatus/main.go +++ b/cmd/openstatus/main.go @@ -1,8 +1,8 @@ package main import ( - cmd "github.com/openstatusHQ/cli/internal/cmd" "github.com/joho/godotenv" + cmd "github.com/openstatusHQ/cli/internal/cmd" "log" ) diff --git a/docs/openstatus-docs.md b/docs/openstatus-docs.md index c72c80d..08cdaa5 100644 --- a/docs/openstatus-docs.md +++ b/docs/openstatus-docs.md @@ -14,12 +14,12 @@ $ openstatus [GLOBAL FLAGS] [COMMAND] [COMMAND FLAGS] [ARGUMENTS...] Global flags: -| Name | Description | Default value | Environment variables | -|------------------|---------------------------|:-------------:|:---------------------:| -| `--json` | Output results as JSON | `false` | *none* | -| `--no-color` | Disable colored output | `false` | *none* | -| `--quiet` (`-q`) | Suppress non-error output | `false` | *none* | -| `--debug` | Enable debug output | `false` | *none* | +| Name | Description | Type | Default value | Environment variables | +|------------------|---------------------------|------|:-------------:|:---------------------:| +| `--json` | Output results as JSON | bool | `false` | *none* | +| `--no-color` | Disable colored output | bool | `false` | *none* | +| `--quiet` (`-q`) | Suppress non-error output | bool | `false` | *none* | +| `--debug` | Enable debug output | bool | `false` | *none* | ### `monitors` command (aliases: `m`) @@ -49,12 +49,12 @@ $ openstatus [GLOBAL FLAGS] monitors apply [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|-------------------------------------------------------|:-----------------:|:----------------------:| -| `--config="…"` (`-c`) | The configuration file containing monitor information | `openstatus.yaml` | *none* | -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | -| `--auto-accept` (`-y`) | Automatically accept the prompt | `false` | *none* | -| `--dry-run` (`-n`) | Show what would be changed without applying | `false` | *none* | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|-------------------------------------------------------|--------|:-------------------:|:----------------------:| +| `--config="…"` (`-c`) | The configuration file containing monitor information | string | `"openstatus.yaml"` | *none* | +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | +| `--auto-accept` (`-y`) | Automatically accept the prompt | bool | `false` | *none* | +| `--dry-run` (`-n`) | Show what would be changed without applying | bool | `false` | *none* | ### `monitors create` subcommand @@ -73,11 +73,11 @@ $ openstatus [GLOBAL FLAGS] monitors create [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|-------------------------------------------------------|:-----------------:|:----------------------:| -| `--config="…"` (`-c`) | The configuration file containing monitor information | `openstatus.yaml` | *none* | -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | -| `--auto-accept` (`-y`) | Automatically accept the prompt | `false` | *none* | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|-------------------------------------------------------|--------|:-------------------:|:----------------------:| +| `--config="…"` (`-c`) | The configuration file containing monitor information | string | `"openstatus.yaml"` | *none* | +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | +| `--auto-accept` (`-y`) | Automatically accept the prompt | bool | `false` | *none* | ### `monitors delete` subcommand @@ -94,10 +94,10 @@ $ openstatus [GLOBAL FLAGS] monitors delete [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|---------------------------------|:-------------:|:----------------------:| -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | -| `--auto-accept` (`-y`) | Automatically accept the prompt | `false` | *none* | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|---------------------------------|--------|:-------------:|:----------------------:| +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | +| `--auto-accept` (`-y`) | Automatically accept the prompt | bool | `false` | *none* | ### `monitors import` subcommand @@ -116,10 +116,10 @@ $ openstatus [GLOBAL FLAGS] monitors import [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|-----------------------------|:-----------------:|:----------------------:| -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | -| `--output="…"` (`-o`) | The output file name | `openstatus.yaml` | *none* | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|-----------------------------|--------|:-------------------:|:----------------------:| +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | +| `--output="…"` (`-o`) | The output file name | string | `"openstatus.yaml"` | *none* | ### `monitors info` subcommand @@ -139,10 +139,10 @@ $ openstatus [GLOBAL FLAGS] monitors info [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|----------------------------------------------|:-------------:|:----------------------:| -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | -| `--time-range="…"` | Time range for summary metrics (1d, 7d, 14d) | `1d` | *none* | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|----------------------------------------------|--------|:-------------:|:----------------------:| +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | +| `--time-range="…"` | Time range for summary metrics (1d, 7d, 14d) | string | `"1d"` | *none* | ### `monitors list` subcommand @@ -161,10 +161,10 @@ $ openstatus [GLOBAL FLAGS] monitors list [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|-------------------------------------------|:-------------:|:----------------------:| -| `--all` | List all monitors including inactive ones | `false` | *none* | -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|-------------------------------------------|--------|:-------------:|:----------------------:| +| `--all` | List all monitors including inactive ones | bool | `false` | *none* | +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | ### `monitors logs` subcommand @@ -186,13 +186,13 @@ $ openstatus [GLOBAL FLAGS] monitors logs [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|------------------------------------------|:-------------:|:----------------------:| -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | -| `--limit="…"` | Maximum number of logs to return (1-100) | `0` | *none* | -| `--offset="…"` | Number of logs to skip for pagination | `0` | *none* | -| `--from="…"` | Start of time window (RFC 3339 format) | | *none* | -| `--to="…"` | End of time window (RFC 3339 format) | | *none* | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|------------------------------------------|--------|:-------------:|:----------------------:| +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | +| `--limit="…"` | Maximum number of logs to return (1-100) | int | `0` | *none* | +| `--offset="…"` | Number of logs to skip for pagination | int | `0` | *none* | +| `--from="…"` | Start of time window (RFC 3339 format) | string | | *none* | +| `--to="…"` | End of time window (RFC 3339 format) | string | | *none* | ### `monitors log-info` subcommand @@ -211,9 +211,9 @@ $ openstatus [GLOBAL FLAGS] monitors log-info [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|-----------------------------|:-------------:|:----------------------:| -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|-----------------------------|--------|:-------------:|:----------------------:| +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | ### `monitors trigger` subcommand @@ -232,9 +232,9 @@ $ openstatus [GLOBAL FLAGS] monitors trigger [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|-----------------------------|:-------------:|:----------------------:| -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|-----------------------------|--------|:-------------:|:----------------------:| +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | ### `status-report` command (aliases: `sr`) @@ -261,11 +261,11 @@ $ openstatus [GLOBAL FLAGS] status-report list [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|--------------------------------------------------------------------|:-------------:|:----------------------:| -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | -| `--status="…"` | Filter by status (investigating, identified, monitoring, resolved) | | *none* | -| `--limit="…"` | Maximum number of reports to return (1-100) | `0` | *none* | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|--------------------------------------------------------------------|--------|:-------------:|:----------------------:| +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | +| `--status="…"` | Filter by status (investigating, identified, monitoring, resolved) | string | | *none* | +| `--limit="…"` | Maximum number of reports to return (1-100) | int | `0` | *none* | ### `status-report info` subcommand @@ -282,9 +282,9 @@ $ openstatus [GLOBAL FLAGS] status-report info [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|-----------------------------|:-------------:|:----------------------:| -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|-----------------------------|--------|:-------------:|:----------------------:| +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | ### `status-report create` subcommand @@ -300,16 +300,16 @@ $ openstatus [GLOBAL FLAGS] status-report create [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|------------------------------------------------------------------|:-------------:|:----------------------:| -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | -| `--title="…"` | Title of the status report | | *none* | -| `--status="…"` | Initial status (investigating, identified, monitoring, resolved) | | *none* | -| `--message="…"` | Initial message describing the incident | | *none* | -| `--page-id="…"` | Status page ID to associate with this report | | *none* | -| `--component-ids="…"` | Comma-separated page component IDs | | *none* | -| `--notify` | Notify subscribers about this status report | `false` | *none* | -| `--date="…"` | Date when the event occurred (RFC 3339 format, defaults to now) | | *none* | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|------------------------------------------------------------------|--------|:-------------:|:----------------------:| +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | +| `--title="…"` | Title of the status report | string | | *none* | +| `--status="…"` | Initial status (investigating, identified, monitoring, resolved) | string | | *none* | +| `--message="…"` | Initial message describing the incident | string | | *none* | +| `--page-id="…"` | Status page ID to associate with this report | string | | *none* | +| `--component-ids="…"` | Comma-separated page component IDs | string | | *none* | +| `--notify` | Notify subscribers about this status report | bool | `false` | *none* | +| `--date="…"` | Date when the event occurred (RFC 3339 format, defaults to now) | string | | *none* | ### `status-report update` subcommand @@ -325,11 +325,11 @@ $ openstatus [GLOBAL FLAGS] status-report update [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|-------------------------------------------------------------|:-------------:|:----------------------:| -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | -| `--title="…"` | New title for the report | | *none* | -| `--component-ids="…"` | Comma-separated page component IDs (replaces existing list) | | *none* | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|-------------------------------------------------------------|--------|:-------------:|:----------------------:| +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | +| `--title="…"` | New title for the report | string | | *none* | +| `--component-ids="…"` | Comma-separated page component IDs (replaces existing list) | string | | *none* | ### `status-report delete` subcommand @@ -346,10 +346,10 @@ $ openstatus [GLOBAL FLAGS] status-report delete [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|---------------------------------|:-------------:|:----------------------:| -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | -| `--auto-accept` (`-y`) | Automatically accept the prompt | `false` | *none* | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|---------------------------------|--------|:-------------:|:----------------------:| +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | +| `--auto-accept` (`-y`) | Automatically accept the prompt | bool | `false` | *none* | ### `status-report add-update` subcommand @@ -365,13 +365,13 @@ $ openstatus [GLOBAL FLAGS] status-report add-update [COMMAND FLAGS] [ARGUMENTS. The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|--------------------------------------------------------------|:-------------:|:----------------------:| -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | -| `--status="…"` | New status (investigating, identified, monitoring, resolved) | | *none* | -| `--message="…"` | Message describing what changed | | *none* | -| `--date="…"` | Date for the update (RFC 3339 format, defaults to now) | | *none* | -| `--notify` | Notify subscribers about this update | `false` | *none* | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|--------------------------------------------------------------|--------|:-------------:|:----------------------:| +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | +| `--status="…"` | New status (investigating, identified, monitoring, resolved) | string | | *none* | +| `--message="…"` | Message describing what changed | string | | *none* | +| `--date="…"` | Date for the update (RFC 3339 format, defaults to now) | string | | *none* | +| `--notify` | Notify subscribers about this update | bool | `false` | *none* | ### `maintenance` command (aliases: `mt`) @@ -398,11 +398,11 @@ $ openstatus [GLOBAL FLAGS] maintenance list [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|--------------------------------------------------|:-------------:|:----------------------:| -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | -| `--page-id="…"` | Filter by status page ID | | *none* | -| `--limit="…"` | Maximum number of maintenances to return (1-100) | `0` | *none* | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|--------------------------------------------------|--------|:-------------:|:----------------------:| +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | +| `--page-id="…"` | Filter by status page ID | string | | *none* | +| `--limit="…"` | Maximum number of maintenances to return (1-100) | int | `0` | *none* | ### `maintenance info` subcommand @@ -419,9 +419,9 @@ $ openstatus [GLOBAL FLAGS] maintenance info [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|-----------------------------|:-------------:|:----------------------:| -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|-----------------------------|--------|:-------------:|:----------------------:| +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | ### `maintenance create` subcommand @@ -437,16 +437,16 @@ $ openstatus [GLOBAL FLAGS] maintenance create [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|--------------------------------------------------------|:-------------:|:----------------------:| -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | -| `--title="…"` | Title of the maintenance | | *none* | -| `--message="…"` | Message describing the maintenance | | *none* | -| `--from="…"` | Start time of the maintenance window (RFC 3339 format) | | *none* | -| `--to="…"` | End time of the maintenance window (RFC 3339 format) | | *none* | -| `--page-id="…"` | Status page ID to associate with this maintenance | | *none* | -| `--component-ids="…"` | Comma-separated page component IDs | | *none* | -| `--notify` | Notify subscribers about this maintenance | `false` | *none* | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|--------------------------------------------------------|--------|:-------------:|:----------------------:| +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | +| `--title="…"` | Title of the maintenance | string | | *none* | +| `--message="…"` | Message describing the maintenance | string | | *none* | +| `--from="…"` | Start time of the maintenance window (RFC 3339 format) | string | | *none* | +| `--to="…"` | End time of the maintenance window (RFC 3339 format) | string | | *none* | +| `--page-id="…"` | Status page ID to associate with this maintenance | string | | *none* | +| `--component-ids="…"` | Comma-separated page component IDs | string | | *none* | +| `--notify` | Notify subscribers about this maintenance | bool | `false` | *none* | ### `maintenance update` subcommand @@ -462,14 +462,14 @@ $ openstatus [GLOBAL FLAGS] maintenance update [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|-------------------------------------------------------------|:-------------:|:----------------------:| -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | -| `--title="…"` | New title for the maintenance | | *none* | -| `--message="…"` | New message for the maintenance | | *none* | -| `--from="…"` | New start time (RFC 3339 format) | | *none* | -| `--to="…"` | New end time (RFC 3339 format) | | *none* | -| `--component-ids="…"` | Comma-separated page component IDs (replaces existing list) | | *none* | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|-------------------------------------------------------------|--------|:-------------:|:----------------------:| +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | +| `--title="…"` | New title for the maintenance | string | | *none* | +| `--message="…"` | New message for the maintenance | string | | *none* | +| `--from="…"` | New start time (RFC 3339 format) | string | | *none* | +| `--to="…"` | New end time (RFC 3339 format) | string | | *none* | +| `--component-ids="…"` | Comma-separated page component IDs (replaces existing list) | string | | *none* | ### `maintenance delete` subcommand @@ -486,10 +486,10 @@ $ openstatus [GLOBAL FLAGS] maintenance delete [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|---------------------------------|:-------------:|:----------------------:| -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | -| `--auto-accept` (`-y`) | Automatically accept the prompt | `false` | *none* | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|---------------------------------|--------|:-------------:|:----------------------:| +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | +| `--auto-accept` (`-y`) | Automatically accept the prompt | bool | `false` | *none* | ### `status-page` command (aliases: `sp`) @@ -516,10 +516,10 @@ $ openstatus [GLOBAL FLAGS] status-page list [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|-------------------------------------------|:-------------:|:----------------------:| -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | -| `--limit="…"` | Maximum number of pages to return (1-100) | `0` | *none* | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|-------------------------------------------|--------|:-------------:|:----------------------:| +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | +| `--limit="…"` | Maximum number of pages to return (1-100) | int | `0` | *none* | ### `status-page info` subcommand @@ -536,9 +536,9 @@ $ openstatus [GLOBAL FLAGS] status-page info [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|-----------------------------|:-------------:|:----------------------:| -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|-----------------------------|--------|:-------------:|:----------------------:| +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | ### `notification` command (aliases: `n`) @@ -565,10 +565,10 @@ $ openstatus [GLOBAL FLAGS] notification list [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|---------------------------------------------------|:-------------:|:----------------------:| -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | -| `--limit="…"` | Maximum number of notifications to return (1-100) | `0` | *none* | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|---------------------------------------------------|--------|:-------------:|:----------------------:| +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | +| `--limit="…"` | Maximum number of notifications to return (1-100) | int | `0` | *none* | ### `notification info` subcommand @@ -585,9 +585,9 @@ $ openstatus [GLOBAL FLAGS] notification info [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|-----------------------------|:-------------:|:----------------------:| -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|-----------------------------|--------|:-------------:|:----------------------:| +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | ### `run` command (aliases: `r`) @@ -606,10 +606,10 @@ $ openstatus [GLOBAL FLAGS] run [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|-----------------------------|:------------------------:|:----------------------:| -| `--config="…"` | The configuration file | `config.openstatus.yaml` | *none* | -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|-----------------------------|--------|:--------------------------:|:----------------------:| +| `--config="…"` | The configuration file | string | `"config.openstatus.yaml"` | *none* | +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | ### `whoami` command (aliases: `w`) @@ -627,9 +627,9 @@ $ openstatus [GLOBAL FLAGS] whoami [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|-----------------------------|:-------------:|:----------------------:| -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|-----------------------------|--------|:-------------:|:----------------------:| +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | ### `login` command @@ -681,7 +681,8 @@ $ openstatus [GLOBAL FLAGS] terraform generate [COMMAND FLAGS] [ARGUMENTS...] The following flags are supported: -| Name | Description | Default value | Environment variables | -|-----------------------------|-----------------------------------------|:-------------------------:|:----------------------:| -| `--access-token="…"` (`-t`) | OpenStatus API Access Token | | `OPENSTATUS_API_TOKEN` | -| `--output-dir="…"` (`-o`) | Directory to write Terraform files into | `./openstatus-terraform/` | *none* | +| Name | Description | Type | Default value | Environment variables | +|-----------------------------|------------------------------------------|--------|:---------------------------:|:----------------------:| +| `--access-token="…"` (`-t`) | OpenStatus API Access Token | string | | `OPENSTATUS_API_TOKEN` | +| `--output-dir="…"` (`-o`) | Directory to write Terraform files into | string | `"./openstatus-terraform/"` | *none* | +| `--force` (`-f`) | Overwrite existing files in --output-dir | bool | `false` | *none* | diff --git a/docs/openstatus.1 b/docs/openstatus.1 index b2ab37e..10e4948 100644 --- a/docs/openstatus.1 +++ b/docs/openstatus.1 @@ -29,12 +29,14 @@ Global flags: .PP .TS tab(@); -lw(15.2n) lw(22.8n) cw(12.7n) cw(19.4n). +lw(14.2n) lw(21.2n) lw(4.7n) cw(11.8n) cw(18.1n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -45,6 +47,8 @@ T{ T}@T{ Output results as JSON T}@T{ +bool +T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] @@ -54,6 +58,8 @@ T{ T}@T{ Disable colored output T}@T{ +bool +T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] @@ -63,6 +69,8 @@ T{ T}@T{ Suppress non\-error output T}@T{ +bool +T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] @@ -72,6 +80,8 @@ T{ T}@T{ Enable debug output T}@T{ +bool +T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] @@ -108,12 +118,14 @@ The following flags are supported: .PP .TS tab(@); -lw(16.0n) lw(30.3n) cw(10.5n) cw(13.2n). +lw(14.8n) lw(28.1n) lw(4.1n) cw(10.7n) cw(12.3n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -124,7 +136,9 @@ T{ T}@T{ The configuration file containing monitor information T}@T{ -\f[CR]openstatus.yaml\f[R] +string +T}@T{ +\f[CR]\(dqopenstatus.yaml\(dq\f[R] T}@T{ \f[I]none\f[R] T} @@ -133,6 +147,8 @@ T{ T}@T{ OpenStatus API Access Token T}@T{ +string +T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} @@ -141,6 +157,8 @@ T{ T}@T{ Automatically accept the prompt T}@T{ +bool +T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] @@ -150,6 +168,8 @@ T{ T}@T{ Show what would be changed without applying T}@T{ +bool +T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] @@ -175,12 +195,14 @@ The following flags are supported: .PP .TS tab(@); -lw(16.0n) lw(30.3n) cw(10.5n) cw(13.2n). +lw(14.8n) lw(28.1n) lw(4.1n) cw(10.7n) cw(12.3n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -191,7 +213,9 @@ T{ T}@T{ The configuration file containing monitor information T}@T{ -\f[CR]openstatus.yaml\f[R] +string +T}@T{ +\f[CR]\(dqopenstatus.yaml\(dq\f[R] T}@T{ \f[I]none\f[R] T} @@ -200,6 +224,8 @@ T{ T}@T{ OpenStatus API Access Token T}@T{ +string +T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} @@ -208,6 +234,8 @@ T{ T}@T{ Automatically accept the prompt T}@T{ +bool +T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] @@ -230,12 +258,14 @@ The following flags are supported: .PP .TS tab(@); -lw(20.1n) lw(22.9n) cw(10.4n) cw(16.6n). +lw(18.6n) lw(21.2n) lw(5.1n) cw(9.6n) cw(15.4n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -246,6 +276,8 @@ T{ T}@T{ OpenStatus API Access Token T}@T{ +string +T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} @@ -254,6 +286,8 @@ T{ T}@T{ Automatically accept the prompt T}@T{ +bool +T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] @@ -280,12 +314,14 @@ The following flags are supported: .PP .TS tab(@); -lw(20.1n) lw(20.1n) cw(13.2n) cw(16.6n). +lw(18.3n) lw(18.3n) lw(5.0n) cw(13.2n) cw(15.1n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -296,6 +332,8 @@ T{ T}@T{ OpenStatus API Access Token T}@T{ +string +T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} @@ -304,7 +342,9 @@ T{ T}@T{ The output file name T}@T{ -\f[CR]openstatus.yaml\f[R] +string +T}@T{ +\f[CR]\(dqopenstatus.yaml\(dq\f[R] T}@T{ \f[I]none\f[R] T} @@ -330,12 +370,14 @@ The following flags are supported: .PP .TS tab(@); -lw(17.8n) lw(28.2n) cw(9.2n) cw(14.7n). +lw(16.6n) lw(26.4n) lw(4.6n) cw(8.6n) cw(13.8n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -346,6 +388,8 @@ T{ T}@T{ OpenStatus API Access Token T}@T{ +string +T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} @@ -354,7 +398,9 @@ T{ T}@T{ Time range for summary metrics (1d, 7d, 14d) T}@T{ -\f[CR]1d\f[R] +string +T}@T{ +\f[CR]\(dq1d\(dq\f[R] T}@T{ \f[I]none\f[R] T} @@ -380,12 +426,14 @@ The following flags are supported: .PP .TS tab(@); -lw(18.3n) lw(27.1n) cw(9.5n) cw(15.1n). +lw(17.1n) lw(25.3n) lw(4.7n) cw(8.8n) cw(14.1n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -396,6 +444,8 @@ T{ T}@T{ List all monitors including inactive ones T}@T{ +bool +T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] @@ -405,6 +455,142 @@ T{ T}@T{ OpenStatus API Access Token T}@T{ +string +T}@T{ +T}@T{ +\f[CR]OPENSTATUS_API_TOKEN\f[R] +T} +.TE +.SS \f[CR]monitors logs\f[R] subcommand +List HTTP response logs for a monitor. +.RS +.PP +openstatus monitors logs openstatus monitors logs 12345 openstatus +monitors logs 12345 \(enlimit 10 openstatus monitors logs 12345 +\(enlimit 5 \(enoffset 5 openstatus monitors logs 12345 \(enfrom +2026\-05\-06T00:00:00Z \(ento 2026\-05\-07T00:00:00Z +.RE +.PP +List HTTP response logs for a monitor from the 14\-day retention window. +Supports pagination and time filtering. +.PP +Usage: +.IP +.EX +$ openstatus [GLOBAL FLAGS] monitors logs [COMMAND FLAGS] [ARGUMENTS...] +.EE +.PP +The following flags are supported: +.PP +.TS +tab(@); +lw(17.2n) lw(24.9n) lw(4.7n) cw(8.9n) cw(14.2n). +T{ +Name +T}@T{ +Description +T}@T{ +Type +T}@T{ +Default value +T}@T{ +Environment variables +T} +_ +T{ +\f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) +T}@T{ +OpenStatus API Access Token +T}@T{ +string +T}@T{ +T}@T{ +\f[CR]OPENSTATUS_API_TOKEN\f[R] +T} +T{ +\f[CR]\-\-limit=\(dq\&...\(dq\f[R] +T}@T{ +Maximum number of logs to return (1\-100) +T}@T{ +int +T}@T{ +\f[CR]0\f[R] +T}@T{ +\f[I]none\f[R] +T} +T{ +\f[CR]\-\-offset=\(dq\&...\(dq\f[R] +T}@T{ +Number of logs to skip for pagination +T}@T{ +int +T}@T{ +\f[CR]0\f[R] +T}@T{ +\f[I]none\f[R] +T} +T{ +\f[CR]\-\-from=\(dq\&...\(dq\f[R] +T}@T{ +Start of time window (RFC 3339 format) +T}@T{ +string +T}@T{ +T}@T{ +\f[I]none\f[R] +T} +T{ +\f[CR]\-\-to=\(dq\&...\(dq\f[R] +T}@T{ +End of time window (RFC 3339 format) +T}@T{ +string +T}@T{ +T}@T{ +\f[I]none\f[R] +T} +.TE +.SS \f[CR]monitors log\-info\f[R] subcommand +Get detailed HTTP response log for a monitor. +.RS +.PP +openstatus monitors log\-info openstatus monitors log\-info 12345 +abc\-def\-ghi +.RE +.PP +Fetch a single HTTP response log with full details including timing +phases, response headers, and assertion results. +.PP +Usage: +.IP +.EX +$ openstatus [GLOBAL FLAGS] monitors log\-info [COMMAND FLAGS] [ARGUMENTS...] +.EE +.PP +The following flags are supported: +.PP +.TS +tab(@); +lw(19.3n) lw(19.3n) lw(5.3n) cw(10.0n) cw(16.0n). +T{ +Name +T}@T{ +Description +T}@T{ +Type +T}@T{ +Default value +T}@T{ +Environment variables +T} +_ +T{ +\f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) +T}@T{ +OpenStatus API Access Token +T}@T{ +string +T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} @@ -429,12 +615,14 @@ The following flags are supported: .PP .TS tab(@); -lw(20.9n) lw(20.9n) cw(10.8n) cw(17.3n). +lw(19.3n) lw(19.3n) lw(5.3n) cw(10.0n) cw(16.0n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -445,6 +633,8 @@ T{ T}@T{ OpenStatus API Access Token T}@T{ +string +T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} @@ -475,12 +665,14 @@ The following flags are supported: .PP .TS tab(@); -lw(14.9n) lw(35.0n) cw(7.7n) cw(12.4n). +lw(14.1n) lw(33.1n) lw(3.9n) cw(7.3n) cw(11.7n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -491,6 +683,8 @@ T{ T}@T{ OpenStatus API Access Token T}@T{ +string +T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} @@ -499,6 +693,8 @@ T{ T}@T{ Filter by status (investigating, identified, monitoring, resolved) T}@T{ +string +T}@T{ T}@T{ \f[I]none\f[R] T} @@ -507,6 +703,8 @@ T{ T}@T{ Maximum number of reports to return (1\-100) T}@T{ +int +T}@T{ \f[CR]0\f[R] T}@T{ \f[I]none\f[R] @@ -529,12 +727,14 @@ The following flags are supported: .PP .TS tab(@); -lw(20.9n) lw(20.9n) cw(10.8n) cw(17.3n). +lw(19.3n) lw(19.3n) lw(5.3n) cw(10.0n) cw(16.0n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -545,6 +745,8 @@ T{ T}@T{ OpenStatus API Access Token T}@T{ +string +T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} @@ -568,12 +770,14 @@ The following flags are supported: .PP .TS tab(@); -lw(15.1n) lw(34.5n) cw(7.8n) cw(12.5n). +lw(14.3n) lw(32.5n) lw(3.9n) cw(7.4n) cw(11.8n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -584,6 +788,8 @@ T{ T}@T{ OpenStatus API Access Token T}@T{ +string +T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} @@ -592,6 +798,8 @@ T{ T}@T{ Title of the status report T}@T{ +string +T}@T{ T}@T{ \f[I]none\f[R] T} @@ -600,6 +808,8 @@ T{ T}@T{ Initial status (investigating, identified, monitoring, resolved) T}@T{ +string +T}@T{ T}@T{ \f[I]none\f[R] T} @@ -608,6 +818,8 @@ T{ T}@T{ Initial message describing the incident T}@T{ +string +T}@T{ T}@T{ \f[I]none\f[R] T} @@ -616,6 +828,8 @@ T{ T}@T{ Status page ID to associate with this report T}@T{ +string +T}@T{ T}@T{ \f[I]none\f[R] T} @@ -624,6 +838,8 @@ T{ T}@T{ Comma\-separated page component IDs T}@T{ +string +T}@T{ T}@T{ \f[I]none\f[R] T} @@ -632,6 +848,8 @@ T{ T}@T{ Notify subscribers about this status report T}@T{ +bool +T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] @@ -641,6 +859,8 @@ T{ T}@T{ Date when the event occurred (RFC 3339 format, defaults to now) T}@T{ +string +T}@T{ T}@T{ \f[I]none\f[R] T} @@ -663,12 +883,14 @@ The following flags are supported: .PP .TS tab(@); -lw(15.7n) lw(33.1n) cw(8.1n) cw(13.0n). +lw(14.8n) lw(31.2n) lw(4.1n) cw(7.7n) cw(12.3n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -679,6 +901,8 @@ T{ T}@T{ OpenStatus API Access Token T}@T{ +string +T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} @@ -687,6 +911,8 @@ T{ T}@T{ New title for the report T}@T{ +string +T}@T{ T}@T{ \f[I]none\f[R] T} @@ -695,6 +921,8 @@ T{ T}@T{ Comma\-separated page component IDs (replaces existing list) T}@T{ +string +T}@T{ T}@T{ \f[I]none\f[R] T} @@ -717,12 +945,14 @@ The following flags are supported: .PP .TS tab(@); -lw(20.1n) lw(22.9n) cw(10.4n) cw(16.6n). +lw(18.6n) lw(21.2n) lw(5.1n) cw(9.6n) cw(15.4n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -733,6 +963,8 @@ T{ T}@T{ OpenStatus API Access Token T}@T{ +string +T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} @@ -741,6 +973,8 @@ T{ T}@T{ Automatically accept the prompt T}@T{ +bool +T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] @@ -764,12 +998,14 @@ The following flags are supported: .PP .TS tab(@); -lw(15.6n) lw(33.4n) cw(8.1n) cw(12.9n). +lw(14.7n) lw(31.4n) lw(4.1n) cw(7.6n) cw(12.2n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -780,6 +1016,8 @@ T{ T}@T{ OpenStatus API Access Token T}@T{ +string +T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} @@ -788,6 +1026,8 @@ T{ T}@T{ New status (investigating, identified, monitoring, resolved) T}@T{ +string +T}@T{ T}@T{ \f[I]none\f[R] T} @@ -796,6 +1036,8 @@ T{ T}@T{ Message describing what changed T}@T{ +string +T}@T{ T}@T{ \f[I]none\f[R] T} @@ -804,6 +1046,8 @@ T{ T}@T{ Date for the update (RFC 3339 format, defaults to now) T}@T{ +string +T}@T{ T}@T{ \f[I]none\f[R] T} @@ -812,6 +1056,8 @@ T{ T}@T{ Notify subscribers about this update T}@T{ +bool +T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] @@ -843,12 +1089,14 @@ The following flags are supported: .PP .TS tab(@); -lw(17.2n) lw(29.7n) cw(8.9n) cw(14.2n). +lw(16.1n) lw(27.8n) lw(4.4n) cw(8.3n) cw(13.3n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -859,6 +1107,8 @@ T{ T}@T{ OpenStatus API Access Token T}@T{ +string +T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} @@ -867,6 +1117,8 @@ T{ T}@T{ Filter by status page ID T}@T{ +string +T}@T{ T}@T{ \f[I]none\f[R] T} @@ -875,6 +1127,8 @@ T{ T}@T{ Maximum number of maintenances to return (1\-100) T}@T{ +int +T}@T{ \f[CR]0\f[R] T}@T{ \f[I]none\f[R] @@ -897,12 +1151,14 @@ The following flags are supported: .PP .TS tab(@); -lw(20.9n) lw(20.9n) cw(10.8n) cw(17.3n). +lw(19.3n) lw(19.3n) lw(5.3n) cw(10.0n) cw(16.0n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -913,6 +1169,8 @@ T{ T}@T{ OpenStatus API Access Token T}@T{ +string +T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} @@ -936,12 +1194,14 @@ The following flags are supported: .PP .TS tab(@); -lw(16.4n) lw(31.6n) cw(8.5n) cw(13.5n). +lw(15.4n) lw(29.7n) lw(4.2n) cw(8.0n) cw(12.7n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -952,6 +1212,8 @@ T{ T}@T{ OpenStatus API Access Token T}@T{ +string +T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} @@ -960,6 +1222,8 @@ T{ T}@T{ Title of the maintenance T}@T{ +string +T}@T{ T}@T{ \f[I]none\f[R] T} @@ -968,6 +1232,8 @@ T{ T}@T{ Message describing the maintenance T}@T{ +string +T}@T{ T}@T{ \f[I]none\f[R] T} @@ -976,6 +1242,8 @@ T{ T}@T{ Start time of the maintenance window (RFC 3339 format) T}@T{ +string +T}@T{ T}@T{ \f[I]none\f[R] T} @@ -984,6 +1252,8 @@ T{ T}@T{ End time of the maintenance window (RFC 3339 format) T}@T{ +string +T}@T{ T}@T{ \f[I]none\f[R] T} @@ -992,6 +1262,8 @@ T{ T}@T{ Status page ID to associate with this maintenance T}@T{ +string +T}@T{ T}@T{ \f[I]none\f[R] T} @@ -1000,6 +1272,8 @@ T{ T}@T{ Comma\-separated page component IDs T}@T{ +string +T}@T{ T}@T{ \f[I]none\f[R] T} @@ -1008,6 +1282,8 @@ T{ T}@T{ Notify subscribers about this maintenance T}@T{ +bool +T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] @@ -1032,12 +1308,14 @@ The following flags are supported: .PP .TS tab(@); -lw(15.7n) lw(33.1n) cw(8.1n) cw(13.0n). +lw(14.8n) lw(31.2n) lw(4.1n) cw(7.7n) cw(12.3n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -1048,6 +1326,8 @@ T{ T}@T{ OpenStatus API Access Token T}@T{ +string +T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} @@ -1056,6 +1336,8 @@ T{ T}@T{ New title for the maintenance T}@T{ +string +T}@T{ T}@T{ \f[I]none\f[R] T} @@ -1064,6 +1346,8 @@ T{ T}@T{ New message for the maintenance T}@T{ +string +T}@T{ T}@T{ \f[I]none\f[R] T} @@ -1072,6 +1356,8 @@ T{ T}@T{ New start time (RFC 3339 format) T}@T{ +string +T}@T{ T}@T{ \f[I]none\f[R] T} @@ -1080,6 +1366,8 @@ T{ T}@T{ New end time (RFC 3339 format) T}@T{ +string +T}@T{ T}@T{ \f[I]none\f[R] T} @@ -1088,6 +1376,8 @@ T{ T}@T{ Comma\-separated page component IDs (replaces existing list) T}@T{ +string +T}@T{ T}@T{ \f[I]none\f[R] T} @@ -1109,12 +1399,14 @@ The following flags are supported: .PP .TS tab(@); -lw(20.1n) lw(22.9n) cw(10.4n) cw(16.6n). +lw(18.6n) lw(21.2n) lw(5.1n) cw(9.6n) cw(15.4n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -1125,6 +1417,8 @@ T{ T}@T{ OpenStatus API Access Token T}@T{ +string +T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} @@ -1133,6 +1427,8 @@ T{ T}@T{ Automatically accept the prompt T}@T{ +bool +T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] @@ -1163,12 +1459,14 @@ The following flags are supported: .PP .TS tab(@); -lw(18.3n) lw(27.1n) cw(9.5n) cw(15.1n). +lw(17.1n) lw(25.3n) lw(4.7n) cw(8.8n) cw(14.1n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -1179,6 +1477,8 @@ T{ T}@T{ OpenStatus API Access Token T}@T{ +string +T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} @@ -1187,6 +1487,8 @@ T{ T}@T{ Maximum number of pages to return (1\-100) T}@T{ +int +T}@T{ \f[CR]0\f[R] T}@T{ \f[I]none\f[R] @@ -1209,12 +1511,14 @@ The following flags are supported: .PP .TS tab(@); -lw(20.9n) lw(20.9n) cw(10.8n) cw(17.3n). +lw(19.3n) lw(19.3n) lw(5.3n) cw(10.0n) cw(16.0n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -1225,6 +1529,8 @@ T{ T}@T{ OpenStatus API Access Token T}@T{ +string +T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} @@ -1254,12 +1560,14 @@ The following flags are supported: .PP .TS tab(@); -lw(17.1n) lw(30.0n) cw(8.8n) cw(14.1n). +lw(16.0n) lw(28.1n) lw(4.4n) cw(8.3n) cw(13.2n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -1270,6 +1578,8 @@ T{ T}@T{ OpenStatus API Access Token T}@T{ +string +T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} @@ -1278,6 +1588,8 @@ T{ T}@T{ Maximum number of notifications to return (1\-100) T}@T{ +int +T}@T{ \f[CR]0\f[R] T}@T{ \f[I]none\f[R] @@ -1300,12 +1612,14 @@ The following flags are supported: .PP .TS tab(@); -lw(20.9n) lw(20.9n) cw(10.8n) cw(17.3n). +lw(19.3n) lw(19.3n) lw(5.3n) cw(10.0n) cw(16.0n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -1316,6 +1630,8 @@ T{ T}@T{ OpenStatus API Access Token T}@T{ +string +T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} @@ -1341,12 +1657,14 @@ The following flags are supported: .PP .TS tab(@); -lw(18.8n) lw(18.8n) cw(16.9n) cw(15.6n). +lw(17.2n) lw(17.2n) lw(4.7n) cw(16.6n) cw(14.2n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -1357,7 +1675,9 @@ T{ T}@T{ The configuration file T}@T{ -\f[CR]config.openstatus.yaml\f[R] +string +T}@T{ +\f[CR]\(dqconfig.openstatus.yaml\(dq\f[R] T}@T{ \f[I]none\f[R] T} @@ -1366,6 +1686,8 @@ T{ T}@T{ OpenStatus API Access Token T}@T{ +string +T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} @@ -1390,12 +1712,14 @@ The following flags are supported: .PP .TS tab(@); -lw(20.9n) lw(20.9n) cw(10.8n) cw(17.3n). +lw(19.3n) lw(19.3n) lw(5.3n) cw(10.0n) cw(16.0n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -1406,6 +1730,8 @@ T{ T}@T{ OpenStatus API Access Token T}@T{ +string +T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} @@ -1462,12 +1788,14 @@ The following flags are supported: .PP .TS tab(@); -lw(16.8n) lw(23.7n) cw(15.6n) cw(13.9n). +lw(15.4n) lw(22.3n) lw(4.2n) cw(15.4n) cw(12.7n). T{ Name T}@T{ Description T}@T{ +Type +T}@T{ Default value T}@T{ Environment variables @@ -1478,6 +1806,8 @@ T{ T}@T{ OpenStatus API Access Token T}@T{ +string +T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} @@ -1486,7 +1816,20 @@ T{ T}@T{ Directory to write Terraform files into T}@T{ -\f[CR]./openstatus\-terraform/\f[R] +string +T}@T{ +\f[CR]\(dq./openstatus\-terraform/\(dq\f[R] +T}@T{ +\f[I]none\f[R] +T} +T{ +\f[CR]\-\-force\f[R] (\f[CR]\-f\f[R]) +T}@T{ +Overwrite existing files in \(enoutput\-dir +T}@T{ +bool +T}@T{ +\f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} diff --git a/internal/api/client.go b/internal/api/client.go index 5a276a4..360999d 100644 --- a/internal/api/client.go +++ b/internal/api/client.go @@ -7,8 +7,8 @@ import ( "os" "time" - output "github.com/openstatusHQ/cli/internal/cli" "connectrpc.com/connect" + output "github.com/openstatusHQ/cli/internal/cli" ) const APIBaseURL = "https://api.openstatus.dev/v1" diff --git a/internal/auth/auth.go b/internal/auth/auth.go index cc27009..63ac13e 100644 --- a/internal/auth/auth.go +++ b/internal/auth/auth.go @@ -89,4 +89,3 @@ func RemoveToken() error { } return nil } - diff --git a/internal/cli/output.go b/internal/cli/output.go index 5ec6419..f0a2a93 100644 --- a/internal/cli/output.go +++ b/internal/cli/output.go @@ -17,13 +17,15 @@ var ( debugMode atomic.Bool ) -func SetJSONOutput(v bool) { jsonOutput.Store(v) } -func SetQuietMode(v bool) { quietMode.Store(v) } -func SetDebugMode(v bool) { debugMode.Store(v) } -func IsJSONOutput() bool { return jsonOutput.Load() } -func IsQuiet() bool { return quietMode.Load() } -func IsDebug() bool { return debugMode.Load() } -func IsTerminal() bool { return isatty.IsTerminal(os.Stdout.Fd()) || isatty.IsCygwinTerminal(os.Stdout.Fd()) } +func SetJSONOutput(v bool) { jsonOutput.Store(v) } +func SetQuietMode(v bool) { quietMode.Store(v) } +func SetDebugMode(v bool) { debugMode.Store(v) } +func IsJSONOutput() bool { return jsonOutput.Load() } +func IsQuiet() bool { return quietMode.Load() } +func IsDebug() bool { return debugMode.Load() } +func IsTerminal() bool { + return isatty.IsTerminal(os.Stdout.Fd()) || isatty.IsCygwinTerminal(os.Stdout.Fd()) +} func IsStdinTerminal() bool { return isatty.IsTerminal(os.Stdin.Fd()) || isatty.IsCygwinTerminal(os.Stdin.Fd()) } diff --git a/internal/cmd/app.go b/internal/cmd/app.go index d4094ac..e8f1880 100644 --- a/internal/cmd/app.go +++ b/internal/cmd/app.go @@ -24,7 +24,7 @@ func NewApp() *cli.Command { Name: "openstatus", Suggest: true, EnableShellCompletion: true, - Usage: "Manage status pages, monitors, and incidents from the terminal", + Usage: "Manage status pages, monitors, and incidents from the terminal", Description: `OpenStatus CLI lets you manage your status pages and uptime monitors from the command line. Report and track incidents, define monitors as code, and run on-demand checks. @@ -40,7 +40,7 @@ Get started: openstatus run Run synthetic tests https://docs.openstatus.dev | https://github.com/openstatusHQ/cli/issues/new`, - Version: "v1.0.5", + Version: "v1.1.0", Flags: []cli.Flag{ &cli.BoolFlag{ Name: "json", diff --git a/internal/cmd/app_test.go b/internal/cmd/app_test.go index 1d572dc..204e3c1 100644 --- a/internal/cmd/app_test.go +++ b/internal/cmd/app_test.go @@ -20,8 +20,8 @@ func Test_NewApp(t *testing.T) { t.Errorf("Expected app name 'openstatus', got %s", app.Name) } - if app.Version != "v1.0.5" { - t.Errorf("Expected version 'v1.0.5', got %s", app.Version) + if app.Version != "v1.1.0" { + t.Errorf("Expected version 'v1.1.0', got %s", app.Version) } if !app.Suggest { diff --git a/internal/config/monitor.go b/internal/config/monitor.go index 184450f..21ba1aa 100644 --- a/internal/config/monitor.go +++ b/internal/config/monitor.go @@ -57,7 +57,7 @@ type Request struct { } type OpenTelemetryConfig struct { - Endpoint string `json:"endpoint,omitempty" ,yaml:"endpoint,omitempty"` + Endpoint string `json:"endpoint,omitempty" ,yaml:"endpoint,omitempty"` Headers map[string]string `json:"headers,omitempty" ,yaml:"headers,omitempty"` } diff --git a/internal/maintenance/maintenance_create.go b/internal/maintenance/maintenance_create.go index 3e5b57d..4d6c691 100644 --- a/internal/maintenance/maintenance_create.go +++ b/internal/maintenance/maintenance_create.go @@ -6,8 +6,8 @@ import ( "net/http" "strings" - maintenancev1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/maintenance/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/maintenance/v1/maintenancev1connect" + maintenancev1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/maintenance/v1" "github.com/openstatusHQ/cli/internal/auth" output "github.com/openstatusHQ/cli/internal/cli" "github.com/urfave/cli/v3" diff --git a/internal/maintenance/maintenance_delete.go b/internal/maintenance/maintenance_delete.go index d369530..2e651fb 100644 --- a/internal/maintenance/maintenance_delete.go +++ b/internal/maintenance/maintenance_delete.go @@ -6,8 +6,8 @@ import ( "net/http" "os" - maintenancev1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/maintenance/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/maintenance/v1/maintenancev1connect" + maintenancev1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/maintenance/v1" "github.com/openstatusHQ/cli/internal/auth" output "github.com/openstatusHQ/cli/internal/cli" "github.com/urfave/cli/v3" @@ -38,8 +38,8 @@ func DeleteMaintenanceWithHTTPClient(ctx context.Context, httpClient *http.Clien func GetMaintenanceDeleteCmd() *cli.Command { return &cli.Command{ - Name: "delete", - Usage: "Delete a maintenance window", + Name: "delete", + Usage: "Delete a maintenance window", UsageText: `openstatus maintenance delete openstatus maintenance delete 12345 -y`, Flags: []cli.Flag{ diff --git a/internal/maintenance/maintenance_info.go b/internal/maintenance/maintenance_info.go index 20af563..0ff310e 100644 --- a/internal/maintenance/maintenance_info.go +++ b/internal/maintenance/maintenance_info.go @@ -7,14 +7,14 @@ import ( "os" "strings" - maintenancev1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/maintenance/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/maintenance/v1/maintenancev1connect" - "github.com/openstatusHQ/cli/internal/auth" - output "github.com/openstatusHQ/cli/internal/cli" + maintenancev1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/maintenance/v1" "github.com/logrusorgru/aurora/v4" "github.com/olekukonko/tablewriter" "github.com/olekukonko/tablewriter/renderer" "github.com/olekukonko/tablewriter/tw" + "github.com/openstatusHQ/cli/internal/auth" + output "github.com/openstatusHQ/cli/internal/cli" "github.com/urfave/cli/v3" ) diff --git a/internal/maintenance/maintenance_list.go b/internal/maintenance/maintenance_list.go index 65be76d..7905a54 100644 --- a/internal/maintenance/maintenance_list.go +++ b/internal/maintenance/maintenance_list.go @@ -5,8 +5,8 @@ import ( "fmt" "net/http" - maintenancev1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/maintenance/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/maintenance/v1/maintenancev1connect" + maintenancev1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/maintenance/v1" "github.com/fatih/color" "github.com/openstatusHQ/cli/internal/auth" output "github.com/openstatusHQ/cli/internal/cli" diff --git a/internal/maintenance/maintenance_update.go b/internal/maintenance/maintenance_update.go index 8e73d3c..befbb5d 100644 --- a/internal/maintenance/maintenance_update.go +++ b/internal/maintenance/maintenance_update.go @@ -7,8 +7,8 @@ import ( "os" "strings" - maintenancev1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/maintenance/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/maintenance/v1/maintenancev1connect" + maintenancev1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/maintenance/v1" "github.com/openstatusHQ/cli/internal/auth" output "github.com/openstatusHQ/cli/internal/cli" "github.com/urfave/cli/v3" diff --git a/internal/monitors/monitor_create.go b/internal/monitors/monitor_create.go index c5337fa..7417775 100644 --- a/internal/monitors/monitor_create.go +++ b/internal/monitors/monitor_create.go @@ -8,8 +8,8 @@ import ( "os" "strconv" - monitorv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/monitor/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/monitor/v1/monitorv1connect" + monitorv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/monitor/v1" "github.com/openstatusHQ/cli/internal/api" "github.com/openstatusHQ/cli/internal/auth" output "github.com/openstatusHQ/cli/internal/cli" @@ -146,7 +146,7 @@ func GetMonitorCreateCmd() *cli.Command { Hidden: true, HideHelp: true, HideHelpCommand: true, - Description: "Create the monitors defined in the openstatus.yaml file", + Description: "Create the monitors defined in the openstatus.yaml file", UsageText: `openstatus monitors create openstatus monitors create --config custom.yaml -y`, diff --git a/internal/monitors/monitor_delete.go b/internal/monitors/monitor_delete.go index da2c01e..a8042a3 100644 --- a/internal/monitors/monitor_delete.go +++ b/internal/monitors/monitor_delete.go @@ -6,8 +6,8 @@ import ( "net/http" "os" - monitorv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/monitor/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/monitor/v1/monitorv1connect" + monitorv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/monitor/v1" "github.com/openstatusHQ/cli/internal/auth" output "github.com/openstatusHQ/cli/internal/cli" "github.com/urfave/cli/v3" diff --git a/internal/monitors/monitor_import.go b/internal/monitors/monitor_import.go index d1a4909..a7d8c74 100644 --- a/internal/monitors/monitor_import.go +++ b/internal/monitors/monitor_import.go @@ -8,8 +8,8 @@ import ( "os" "strconv" - monitorv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/monitor/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/monitor/v1/monitorv1connect" + monitorv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/monitor/v1" "github.com/openstatusHQ/cli/internal/auth" output "github.com/openstatusHQ/cli/internal/cli" "github.com/openstatusHQ/cli/internal/config" @@ -276,8 +276,8 @@ func ExportMonitorWithHTTPClient(ctx context.Context, httpClient *http.Client, a func GetMonitorImportCmd() *cli.Command { monitorImportCmd := cli.Command{ - Name: "import", - Usage: "Import all your monitors", + Name: "import", + Usage: "Import all your monitors", UsageText: `openstatus monitors import openstatus monitors import --output monitors.yaml`, Description: "Import all your monitors from your workspace to a YAML file; it will also create a lock file to manage your monitors with 'apply'.", diff --git a/internal/monitors/monitor_import_test.go b/internal/monitors/monitor_import_test.go index 00c8f47..7398c29 100644 --- a/internal/monitors/monitor_import_test.go +++ b/internal/monitors/monitor_import_test.go @@ -42,7 +42,7 @@ func Test_ExportMonitor(t *testing.T) { defer os.Remove("openstatus.lock") outputFile.Close() - err = monitors.ExportMonitorWithHTTPClient(context.Background(), interceptor.GetHTTPClient(),"test-api-key", outputFile.Name()) + err = monitors.ExportMonitorWithHTTPClient(context.Background(), interceptor.GetHTTPClient(), "test-api-key", outputFile.Name()) if err != nil { t.Fatalf("Expected no error, got %v", err) } @@ -81,7 +81,7 @@ func Test_ExportMonitor(t *testing.T) { defer os.Remove("openstatus.lock") outputFile.Close() - err = monitors.ExportMonitorWithHTTPClient(context.Background(), interceptor.GetHTTPClient(),"test-api-key", outputFile.Name()) + err = monitors.ExportMonitorWithHTTPClient(context.Background(), interceptor.GetHTTPClient(), "test-api-key", outputFile.Name()) if err != nil { t.Fatalf("Expected no error, got %v", err) } @@ -103,7 +103,7 @@ func Test_ExportMonitor(t *testing.T) { }, } - err := monitors.ExportMonitorWithHTTPClient(context.Background(), interceptor.GetHTTPClient(),"invalid-key", "output.yaml") + err := monitors.ExportMonitorWithHTTPClient(context.Background(), interceptor.GetHTTPClient(), "invalid-key", "output.yaml") if err == nil { t.Error("Expected error for non-200 status, got nil") } @@ -133,7 +133,7 @@ func Test_ExportMonitor(t *testing.T) { defer os.Remove("openstatus.lock") outputFile.Close() - err = monitors.ExportMonitorWithHTTPClient(context.Background(), interceptor.GetHTTPClient(),"test-api-key", outputFile.Name()) + err = monitors.ExportMonitorWithHTTPClient(context.Background(), interceptor.GetHTTPClient(), "test-api-key", outputFile.Name()) if err != nil { t.Fatalf("Expected no error, got %v", err) } diff --git a/internal/monitors/monitor_info_test.go b/internal/monitors/monitor_info_test.go index ee76edb..abfa73e 100644 --- a/internal/monitors/monitor_info_test.go +++ b/internal/monitors/monitor_info_test.go @@ -196,4 +196,3 @@ func Test_getMonitorInfo(t *testing.T) { } }) } - diff --git a/internal/monitors/monitor_log_info.go b/internal/monitors/monitor_log_info.go index 5b76185..e469462 100644 --- a/internal/monitors/monitor_log_info.go +++ b/internal/monitors/monitor_log_info.go @@ -9,8 +9,8 @@ import ( "sort" "strings" - monitorv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/monitor/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/monitor/v1/monitorv1connect" + monitorv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/monitor/v1" "github.com/fatih/color" "github.com/logrusorgru/aurora/v4" "github.com/openstatusHQ/cli/internal/auth" diff --git a/internal/monitors/monitor_logs.go b/internal/monitors/monitor_logs.go index e21dc98..de874ce 100644 --- a/internal/monitors/monitor_logs.go +++ b/internal/monitors/monitor_logs.go @@ -7,8 +7,8 @@ import ( "os" "time" - monitorv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/monitor/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/monitor/v1/monitorv1connect" + monitorv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/monitor/v1" "github.com/fatih/color" "github.com/openstatusHQ/cli/internal/auth" output "github.com/openstatusHQ/cli/internal/cli" diff --git a/internal/monitors/monitor_trigger.go b/internal/monitors/monitor_trigger.go index 3ee9f8d..d411d5b 100644 --- a/internal/monitors/monitor_trigger.go +++ b/internal/monitors/monitor_trigger.go @@ -6,8 +6,8 @@ import ( "net/http" "os" - monitorv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/monitor/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/monitor/v1/monitorv1connect" + monitorv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/monitor/v1" "github.com/openstatusHQ/cli/internal/auth" output "github.com/openstatusHQ/cli/internal/cli" "github.com/urfave/cli/v3" @@ -46,8 +46,8 @@ func TriggerMonitorWithHTTPClient(ctx context.Context, httpClient *http.Client, func GetMonitorsTriggerCmd() *cli.Command { monitorsCmd := cli.Command{ - Name: "trigger", - Usage: "Trigger a monitor execution", + Name: "trigger", + Usage: "Trigger a monitor execution", UsageText: `openstatus monitors trigger openstatus monitors trigger 12345`, Description: "Trigger a monitor execution on demand. This command allows you to launch your tests on demand.", diff --git a/internal/monitors/monitor_update.go b/internal/monitors/monitor_update.go index f788095..9d700e6 100644 --- a/internal/monitors/monitor_update.go +++ b/internal/monitors/monitor_update.go @@ -6,8 +6,8 @@ import ( "net/http" "strconv" - monitorv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/monitor/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/monitor/v1/monitorv1connect" + monitorv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/monitor/v1" "github.com/openstatusHQ/cli/internal/config" ) diff --git a/internal/monitors/monitors.go b/internal/monitors/monitors.go index db678b1..c498e58 100644 --- a/internal/monitors/monitors.go +++ b/internal/monitors/monitors.go @@ -6,8 +6,8 @@ import ( "net/http" "strings" - monitorv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/monitor/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/monitor/v1/monitorv1connect" + monitorv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/monitor/v1" "connectrpc.com/connect" "github.com/openstatusHQ/cli/internal/api" "github.com/openstatusHQ/cli/internal/config" @@ -533,9 +533,9 @@ type TCPRunResult struct { func MonitorsCmd() *cli.Command { monitorsCmd := cli.Command{ - Name: "monitors", - Usage: "Manage your monitors", - Aliases: []string{"m"}, + Name: "monitors", + Usage: "Manage your monitors", + Aliases: []string{"m"}, Commands: []*cli.Command{ GetMonitorsApplyCmd(), GetMonitorCreateCmd(), diff --git a/internal/monitors/monitors_list.go b/internal/monitors/monitors_list.go index f0d75e8..37d3edd 100644 --- a/internal/monitors/monitors_list.go +++ b/internal/monitors/monitors_list.go @@ -5,11 +5,11 @@ import ( "fmt" "net/http" - monitorv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/monitor/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/monitor/v1/monitorv1connect" + monitorv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/monitor/v1" + "github.com/fatih/color" "github.com/openstatusHQ/cli/internal/auth" output "github.com/openstatusHQ/cli/internal/cli" - "github.com/fatih/color" "github.com/rodaine/table" "github.com/urfave/cli/v3" ) diff --git a/internal/statuspage/statuspage.go b/internal/statuspage/statuspage.go index 35c9e47..aa8dc30 100644 --- a/internal/statuspage/statuspage.go +++ b/internal/statuspage/statuspage.go @@ -3,8 +3,8 @@ package statuspage import ( "net/http" - status_pagev1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/status_page/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/status_page/v1/status_pagev1connect" + status_pagev1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/status_page/v1" "connectrpc.com/connect" "github.com/openstatusHQ/cli/internal/api" "github.com/urfave/cli/v3" diff --git a/internal/statuspage/statuspage_info.go b/internal/statuspage/statuspage_info.go index f14dbb9..8eb1b8e 100644 --- a/internal/statuspage/statuspage_info.go +++ b/internal/statuspage/statuspage_info.go @@ -9,8 +9,8 @@ import ( "strconv" "strings" - status_pagev1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/status_page/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/status_page/v1/status_pagev1connect" + status_pagev1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/status_page/v1" "github.com/fatih/color" "github.com/logrusorgru/aurora/v4" "github.com/olekukonko/tablewriter" diff --git a/internal/statuspage/statuspage_list.go b/internal/statuspage/statuspage_list.go index 6e996a0..0b50893 100644 --- a/internal/statuspage/statuspage_list.go +++ b/internal/statuspage/statuspage_list.go @@ -6,8 +6,8 @@ import ( "net/http" "strings" - status_pagev1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/status_page/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/status_page/v1/status_pagev1connect" + status_pagev1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/status_page/v1" "github.com/fatih/color" "github.com/openstatusHQ/cli/internal/auth" output "github.com/openstatusHQ/cli/internal/cli" diff --git a/internal/statusreport/statusreport.go b/internal/statusreport/statusreport.go index 25b2baf..6b51a7c 100644 --- a/internal/statusreport/statusreport.go +++ b/internal/statusreport/statusreport.go @@ -4,8 +4,8 @@ import ( "fmt" "net/http" - status_reportv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/status_report/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/status_report/v1/status_reportv1connect" + status_reportv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/status_report/v1" "connectrpc.com/connect" "github.com/fatih/color" "github.com/openstatusHQ/cli/internal/api" diff --git a/internal/statusreport/statusreport_add_update.go b/internal/statusreport/statusreport_add_update.go index 3209f72..eecad66 100644 --- a/internal/statusreport/statusreport_add_update.go +++ b/internal/statusreport/statusreport_add_update.go @@ -8,8 +8,8 @@ import ( "strings" "time" - status_reportv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/status_report/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/status_report/v1/status_reportv1connect" + status_reportv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/status_report/v1" "github.com/openstatusHQ/cli/internal/auth" output "github.com/openstatusHQ/cli/internal/cli" "github.com/urfave/cli/v3" diff --git a/internal/statusreport/statusreport_add_update_test.go b/internal/statusreport/statusreport_add_update_test.go index 57e03ef..7806072 100644 --- a/internal/statusreport/statusreport_add_update_test.go +++ b/internal/statusreport/statusreport_add_update_test.go @@ -30,7 +30,7 @@ func Test_AddStatusReportUpdate(t *testing.T) { } err := statusreport.AddStatusReportUpdateWithHTTPClient( - context.Background(), interceptor.GetHTTPClient(),"test-token", + context.Background(), interceptor.GetHTTPClient(), "test-token", "1", "identified", "Root cause found", "2026-03-20T10:30:00Z", false, ) if err != nil { @@ -55,7 +55,7 @@ func Test_AddStatusReportUpdate(t *testing.T) { } err := statusreport.AddStatusReportUpdateWithHTTPClient( - context.Background(), interceptor.GetHTTPClient(),"test-token", + context.Background(), interceptor.GetHTTPClient(), "test-token", "1", "resolved", "Issue resolved", "", true, ) if err != nil { @@ -76,7 +76,7 @@ func Test_AddStatusReportUpdate(t *testing.T) { } err := statusreport.AddStatusReportUpdateWithHTTPClient( - context.Background(), interceptor.GetHTTPClient(),"test-token", + context.Background(), interceptor.GetHTTPClient(), "test-token", "1", "invalid", "Message", "", false, ) if err == nil { @@ -97,7 +97,7 @@ func Test_AddStatusReportUpdate(t *testing.T) { } err := statusreport.AddStatusReportUpdateWithHTTPClient( - context.Background(), interceptor.GetHTTPClient(),"test-token", + context.Background(), interceptor.GetHTTPClient(), "test-token", "", "investigating", "Message", "", false, ) if err == nil { @@ -122,7 +122,7 @@ func Test_AddStatusReportUpdate(t *testing.T) { } err := statusreport.AddStatusReportUpdateWithHTTPClient( - context.Background(), interceptor.GetHTTPClient(),"test-token", + context.Background(), interceptor.GetHTTPClient(), "test-token", "999", "investigating", "Message", "", false, ) if err == nil { diff --git a/internal/statusreport/statusreport_create.go b/internal/statusreport/statusreport_create.go index 473b6c7..ee85fe2 100644 --- a/internal/statusreport/statusreport_create.go +++ b/internal/statusreport/statusreport_create.go @@ -7,8 +7,8 @@ import ( "strings" "time" - status_reportv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/status_report/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/status_report/v1/status_reportv1connect" + status_reportv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/status_report/v1" "github.com/openstatusHQ/cli/internal/auth" output "github.com/openstatusHQ/cli/internal/cli" "github.com/urfave/cli/v3" diff --git a/internal/statusreport/statusreport_create_test.go b/internal/statusreport/statusreport_create_test.go index 88c1c8e..2dcf008 100644 --- a/internal/statusreport/statusreport_create_test.go +++ b/internal/statusreport/statusreport_create_test.go @@ -33,7 +33,7 @@ func Test_CreateStatusReport(t *testing.T) { } id, err := statusreport.CreateStatusReportWithHTTPClient( - context.Background(), interceptor.GetHTTPClient(),"test-token", + context.Background(), interceptor.GetHTTPClient(), "test-token", "API Outage", "investigating", "Investigating the issue", "2026-03-20T10:00:00Z", "page-1", nil, false, ) @@ -62,7 +62,7 @@ func Test_CreateStatusReport(t *testing.T) { } id, err := statusreport.CreateStatusReportWithHTTPClient( - context.Background(), interceptor.GetHTTPClient(),"test-token", + context.Background(), interceptor.GetHTTPClient(), "test-token", "DB Issue", "investigating", "Looking into DB issues", "2026-03-20T10:00:00Z", "page-1", []string{"c1", "c2"}, true, ) @@ -87,7 +87,7 @@ func Test_CreateStatusReport(t *testing.T) { } _, err := statusreport.CreateStatusReportWithHTTPClient( - context.Background(), interceptor.GetHTTPClient(),"test-token", + context.Background(), interceptor.GetHTTPClient(), "test-token", "Title", "invalid-status", "Message", "2026-03-20T10:00:00Z", "page-1", nil, false, ) @@ -113,7 +113,7 @@ func Test_CreateStatusReport(t *testing.T) { } _, err := statusreport.CreateStatusReportWithHTTPClient( - context.Background(), interceptor.GetHTTPClient(),"test-token", + context.Background(), interceptor.GetHTTPClient(), "test-token", "Title", "investigating", "Message", "2026-03-20T10:00:00Z", "page-1", nil, false, ) diff --git a/internal/statusreport/statusreport_delete.go b/internal/statusreport/statusreport_delete.go index 830a476..f63e34c 100644 --- a/internal/statusreport/statusreport_delete.go +++ b/internal/statusreport/statusreport_delete.go @@ -6,8 +6,8 @@ import ( "net/http" "os" - status_reportv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/status_report/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/status_report/v1/status_reportv1connect" + status_reportv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/status_report/v1" "github.com/openstatusHQ/cli/internal/auth" output "github.com/openstatusHQ/cli/internal/cli" "github.com/urfave/cli/v3" @@ -38,8 +38,8 @@ func DeleteStatusReportWithHTTPClient(ctx context.Context, httpClient *http.Clie func GetStatusReportDeleteCmd() *cli.Command { return &cli.Command{ - Name: "delete", - Usage: "Delete a status report", + Name: "delete", + Usage: "Delete a status report", UsageText: `openstatus status-report delete openstatus status-report delete 12345 -y`, Flags: []cli.Flag{ diff --git a/internal/statusreport/statusreport_delete_test.go b/internal/statusreport/statusreport_delete_test.go index ca0c1f2..5165eee 100644 --- a/internal/statusreport/statusreport_delete_test.go +++ b/internal/statusreport/statusreport_delete_test.go @@ -25,7 +25,7 @@ func Test_DeleteStatusReport(t *testing.T) { }, } - err := statusreport.DeleteStatusReportWithHTTPClient(context.Background(), interceptor.GetHTTPClient(),"test-token", "") + err := statusreport.DeleteStatusReportWithHTTPClient(context.Background(), interceptor.GetHTTPClient(), "test-token", "") if err == nil { t.Error("Expected error for empty report ID, got nil") } @@ -56,7 +56,7 @@ func Test_DeleteStatusReport(t *testing.T) { }, } - err := statusreport.DeleteStatusReportWithHTTPClient(context.Background(), interceptor.GetHTTPClient(),"test-token", "123") + err := statusreport.DeleteStatusReportWithHTTPClient(context.Background(), interceptor.GetHTTPClient(), "test-token", "123") if err != nil { t.Errorf("Expected no error, got %v", err) } @@ -78,7 +78,7 @@ func Test_DeleteStatusReport(t *testing.T) { }, } - err := statusreport.DeleteStatusReportWithHTTPClient(context.Background(), interceptor.GetHTTPClient(),"test-token", "999") + err := statusreport.DeleteStatusReportWithHTTPClient(context.Background(), interceptor.GetHTTPClient(), "test-token", "999") if err == nil { t.Error("Expected error for not found, got nil") } diff --git a/internal/statusreport/statusreport_info.go b/internal/statusreport/statusreport_info.go index 0c255c9..451130a 100644 --- a/internal/statusreport/statusreport_info.go +++ b/internal/statusreport/statusreport_info.go @@ -7,14 +7,14 @@ import ( "os" "strings" - status_reportv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/status_report/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/status_report/v1/status_reportv1connect" - "github.com/openstatusHQ/cli/internal/auth" - output "github.com/openstatusHQ/cli/internal/cli" + status_reportv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/status_report/v1" "github.com/logrusorgru/aurora/v4" "github.com/olekukonko/tablewriter" "github.com/olekukonko/tablewriter/renderer" "github.com/olekukonko/tablewriter/tw" + "github.com/openstatusHQ/cli/internal/auth" + output "github.com/openstatusHQ/cli/internal/cli" "github.com/urfave/cli/v3" ) diff --git a/internal/statusreport/statusreport_info_test.go b/internal/statusreport/statusreport_info_test.go index 9b1a5ee..2016fc9 100644 --- a/internal/statusreport/statusreport_info_test.go +++ b/internal/statusreport/statusreport_info_test.go @@ -29,7 +29,7 @@ func Test_GetStatusReportInfo(t *testing.T) { }, } - err := statusreport.GetStatusReportInfoWithHTTPClient(context.Background(), interceptor.GetHTTPClient(),"test-token", "1") + err := statusreport.GetStatusReportInfoWithHTTPClient(context.Background(), interceptor.GetHTTPClient(), "test-token", "1") if err != nil { t.Errorf("Expected no error, got %v", err) } @@ -51,7 +51,7 @@ func Test_GetStatusReportInfo(t *testing.T) { }, } - err := statusreport.GetStatusReportInfoWithHTTPClient(context.Background(), interceptor.GetHTTPClient(),"test-token", "2") + err := statusreport.GetStatusReportInfoWithHTTPClient(context.Background(), interceptor.GetHTTPClient(), "test-token", "2") if err != nil { t.Errorf("Expected no error, got %v", err) } @@ -69,7 +69,7 @@ func Test_GetStatusReportInfo(t *testing.T) { }, } - err := statusreport.GetStatusReportInfoWithHTTPClient(context.Background(), interceptor.GetHTTPClient(),"test-token", "") + err := statusreport.GetStatusReportInfoWithHTTPClient(context.Background(), interceptor.GetHTTPClient(), "test-token", "") if err == nil { t.Error("Expected error for empty report ID, got nil") } @@ -94,7 +94,7 @@ func Test_GetStatusReportInfo(t *testing.T) { }, } - err := statusreport.GetStatusReportInfoWithHTTPClient(context.Background(), interceptor.GetHTTPClient(),"test-token", "999") + err := statusreport.GetStatusReportInfoWithHTTPClient(context.Background(), interceptor.GetHTTPClient(), "test-token", "999") if err == nil { t.Error("Expected error, got nil") } diff --git a/internal/statusreport/statusreport_list.go b/internal/statusreport/statusreport_list.go index 089b427..6316f1a 100644 --- a/internal/statusreport/statusreport_list.go +++ b/internal/statusreport/statusreport_list.go @@ -5,11 +5,11 @@ import ( "fmt" "net/http" - status_reportv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/status_report/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/status_report/v1/status_reportv1connect" + status_reportv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/status_report/v1" + "github.com/fatih/color" "github.com/openstatusHQ/cli/internal/auth" output "github.com/openstatusHQ/cli/internal/cli" - "github.com/fatih/color" "github.com/rodaine/table" "github.com/urfave/cli/v3" ) diff --git a/internal/statusreport/statusreport_list_test.go b/internal/statusreport/statusreport_list_test.go index 021de86..c542479 100644 --- a/internal/statusreport/statusreport_list_test.go +++ b/internal/statusreport/statusreport_list_test.go @@ -36,7 +36,7 @@ func Test_ListStatusReports(t *testing.T) { t.Cleanup(func() { log.SetOutput(os.Stdout) }) - err := statusreport.ListStatusReportsWithHTTPClient(context.Background(), interceptor.GetHTTPClient(),"test-token", "", 0) + err := statusreport.ListStatusReportsWithHTTPClient(context.Background(), interceptor.GetHTTPClient(), "test-token", "", 0) if err != nil { t.Errorf("Expected no error, got %v", err) } @@ -58,7 +58,7 @@ func Test_ListStatusReports(t *testing.T) { }, } - err := statusreport.ListStatusReportsWithHTTPClient(context.Background(), interceptor.GetHTTPClient(),"test-token", "", 0) + err := statusreport.ListStatusReportsWithHTTPClient(context.Background(), interceptor.GetHTTPClient(), "test-token", "", 0) if err != nil { t.Errorf("Expected no error, got %v", err) } @@ -80,7 +80,7 @@ func Test_ListStatusReports(t *testing.T) { }, } - err := statusreport.ListStatusReportsWithHTTPClient(context.Background(), interceptor.GetHTTPClient(),"test-token", "investigating", 0) + err := statusreport.ListStatusReportsWithHTTPClient(context.Background(), interceptor.GetHTTPClient(), "test-token", "investigating", 0) if err != nil { t.Errorf("Expected no error, got %v", err) } @@ -98,7 +98,7 @@ func Test_ListStatusReports(t *testing.T) { }, } - err := statusreport.ListStatusReportsWithHTTPClient(context.Background(), interceptor.GetHTTPClient(),"test-token", "invalid", 0) + err := statusreport.ListStatusReportsWithHTTPClient(context.Background(), interceptor.GetHTTPClient(), "test-token", "invalid", 0) if err == nil { t.Error("Expected error for invalid status, got nil") } @@ -120,7 +120,7 @@ func Test_ListStatusReports(t *testing.T) { }, } - err := statusreport.ListStatusReportsWithHTTPClient(context.Background(), interceptor.GetHTTPClient(),"test-token", "", 0) + err := statusreport.ListStatusReportsWithHTTPClient(context.Background(), interceptor.GetHTTPClient(), "test-token", "", 0) if err == nil { t.Error("Expected error, got nil") } diff --git a/internal/statusreport/statusreport_update.go b/internal/statusreport/statusreport_update.go index 8385bc7..1104c42 100644 --- a/internal/statusreport/statusreport_update.go +++ b/internal/statusreport/statusreport_update.go @@ -7,8 +7,8 @@ import ( "os" "strings" - status_reportv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/status_report/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/status_report/v1/status_reportv1connect" + status_reportv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/status_report/v1" "github.com/openstatusHQ/cli/internal/auth" output "github.com/openstatusHQ/cli/internal/cli" "github.com/urfave/cli/v3" diff --git a/internal/statusreport/statusreport_update_test.go b/internal/statusreport/statusreport_update_test.go index 4606f6b..f9dc2e0 100644 --- a/internal/statusreport/statusreport_update_test.go +++ b/internal/statusreport/statusreport_update_test.go @@ -30,7 +30,7 @@ func Test_UpdateStatusReport(t *testing.T) { } err := statusreport.UpdateStatusReportWithHTTPClient( - context.Background(), interceptor.GetHTTPClient(),"test-token", + context.Background(), interceptor.GetHTTPClient(), "test-token", "1", "New Title", nil, true, false, ) if err != nil { @@ -55,7 +55,7 @@ func Test_UpdateStatusReport(t *testing.T) { } err := statusreport.UpdateStatusReportWithHTTPClient( - context.Background(), interceptor.GetHTTPClient(),"test-token", + context.Background(), interceptor.GetHTTPClient(), "test-token", "1", "", []string{"c1", "c2"}, false, true, ) if err != nil { @@ -80,7 +80,7 @@ func Test_UpdateStatusReport(t *testing.T) { } err := statusreport.UpdateStatusReportWithHTTPClient( - context.Background(), interceptor.GetHTTPClient(),"test-token", + context.Background(), interceptor.GetHTTPClient(), "test-token", "1", "Updated Title", []string{"c3"}, true, true, ) if err != nil { @@ -101,7 +101,7 @@ func Test_UpdateStatusReport(t *testing.T) { } err := statusreport.UpdateStatusReportWithHTTPClient( - context.Background(), interceptor.GetHTTPClient(),"test-token", + context.Background(), interceptor.GetHTTPClient(), "test-token", "1", "", nil, false, false, ) if err == nil { @@ -125,7 +125,7 @@ func Test_UpdateStatusReport(t *testing.T) { } err := statusreport.UpdateStatusReportWithHTTPClient( - context.Background(), interceptor.GetHTTPClient(),"test-token", + context.Background(), interceptor.GetHTTPClient(), "test-token", "", "Title", nil, true, false, ) if err == nil { diff --git a/internal/statusreport/statusreport_wizard.go b/internal/statusreport/statusreport_wizard.go index bc0af39..3f4c334 100644 --- a/internal/statusreport/statusreport_wizard.go +++ b/internal/statusreport/statusreport_wizard.go @@ -334,4 +334,3 @@ func runAddUpdateWizard(ctx context.Context, apiKey string, prefilled *addUpdate return &inputs, nil } - diff --git a/internal/wizard/statuspage.go b/internal/wizard/statuspage.go index 26bc70f..2b6cecf 100644 --- a/internal/wizard/statuspage.go +++ b/internal/wizard/statuspage.go @@ -3,8 +3,8 @@ package wizard import ( "context" - status_pagev1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/status_page/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/status_page/v1/status_pagev1connect" + status_pagev1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/status_page/v1" "connectrpc.com/connect" "github.com/openstatusHQ/cli/internal/api" output "github.com/openstatusHQ/cli/internal/cli" diff --git a/plan.md b/plan.md index 64ed65a..2305074 100644 --- a/plan.md +++ b/plan.md @@ -522,19 +522,18 @@ This is the largest phase. Land in one commit (per Q7) but write it incrementall - [x] `go test ./internal/terraform/...` (no tag) still green and does NOT invoke terraform. - [x] Manually verified: `go test -tags=smoke ./internal/terraform/` passes locally. -### Phase 8 — Version + docs (commit 8: `chore: bump cli to v1.1.0 and regenerate docs`) +### Phase 8 — Version + docs (commit 8: `chore: bump cli to v1.1.0 and regenerate docs`) ✅ -- [ ] `internal/cmd/app.go` — change `Version: "v1.0.5"` → `Version: "v1.1.0"`. -- [ ] From repo root: `go run cmd/docs/docs.go` (updates `docs/openstatus-docs.md`). -- [ ] `cd docs && pandoc -s -t man openstatus-docs.md -o openstatus.1` (updates the manpage). -- [ ] `git diff docs/` — sanity-check that the `--force` flag and updated terraform-generate help text show up in both files. -- [ ] Stage both regenerated files plus `internal/cmd/app.go`. -- [ ] `go build ./... && go test ./...` green one last time. +- [x] `internal/cmd/app.go` — change `Version: "v1.0.5"` → `Version: "v1.1.0"`. Also updated `internal/cmd/app_test.go` to match. +- [x] From repo root: `go run cmd/docs/docs.go` (updates `docs/openstatus-docs.md`). +- [x] `cd docs && pandoc -s -t man openstatus-docs.md -o openstatus.1` (updates the manpage). +- [x] Verified that `--force` flag entry appears in both `openstatus-docs.md` and `openstatus.1`. +- [x] `go build ./... && go vet ./... && go test ./...` all green. -### Phase 9 — Submit +### Phase 9 — Submit ✅ -- [ ] Push the branch. -- [ ] Open PR. Title suggestion: `terraform generate: sync with provider v0.2 (open_telemetry, ms_teams, ip access, theme/locales, --force)`. +- [x] Push the branch. _(Pushed `feat/tf-generate-sync-v0.2` to origin via `jj git push --bookmark feat/tf-generate-sync-v0.2 --allow-new`.)_ +- [ ] Open PR. Title suggestion: `terraform generate: sync with provider v0.2 (open_telemetry, ms_teams, ip access, theme/locales, --force)`. _(Author to open — GitHub provided: https://github.com/openstatusHQ/cli/pull/new/feat/tf-generate-sync-v0.2)_ - [ ] PR description: bullet list of user-visible changes; include "Closes #…" if upstream has tracking issues; call out the two correctness fixes (webhook headers, IP access type) since they affect real users. - [ ] Watch CI; address review feedback. - [ ] Merge strategy is the author's call (repo allows squash, merge, rebase).