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
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -763,7 +763,7 @@ Export is bound at session creation, so it is available on `browsers create` and

#### Telemetry destinations

Destinations are the OTLP/HTTP endpoints sessions export to, managed per project.
Destinations are the OTLP/HTTP endpoints sessions export to. They belong to the organization, so sessions in any project can export to them. Creating, updating, or deleting one requires organization-scoped authentication; a project-scoped API key can list, get, and select destinations but not change them.

- `kernel telemetry destinations list` - List OTLP destinations
- `--page <n>` / `--per-page <n>` - Page number (1-based) and items per page (default 20)
Expand All @@ -772,7 +772,7 @@ Destinations are the OTLP/HTTP endpoints sessions export to, managed per project
- `kernel telemetry destinations get <id-or-name>` - Get an OTLP destination
- `kernel telemetry destinations create --name <name> --endpoint <url>` - Create an OTLP destination
- `--endpoint <url>` - Base OTLP/HTTP endpoint without a signal path: pass `https://api.honeycomb.io`, not `https://api.honeycomb.io/v1/logs` (required)
- `--name <name>` - Destination name, unique within the project (required)
- `--name <name>` - Destination name, unique within the organization (required)
- `--description <text>` - Optional description
- `--header NAME=VALUE` - Header sent with each export request, typically an ingestion key (repeatable). Values are encrypted at rest and always returned redacted, so only header names are shown
- `kernel telemetry destinations update <id-or-name>` - Update an OTLP destination. Sessions already exporting pick up the new values without restarting, which makes this the way to rotate credentials without interrupting export
Expand Down
6 changes: 3 additions & 3 deletions cmd/telemetry_destinations.go
Original file line number Diff line number Diff line change
Expand Up @@ -413,7 +413,7 @@ var telemetryDestinationsGetCmd = &cobra.Command{
var telemetryDestinationsCreateCmd = &cobra.Command{
Use: "create --name <name> --endpoint <url>",
Short: "Create an OTLP destination",
Long: "Create an OTLP export destination. The name must be unique within the project.\n\n" +
Long: "Create an OTLP export destination. The name must be unique within the organization.\n\n" +
"--endpoint takes the collector's base endpoint without a signal path: pass https://api.honeycomb.io " +
"rather than https://api.honeycomb.io/v1/logs, since Kernel appends the signal path itself. " +
"Header values are encrypted at rest and always returned redacted.",
Expand Down Expand Up @@ -451,15 +451,15 @@ func init() {
addJSONOutputFlag(telemetryDestinationsGetCmd)

addJSONOutputFlag(telemetryDestinationsCreateCmd)
telemetryDestinationsCreateCmd.Flags().String("name", "", "Destination name, unique within the project (required)")
telemetryDestinationsCreateCmd.Flags().String("name", "", "Destination name, unique within the organization (required)")
_ = telemetryDestinationsCreateCmd.MarkFlagRequired("name")
telemetryDestinationsCreateCmd.Flags().String("endpoint", "", "Base OTLP/HTTP endpoint of the collector, without a signal path (required)")
_ = telemetryDestinationsCreateCmd.MarkFlagRequired("endpoint")
telemetryDestinationsCreateCmd.Flags().String("description", "", "Optional description of the destination")
telemetryDestinationsCreateCmd.Flags().StringArray("header", nil, "Header sent with each export request as NAME=VALUE, typically an ingestion key (repeatable)")

addJSONOutputFlag(telemetryDestinationsUpdateCmd)
telemetryDestinationsUpdateCmd.Flags().String("name", "", "New destination name, unique within the project")
telemetryDestinationsUpdateCmd.Flags().String("name", "", "New destination name, unique within the organization")
telemetryDestinationsUpdateCmd.Flags().String("endpoint", "", "New base OTLP/HTTP endpoint, without a signal path")
telemetryDestinationsUpdateCmd.Flags().String("description", "", "New description; pass an empty string to clear it")
telemetryDestinationsUpdateCmd.Flags().StringArray("header", nil, "Header to add or replace as NAME=VALUE (repeatable). Other stored headers are left as they are")
Expand Down
Loading