Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 100 additions & 0 deletions _partials/_devops-cli-get-started.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
import RESTPrereqs from "versionContent/_partials/_prereqs-cloud-account-only.mdx";
import CLIINSTALL from "versionContent/_partials/_devops-cli-install.mdx";
import CLIREF from "versionContent/_partials/_devops-cli-reference.mdx";

$CLI_LONG is a command-line interface that you use to manage $CLOUD_LONG resources
including VPCs, services, read replicas, and related infrastructure. $CLI_LONG calls $REST_LONG to communicate with
$CLOUD_LONG.

This page shows you how to install and set up secure authentication for $CLI_LONG, then create your first
service.

## Prerequisites

<RESTPrereqs />


## Install and configure $CLI_LONG

<Procedure>

<CLIINSTALL />

</Procedure>


## Create your first $SERVICE_LONG

Create a new $SERVICE_LONG using $CLI_LONG:

<Procedure>

1. **Submit a $SERVICE_SHORT creation request**

By default, $CLI_LONG creates a $SERVICE_SHORT for you that matches your [pricing plan][pricing-plans]:
* **Free plan**: shared CPU/memory and the `time-series` and `ai` capabilities
* **Paid plan**: 0.5 CPU and 2 GB memory with the `time-series` capability
```shell
tiger service create
```
$CLOUD_LONG creates a Development environment for you. That is, no delete protection, high-availability, spooling or
read replication. You see something like:
```terminaloutput
🚀 Creating service 'db-11111' (auto-generated name)...
✅ Service creation request accepted!
📋 Service ID: tgrservice
🔐 Password saved to system keyring for automatic authentication
🎯 Set service 'tgrservice' as default service.
⏳ Waiting for service to be ready (wait timeout: 30m0s)...
🎉 Service is ready and running!
🔌 Run 'tiger db connect' to connect to your new service
┌───────────────────┬──────────────────────────────────────────────────────────────────────────────────────────────────┐
│ PROPERTY │ VALUE │
├───────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Service ID │ tgrservice │
│ Name │ db-11111 │
│ Status │ READY │
│ Type │ TIMESCALEDB │
│ Region │ us-east-1 │
│ CPU │ 0.5 cores (500m) │
│ Memory │ 2 GB │
│ Direct Endpoint │ tgrservice.tgrproject.tsdb.cloud.timescale.com:39004 │
│ Created │ 2025-10-20 20:33:46 UTC │
│ Connection String │ postgresql://[email protected]:0007/tsdb?sslmode=require │
│ Console URL │ https://console.cloud.timescale.com/dashboard/services/tgrservice │
└───────────────────┴──────────────────────────────────────────────────────────────────────────────────────────────────┘
```
This $SERVICE_SHORT is set as default by the $CLI_SHORT.

1. **Check the $CLI_SHORT configuration**
```shell
tiger config show
```
You see something like:
```terminaloutput
api_url: https://console.cloud.timescale.com/public/api/v1
console_url: https://console.cloud.timescale.com
gateway_url: https://console.cloud.timescale.com/api
docs_mcp: true
docs_mcp_url: https://mcp.tigerdata.com/docs
project_id: tgrproject
service_id: tgrservice
output: table
analytics: true
password_storage: keyring
debug: false
config_dir: /Users/<username>/.config/tiger
```

</Procedure>

And that is it, you are ready to use $CLI_LONG to manage your $SERVICE_SHORTs in $CLOUD_LONG.

<CLIREF />

[rest-api-reference]: /api/:currentVersion:/api-reference/
[rest-api-credentials]: https://console.cloud.timescale.com/dashboard/settings
[get-project-id]: /integrations/:currentVersion:/find-connection-details/#find-your-project-and-service-id
[create-client-credentials]: /integrations/:currentVersion:/find-connection-details/#create-client-credentials
[curl]: https://curl.se/
[pricing-plans]: /about/:currentVersion:/pricing-and-account-management/
11 changes: 11 additions & 0 deletions _partials/_devops-cli-global-flags.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@

