Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 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
5 changes: 5 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ jobs:
with:
go-version-file: 'go.mod'

- name: Install package_cloud gem
run: sudo gem install package_cloud --no-doc

- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v6
with:
Expand All @@ -37,3 +40,5 @@ jobs:
AWS_ACCESS_KEY_ID: ${{ secrets.ORG_AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.ORG_AWS_SECRET_ACCESS_KEY }}
AWS_REGION: us-east-1
# PackageCloud credentials for publishing Linux packages
PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }}
22 changes: 19 additions & 3 deletions .goreleaser.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@ nfpms:
formats:
- deb
- rpm
- apk
Copy link
Copy Markdown
Member Author

@nathanjcochran nathanjcochran Sep 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Packagecloud does not appear to accept Alpine packages. I therefore decided to just stop building them for now, as we have no good story for how to install them. Also, Alpine is not a very common distro outside of docker images (to my knowledge).

bindir: /usr/bin
priority: extra
file_name_template: "{{ .ConventionalFileName }}"
Expand Down Expand Up @@ -93,7 +92,7 @@ blobs:
region: us-east-1
directory: "install"
extra_files_only: true
disable: '{{ ne .Prerelease "" }}' # Skip this step for pre-releases
disable: '{{ ne .Prerelease "" }}' # Skip this step for prereleases
extra_files:
- glob: ./latest.txt
name_template: "latest.txt"
Expand All @@ -114,7 +113,7 @@ homebrew_casks:
Command-line interface for managing TigerData Cloud Platform resources
binary: tiger
license: Apache-2.0
skip_upload: auto
skip_upload: auto # Skips prerelease builds
url:
template: "https://tiger-cli-releases.s3.us-east-1.amazonaws.com/releases/{{ .Tag }}/{{ .ArtifactName }}"
hooks:
Expand Down Expand Up @@ -146,6 +145,23 @@ changelog:
- "^specs:"
# TODO: Other files that should be ignored

# PackageCloud publisher for Linux packages
publishers:
# Upload all Linux packages (deb, rpm) to PackageCloud
- name: packagecloud
disable: '{{ ne .Prerelease "" }}' # Skip this step for prereleases
ids:
- packages # Only publish nfpms packages (Linux packages)
cmd: >-
package_cloud push timescale/tiger-cli/{{-
if contains .ArtifactPath ".deb" -}}
any/any
{{- else if contains .ArtifactPath ".rpm" -}}
rpm_any/rpm_any
{{- end }} {{ .ArtifactPath }}
env:
- PACKAGECLOUD_TOKEN={{ .Env.PACKAGECLOUD_TOKEN }}

# Release configuration
release:
github:
Expand Down
22 changes: 13 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,18 +46,22 @@ brew install timescale/tap/tiger-cli
go install github.com/timescale/tiger-cli/cmd/tiger@latest
```

### Direct binary download
Copy link
Copy Markdown
Member Author

@nathanjcochran nathanjcochran Sep 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I decided to remove the "Direct binary download" section, as macOS binaries installed via this method will currently be quarantined and prevented from opening via Gatekeeper.

If/when we have code signing and notarization sorted out (see #11), we can consider bringing this option back. But I'd rather not encourage users to do it if it won't work on all operating systems.

### Debian/Ubuntu
```bash
curl -LO https://github.com/timescale/tiger-cli/releases/latest/download/tiger-cli_$(uname -s)_$(uname -m).tar.gz
tar -xzf tiger-cli_$(uname -s)_$(uname -m).tar.gz
chmod +x tiger
mkdir -p ~/.local/bin && mv tiger ~/.local/bin/
# Add repository
curl -s https://packagecloud.io/install/repositories/timescale/tiger-cli/script.deb.sh | sudo bash

# Install tiger-cli
sudo apt-get install tiger-cli
```

### Debian/Ubuntu package
### Red Hat/CentOS/Fedora
```bash
curl -LO https://github.com/timescale/tiger-cli/releases/latest/download/tiger-cli_linux_$(dpkg --print-architecture).deb
sudo dpkg -i tiger-cli_linux_$(dpkg --print-architecture).deb
# Add repository
curl -s https://packagecloud.io/install/repositories/timescale/tiger-cli/script.rpm.sh | sudo bash

# Install tiger-cli
sudo yum install tiger-cli
```

## Usage
Expand Down Expand Up @@ -155,7 +159,7 @@ go test ./internal/tiger/cmd -v -run Integration
#### What Integration Tests Cover

- **Authentication lifecycle**: Login with credentials, verify authentication, logout
- **Service management**: Create, list, describe, and delete database services
- **Service management**: Create, list, describe, and delete database services
- **Password management**: Update service passwords with keychain storage
- **Database connectivity**: Generate connection strings and execute psql commands
- **Output formats**: Validate JSON, YAML, and table output formats
Expand Down