### Install Oackctl CLI Source: https://context7.com/oack-io/oackctl/llms.txt Instructions for installing the Oackctl CLI on macOS and Linux systems using Homebrew or a shell installation script. ```bash brew tap oack-io/tap brew install oackctl ``` ```bash # Install latest version curl -sSfL "https://raw.githubusercontent.com/oack-io/oackctl/refs/heads/main/install-oackctl.sh" | bash # Install specific version curl -sSfL "https://raw.githubusercontent.com/oack-io/oackctl/refs/heads/main/install-oackctl.sh" | bash -s -- --version 0.3.2 # Install to custom directory curl -sSfL "https://raw.githubusercontent.com/oack-io/oackctl/refs/heads/main/install-oackctl.sh" | bash -s -- --dir ~/.local/bin ``` -------------------------------- ### Create and configure monitors with alerts Source: https://github.com/oack-io/oackctl/blob/main/SKILL.md Demonstrates how to programmatically create a health monitor and link it to a Slack alert channel using shell scripting and jq for JSON parsing. ```bash TEAM=$(oackctl teams list --json | jq -r '.[0].id') oackctl monitors create --team $TEAM \ --name "Production API" \ --url https://api.example.com/health \ --interval 60000 \ --failure-threshold 3 # Create a Slack channel and link it oackctl alert-channels create --team $TEAM \ --type slack --name "Ops Slack" \ --config '{"webhook_url":"https://hooks.slack.com/..."}' CH=$(oackctl alert-channels list --team $TEAM --json | jq -r '.[0].id') MON=$(oackctl monitors list --team $TEAM --json | jq -r '.[0].id') oackctl monitor-channels add $CH --team $TEAM --monitor $MON ``` -------------------------------- ### Manual Shell Completion Setup Source: https://github.com/oack-io/oackctl/blob/main/README.md Commands to manually generate and install completion scripts for Bash, Zsh, and Fish shells. These scripts enable command-line auto-completion for oackctl subcommands and flags. ```bash # Bash oackctl completion bash > ~/.bash_completion.d/oackctl echo 'source ~/.bash_completion.d/oackctl' >> ~/.bashrc # Zsh oackctl completion zsh > ~/.zsh/completions/_oackctl echo 'fpath=(~/.zsh/completions $fpath)' >> ~/.zshrc # Fish oackctl completion fish > ~/.config/fish/completions/oackctl.fish ``` -------------------------------- ### Investigate downtime and monitor health Source: https://github.com/oack-io/oackctl/blob/main/SKILL.md Commands to retrieve metrics, probe details, and alert history for specific monitors to diagnose performance issues. ```bash TEAM= MON= # Check health and metrics oackctl monitors get $MON --team $TEAM oackctl monitors metrics $MON --team $TEAM # View recent probes oackctl probes list --team $TEAM --monitor $MON --limit 10 # Get detailed probe info (geo, CF enrichment, performance percentiles) PROBE=$(oackctl probes list --team $TEAM --monitor $MON --limit 1 --json | jq -r '.[0].id') oackctl probes details $PROBE --team $TEAM --monitor $MON # Check timeline for correlated events oackctl timeline list --team $TEAM --monitor $MON # View alert history oackctl alerts list --team $TEAM --monitor $MON ``` -------------------------------- ### Bulk pause monitors Source: https://github.com/oack-io/oackctl/blob/main/SKILL.md Iterates through all monitors in a team and pauses them individually. ```bash TEAM= for id in $(oackctl monitors list --team $TEAM --json | jq -r '.[].id'); do oackctl monitors pause "$id" --team $TEAM done ``` -------------------------------- ### Error response format Source: https://github.com/oack-io/oackctl/blob/main/SKILL.md Example of the JSON error output returned by the CLI when an operation fails. ```json {"error": "monitor not found", "code": 4} ``` -------------------------------- ### Manage status page incidents Source: https://github.com/oack-io/oackctl/blob/main/SKILL.md Workflow for creating, updating, and resolving incidents on a status page. Requires account and page identifiers. ```bash ACCT= PAGE= # Create an incident oackctl status-pages create-incident --account $ACCT --page $PAGE \ --name "API degradation" --severity major --message "Investigating high latency" # Post an update INC=$(oackctl status-pages list-incidents --account $ACCT --page $PAGE --json | jq -r '.[0].id') oackctl status-pages post-incident-update $INC --account $ACCT --page $PAGE \ --status identified --message "Root cause identified, fix in progress" # Resolve oackctl status-pages update-incident $INC --account $ACCT --page $PAGE --status resolved ``` -------------------------------- ### Create Monitor with Alert Channel Source: https://context7.com/oack-io/oackctl/llms.txt Automate the creation of a monitor and link it to a Slack alert channel using JSON parsing with jq. ```bash # Get team ID TEAM=$(oackctl teams list --json | jq -r '.[0].id') # Create monitor oackctl monitors create --team $TEAM \ --name "Production API" \ --url https://api.example.com/health \ --interval 60000 \ --failure-threshold 3 # Create Slack alert channel oackctl alert-channels create --team $TEAM \ --type slack \ --name "Ops Slack" \ --config '{"webhook_url":"https://hooks.slack.com/services/T00/B00/XXX"}' # Link channel to monitor CH=$(oackctl alert-channels list --team $TEAM --json | jq -r '.[0].id') MON=$(oackctl monitors list --team $TEAM --json | jq -r '.[0].id') oackctl monitor-channels add $CH --team $TEAM --monitor $MON ``` -------------------------------- ### Manage User Preferences Source: https://context7.com/oack-io/oackctl/llms.txt Retrieve and update user-specific display settings. ```bash # Get current preferences oackctl preferences get # Set preferences oackctl preferences set --time-format 24h --theme dark ``` -------------------------------- ### Manage Notifications and Overrides Source: https://context7.com/oack-io/oackctl/llms.txt Commands to configure account-level default notification channels and apply monitor-specific overrides. ```bash oackctl notifications defaults --account oackctl notifications set-defaults --account --channel-ids , oackctl notifications copy-channels --from-account --to-account oackctl notifications monitor-override --team --monitor oackctl notifications set-monitor-override --team --monitor --channel-ids , oackctl notifications remove-monitor-override --team --monitor ``` -------------------------------- ### Configure PagerDuty Integration Source: https://context7.com/oack-io/oackctl/llms.txt Manage PagerDuty integration settings for incident management. ```bash # Create PagerDuty integration oackctl pagerduty create --account --api-key # Get integration status oackctl pagerduty get --account # Update integration oackctl pagerduty update --account --api-key # Force sync oackctl pagerduty sync --account # Delete integration oackctl pagerduty delete --account ``` -------------------------------- ### Configure Cloudflare Zone Integrations Source: https://context7.com/oack-io/oackctl/llms.txt Manage Cloudflare zone connections for enhanced monitoring. ```bash # Create CF integration oackctl cf-integrations create --account --zone-id --api-token # List integrations oackctl cf-integrations list --account # Get integration details oackctl cf-integrations get --account # Update integration oackctl cf-integrations update --account --api-token # Delete integration oackctl cf-integrations delete --account ``` -------------------------------- ### Manage Monitor Shares Source: https://context7.com/oack-io/oackctl/llms.txt Create, list, and revoke shareable links for monitors. Supports public and authenticated modes with optional expiration. ```bash # Create public share oackctl shares create --team --monitor --mode public # Create authenticated share with expiration oackctl shares create --team --monitor --mode authenticated --expires-at "2024-12-31T23:59:59Z" # List shares oackctl shares list --team --monitor # Revoke share oackctl shares revoke --team --monitor ``` -------------------------------- ### Manage Mobile Push Devices Source: https://context7.com/oack-io/oackctl/llms.txt Register and manage mobile devices for receiving push notifications. ```bash # Register device oackctl devices register --token --platform ios # List registered devices oackctl devices list # Unregister device oackctl devices unregister ``` -------------------------------- ### Retrieve Monitor Metrics and Expiration Data Source: https://context7.com/oack-io/oackctl/llms.txt Commands to fetch uptime statistics and SSL/domain expiration information for specific monitors. ```bash oackctl monitors metrics --team oackctl monitors expiration --team ``` -------------------------------- ### Manage Teams and Members Source: https://context7.com/oack-io/oackctl/llms.txt Commands for creating, listing, and updating teams, as well as managing team membership roles and invitations. ```bash # List all teams oackctl teams list # Create a new team oackctl teams create --name "Production" # Add a member to team oackctl members add --team --user --role member # List pending invites oackctl invites list --team ``` -------------------------------- ### Configure Alert Channels Source: https://context7.com/oack-io/oackctl/llms.txt Commands to manage notification destinations including Slack, email, and custom webhooks. Allows for creation, updates, testing, and deletion of channels. ```bash oackctl alert-channels list --team oackctl alert-channels create --team --type slack --name "Ops Slack" --config '{"webhook_url":"https://hooks.slack.com/services/T00/B00/XXX"}' oackctl alert-channels create --team --type email --name "On-Call Email" --config '{"email":"oncall@example.com"}' oackctl alert-channels create --team --type webhook --name "Custom Webhook" --config '{"url":"https://example.com/webhook","method":"POST"}' oackctl alert-channels update --team --name "Updated Channel Name" --enabled true oackctl alert-channels test --team oackctl alert-channels delete --team ``` -------------------------------- ### Configure Uptime Monitors Source: https://context7.com/oack-io/oackctl/llms.txt Operations for creating, updating, and controlling the lifecycle of uptime monitors, including advanced HTTP and SSL health check configurations. ```bash # Create a basic HTTP monitor oackctl monitors create --team \ --name "Production API" \ --url "https://api.example.com/health" \ --interval 60000 # Update monitor URL and interval oackctl monitors update --team \ --url "https://api.example.com/v2/health" \ --interval 120000 # Pause monitoring oackctl monitors pause --team ``` -------------------------------- ### Analyze Probe Details and Performance Source: https://context7.com/oack-io/oackctl/llms.txt Advanced commands for deep-dive probe analysis, including geo-data, performance aggregation, and packet capture downloads. ```bash oackctl probes details --team --monitor oackctl probes aggregate --team --monitor --from 1699000000 --to 1699100000 --step 3600 --agg avg oackctl probes pcap --team --monitor -o capture.pcap ``` -------------------------------- ### Control Output Format Source: https://github.com/oack-io/oackctl/blob/main/README.md Demonstrates how to toggle between the default table output and machine-readable JSON output for oackctl commands. ```bash # Table output (default) oackctl teams list # JSON output oackctl teams list --json ``` -------------------------------- ### Manage Telegram Integration Source: https://context7.com/oack-io/oackctl/llms.txt Link Telegram chats to teams for notification delivery. ```bash # Create link session oackctl telegram create-link --team # Check link status oackctl telegram link-status --team ``` -------------------------------- ### Investigate Monitor Downtime Source: https://context7.com/oack-io/oackctl/llms.txt Workflow for diagnosing monitor failures by checking metrics, recent probes, and alert history. ```bash TEAM= MON= # Check health and metrics oackctl monitors get $MON --team $TEAM oackctl monitors metrics $MON --team $TEAM # View recent probes oackctl probes list --team $TEAM --monitor $MON --limit 10 # Get detailed probe info PROBE=$(oackctl probes list --team $TEAM --monitor $MON --limit 1 --json | jq -r '.[0].id') oackctl probes details $PROBE --team $TEAM --monitor $MON # Check timeline oackctl timeline list --team $TEAM --monitor $MON # View alert history oackctl alerts list --team $TEAM --monitor $MON ``` -------------------------------- ### Capture Network Traces Source: https://context7.com/oack-io/oackctl/llms.txt List existing network traces or request new ones for debugging purposes. ```bash # List traces oackctl traces list --team --monitor # Request new trace oackctl traces request --team --monitor ``` -------------------------------- ### View Monitor Timeline Source: https://context7.com/oack-io/oackctl/llms.txt Retrieve chronological events for a monitor, with support for time-based filtering and event categorization. ```bash # List timeline events oackctl timeline list --team --monitor # List with filters oackctl timeline list --team --monitor --from 1699000000 --to 1699100000 --kinds "alert,deployment,comment" ``` -------------------------------- ### Manage Monitor Lifecycle and Testing Source: https://context7.com/oack-io/oackctl/llms.txt Commands to duplicate, move, delete, and test monitors. These operations require a monitor ID and team ID to ensure proper scoping. ```bash oackctl monitors duplicate --team oackctl monitors move --team --target-team oackctl monitors delete --team oackctl monitors test-alert --team ``` -------------------------------- ### Authenticate with Oackctl Source: https://context7.com/oack-io/oackctl/llms.txt Methods for authenticating with the Oack platform using interactive device flow or static environment-based tokens for CI/CD. ```bash # Login to default server oackctl login # Login to custom server oackctl login --server-url https://api.oack.io # Verify authentication oackctl whoami # Logout oackctl logout ``` ```bash # Set static token export TT_TOKEN= export TT_SERVER_URL=https://api.oack.io # All commands will use the token oackctl teams list ``` -------------------------------- ### Perform Administrative Operations with oackctl Source: https://context7.com/oack-io/oackctl/llms.txt Execute platform administration tasks such as listing users, managing account plans, and viewing audit logs. These commands require administrative privileges. ```bash # List all users/accounts (admin) oackctl admin list # Get admin details oackctl admin get # Set account plan oackctl admin set-plan --plan enterprise # Set account status oackctl admin set-status --status active # Force delete oackctl admin force-delete # View audit log oackctl admin audit-log ``` -------------------------------- ### Manage Team API Keys Source: https://context7.com/oack-io/oackctl/llms.txt Perform CRUD operations on team API keys for programmatic access. ```bash # List API keys (shows prefix only) oackctl api-keys list --team # Create API key (full key shown once) oackctl api-keys create --team --name "CI/CD Pipeline" # Delete API key oackctl api-keys delete --team ``` -------------------------------- ### Link Monitors to Alert Channels Source: https://context7.com/oack-io/oackctl/llms.txt Commands to associate or dissociate alert channels with specific monitors to control notification routing. ```bash oackctl monitor-channels list --team --monitor oackctl monitor-channels add --team --monitor oackctl monitor-channels set --team --monitor --channel , oackctl monitor-channels remove --team --monitor ``` -------------------------------- ### Perform Bulk Monitor Operations Source: https://context7.com/oack-io/oackctl/llms.txt Iterate through all monitors in a team to perform bulk actions like pausing or unpausing. ```bash TEAM= # Pause all monitors for id in $(oackctl monitors list --team $TEAM --json | jq -r '.[].id'); do oackctl monitors pause "$id" --team $TEAM done # Unpause all monitors for id in $(oackctl monitors list --team $TEAM --json | jq -r '.[].id'); do oackctl monitors unpause "$id" --team $TEAM done ``` -------------------------------- ### List and Query Probe Results Source: https://context7.com/oack-io/oackctl/llms.txt Commands to retrieve and filter individual check results (probes) from monitors. Supports time-range filtering and status-based queries. ```bash oackctl probes list --team --monitor --limit 10 oackctl probes list --team --monitor --from 1699000000 --to 1699100000 oackctl probes list --team --monitor --status down oackctl probes get --team --monitor ``` -------------------------------- ### Configure Shell Tab Completion for oackctl Source: https://context7.com/oack-io/oackctl/llms.txt Enable command, subcommand, and flag auto-completion for Bash, Zsh, and Fish shells to improve CLI usability. ```bash # Bash oackctl completion bash > /etc/bash_completion.d/oackctl # Or for current user: oackctl completion bash > ~/.bash_completion.d/oackctl echo 'source ~/.bash_completion.d/oackctl' >> ~/.bashrc # Zsh oackctl completion zsh > "${fpath[1]}/_oackctl" # Or custom location: oackctl completion zsh > ~/.zsh/completions/_oackctl echo 'fpath=(~/.zsh/completions $fpath)' >> ~/.zshrc # Fish oackctl completion fish > ~/.config/fish/completions/oackctl.fish ``` -------------------------------- ### Manage Distributed Checkers Source: https://context7.com/oack-io/oackctl/llms.txt Configure, assign, and monitor distributed checker nodes. ```bash # List checkers oackctl checkers list # Get checker details oackctl checkers get # Rename checker oackctl checkers rename --name "US-East-1" # View checker assignments oackctl checkers assignments # Assign checker to teams oackctl checkers set-teams --teams , # Revoke checker access oackctl checkers revoke # Disconnect checker oackctl checkers disconnect # Set redirect oackctl checkers redirect --target # Clear redirect oackctl checkers clear-redirect # Delete checker oackctl checkers delete ``` -------------------------------- ### Access Cloudflare Logs Source: https://context7.com/oack-io/oackctl/llms.txt Retrieve and filter Cloudflare logs for specific probes or monitors. ```bash # Get CF log for specific probe oackctl cf-logs get --team --monitor # List CF logs oackctl cf-logs list --team --monitor # List with filters oackctl cf-logs list --team --monitor --from 1699000000 --to 1699100000 --limit 50 ``` -------------------------------- ### List Geographic Regions Source: https://context7.com/oack-io/oackctl/llms.txt Retrieve a list of available checker regions and countries. ```bash oackctl geo regions ``` -------------------------------- ### Manage Status Page Incidents Source: https://context7.com/oack-io/oackctl/llms.txt Automate the incident lifecycle including creation, updating status, and resolving incidents on a status page. ```bash ACCT= PAGE= # Create incident oackctl status-pages create-incident --account $ACCT --page $PAGE \ --name "API degradation" \ --severity major \ --message "Investigating high latency" # Get incident ID INC=$(oackctl status-pages list-incidents --account $ACCT --page $PAGE --json | jq -r '.[0].id') # Post update oackctl status-pages post-incident-update $INC --account $ACCT --page $PAGE \ --status identified \ --message "Root cause identified, fix in progress" # Resolve incident oackctl status-pages update-incident $INC --account $ACCT --page $PAGE --status resolved ``` -------------------------------- ### Configure Zsh Shell Completion Source: https://github.com/oack-io/oackctl/blob/main/README.md Instructions for enabling tab completion in Zsh. This ensures the shell recognizes oackctl commands by adding the Homebrew site-functions path to the FPATH variable. ```bash # ~/.zshrc if type brew &>/dev/null; then FPATH=$(brew --prefix)/share/zsh/site-functions:$FPATH autoload -Uz compinit compinit fi ``` -------------------------------- ### Manage Chart Events Source: https://context7.com/oack-io/oackctl/llms.txt Deletes a specific event associated with a chart within a team context. ```bash oackctl chart-events delete --team ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.