| Flag | Default | Description |
|-------------------------------|-------------------|-----------------------------------------------------------------------------|
| `--analytics` | `true` | Set to `false` to disable usage analytics |
| `--color ` | `true` | Set to `false` to disable colored output |
| `--config-dir` string | `.config/tiger` | Set the directory that holds `config.yaml` |
| `--debug` | No debugging | Enable debug logging |
| `--help` | - | Print help about the current command. For example, `tiger service --help` |
| `--password-storage` string | keyring | Set the password storage method. Options are `keyring`, `pgpass`, or `none` |
| `--service-id` string | - | Set the $SERVICE_LONG to manage |
| ` --skip-update-check ` | - | Do not check if a new version of $CLI_LONG is available|
117 changes: 117 additions & 0 deletions _partials/_devops-cli-install.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
1. **Install $CLI_LONG**

Use the terminal to install the $CLI_SHORT:
<Tabs label="Install Tiger CLI" persistKey="os">

<Tab title="Debian" label="debian">

```shell
curl -s https://packagecloud.io/install/repositories/timescale/tiger-cli/script.deb.sh | sudo os=any dist=any bash
sudo apt-get install tiger-cli
```

</Tab>

<Tab title="Ubuntu" label="ubuntu">

```shell
curl -s https://packagecloud.io/install/repositories/timescale/tiger-cli/script.deb.sh | sudo os=any dist=any bash
sudo apt-get install tiger-cli
```
</Tab>

<Tab title="Red Hat" label="redhat">

```shell
curl -s https://packagecloud.io/install/repositories/timescale/tiger-cli/script.rpm.sh | sudo os=rpm_any dist=rpm_any bash
sudo yum install tiger-cli
```

</Tab>

<Tab title="Fedora" label="fedora">

```shell
curl -s https://packagecloud.io/install/repositories/timescale/tiger-cli/script.rpm.sh | sudo os=rpm_any dist=rpm_any bash
sudo yum install tiger-cli
```

</Tab>

<Tab title="MacOS" label="macos">

```shell
brew install --cask timescale/tap/tiger-cli
```

</Tab>

<Tab title="x-platform" label="xplatform">

```shell
curl -fsSL https://cli.tigerdata.com | sh
```

</Tab>

</Tabs>

1. **Set up API credentials**

1. Log $CLI_LONG into your $ACCOUNT_LONG:

```shell
tiger auth login
```
$CLI_LONG opens $CONSOLE_SHORT in your browser. Log in, then click `Authorize`.

You can have a maximum of 10 active client credentials. If you get an error, open [credentials][rest-api-credentials]
and delete an unused credential.

1. Select a $PROJECT_LONG:

```terminaloutput
Auth URL is: https://console.cloud.timescale.com/oauth/authorize?client_id=lotsOfURLstuff
Opening browser for authentication...
Select a project:

> 1. Tiger Project (tgrproject)
2. YourCompany (Company wide project) (cpnproject)
3. YourCompany Department (dptproject)

Use ↑/↓ arrows or number keys to navigate, enter to select, q to quit
```
If only one $PROJECT_SHORT is associated with your $ACCOUNT_SHORT, this step is not shown.

Where possible, $CLI_LONG stores your authentication information in the system keychain/credential manager.
If that fails, the credentials are stored in `~/.config/tiger/credentials` with restricted file permissions (600).
By default, $CLI_LONG stores your configuration in `~/.config/tiger/config.yaml`.

1. **Test your authenticated connection to $CLOUD_LONG by listing $SERVICE_SHORTs**

```bash
tiger service list
```

This call returns something like:
- No $SERVICE_SHORTs:
```terminaloutput
🏜️ No services found! Your project is looking a bit empty.
🚀 Ready to get started? Create your first service with: tiger service create
```
- One or more $SERVICE_SHORTs:

```terminaloutput
┌────────────┬─────────────────────┬────────┬─────────────┬──────────────┬──────────────────┐
│ SERVICE ID │ NAME │ STATUS │ TYPE │ REGION │ CREATED │
├────────────┼─────────────────────┼────────┼─────────────┼──────────────┼──────────────────┤
│ tgrservice │ tiger-agent-service │ READY │ TIMESCALEDB │ eu-central-1 │ 2025-09-25 16:09 │
└────────────┴─────────────────────┴────────┴─────────────┴──────────────┴──────────────────┘
```


[rest-api-reference]: /api/:currentVersion:/api-reference/
[rest-api-credentials]: https://console.cloud.timescale.com/dashboard/settings
[get-project-id]: /integrations/:currentVersion:/find-connection-details/#find-your-project-and-service-id
[create-client-credentials]: /integrations/:currentVersion:/find-connection-details/#create-client-credentials
[curl]: https://curl.se/
Loading