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
2 changes: 1 addition & 1 deletion .github/workflows/stackpacks-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@ jobs:
uses: StackVista/image-pipeline/.github/actions/scan-image@f7e766e074b516bb754891a240e6ab2df1e60e4c
with:
image: ${{ steps.local-image.outputs.ref }}
mode: gate
mode: inform
severity: UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL
with-grype: true
upload-sarif: false
Expand Down
21 changes: 10 additions & 11 deletions stackpacks/open-telemetry/resources/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,21 @@

You can click on `Install` to install the Open Telemetry StackPack. Then follow the instructions here and in [the documentation](https://l.stackstate.com/open-telemetry-setup) to finish the Open Telemetry setup.

When installing or upgrading the SUSE Observability Agent with Helm, enable Open Telemetry support with:
The SUSE Observability Agent's Open Telemetry components are disabled by default. To receive traces and metrics pushed over OTLP from application SDKs, enable the agent's telemetry gateway when installing or upgrading the agent with Helm:

```bash
--set otel=true
```

On Rancher-managed clusters, set:

```bash
--set otel.integrations.rancherAgent=true
```yaml
otel:
enabled: true
telemetryGateway:
enabled: true
```

or

```bash
--set otel.integrations.rancherAgent=false
--set otel.enabled=true --set otel.telemetryGateway.enabled=true
```

Set `otel.integrations.rancherAgent=true` on Rancher-managed clusters to enrich emitted logs with Rancher Manager URL and Harvester cluster ID metadata. Keep it `false` on non-Rancher clusters (default).
Then point your SDKs at the telemetry gateway service, as described in the [telemetry gateway documentation](https://documentation.suse.com/cloudnative/suse-observability/latest/en/setup/otel/telemetry-gateway.html).

On Rancher-managed clusters, also set `--set otel.integrations.rancherAgent=true` to enrich emitted logs with Rancher Manager URL and Harvester cluster ID metadata. Keep the default, `false`, on non-Rancher clusters.
16 changes: 4 additions & 12 deletions stackpacks/open-telemetry/resources/enabled.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,15 @@

Instrument one or more applications with Open Telemetry SDKs to generate traces and metrics and install and configure the Open Telemetry collector to send data to SUSE Observability. See the [SUSE Observability Open Telemetry documentation](https://l.stackstate.com/open-telemetry-setup).

If you install or upgrade the SUSE Observability Agent with Helm, make sure Open Telemetry support is enabled:
To send SDK telemetry through the SUSE Observability Agent, enable its telemetry gateway when installing or upgrading the agent with Helm. The agent's Open Telemetry components are disabled by default:

```bash
--set otel=true
--set otel.enabled=true --set otel.telemetryGateway.enabled=true
```

On Rancher-managed clusters, set:
Then point your SDKs at the telemetry gateway service, as described in the [telemetry gateway documentation](https://documentation.suse.com/cloudnative/suse-observability/latest/en/setup/otel/telemetry-gateway.html).

```bash
--set otel.integrations.rancherAgent=true
```

On non-Rancher clusters, keep the default:

```bash
--set otel.integrations.rancherAgent=false
```
On Rancher-managed clusters, also set `--set otel.integrations.rancherAgent=true`. Keep the default, `false`, on non-Rancher clusters.

To send data to SUSE Observability a service token is needed.

Expand Down
2 changes: 1 addition & 1 deletion stackpacks/open-telemetry/stackpack.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: "open-telemetry"
version: "0.1.4"
version: "0.1.5"
schemaVersion: "2.0"
displayName: "Open Telemetry"
categories: [ "Open Telemetry" ]
Expand Down
31 changes: 21 additions & 10 deletions stackpacks/otel-k8s-crd/resources/configuration.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,30 @@
## Prerequisites

- SUSE Observability Agent installed with StackPacks 2.0 support enabled
- The k8s resource collector enabled in the agent
- SUSE Observability Agent installed with Helm
- Network connectivity from the agent to the platform OTLP ingest endpoint

## Minimal Configuration
## Enable the k8s resource collector

The k8s resource collector is enabled by default when StackPacks 2.0 support is enabled. Configure which Custom Resource API groups are collected with `otel.k8sResourceCollector.crDiscovery.apiGroups`:
The k8s resource collector is part of the agent's OpenTelemetry components, which are disabled by default. Enable them with `otel.enabled`; the collector itself is enabled by default once OpenTelemetry is on:

```yaml
global:
features:
experimentalStackpacks: true
otel:
enabled: true
```

Or, when installing or upgrading the agent with Helm:

```bash
--set otel.enabled=true
```

## Select Custom Resource API groups

CRDs are always collected. Custom Resource instances are only collected for selected API groups. Enabled integration presets add common SUSE-related API groups, such as Kubewarden, SUSE Runtime Enforcer and SUSE Virtualization. Add more with `otel.k8sResourceCollector.crDiscovery.apiGroups.include`:

```yaml
otel:
enabled: true
k8sResourceCollector:
crDiscovery:
discoveryMode: api_groups
Expand All @@ -25,8 +36,8 @@ otel:
"internal.example.com": true
```

The chart does not collect every CR API group by default. Enabled integration presets add common SUSE-related API groups, and you can add more with `crDiscovery.apiGroups.include`. Set `discoveryMode: all` to collect CRs for every CRD API group. CRDs themselves are always collected; `apiGroups` controls which Custom Resource instances are collected.
Set an included API group to `false` to disable an integration-provided default. Set `discoveryMode: all` to collect CRs for every CRD API group; `apiGroups` filters are then ignored.

When `rbac.useWildcard: false`, the same truthy `crDiscovery.apiGroups.include` entries are also used for restricted RBAC. Kubernetes RBAC only supports exact API groups or `"*"`, so wildcard patterns like `"*.example.com"` require `rbac.useWildcard: true`.
When `otel.k8sResourceCollector.rbac.useWildcard: false`, the truthy `crDiscovery.apiGroups.include` entries are also used for restricted RBAC. Kubernetes RBAC only supports exact API groups or `"*"`, so wildcard patterns like `"*.example.com"` require `rbac.useWildcard: true`.

For the full configuration guide, see the SUSE Observability documentation for the k8s resource collector.
For the full configuration guide, see the [k8s resource collector documentation](https://documentation.suse.com/cloudnative/suse-observability/latest/en/setup/otel/k8s-resource-collector.html).
33 changes: 33 additions & 0 deletions stackpacks/otel-k8s-crd/resources/enabled.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,36 @@
### What's next

Explore the discovered Custom Resources and their relationships in SUSE Observability.

### No data

Make sure the k8s resource collector is enabled in the SUSE Observability Agent. It is part of the agent's OpenTelemetry components, which are disabled by default:

```yaml
otel:
enabled: true
```

Or, when installing or upgrading the agent with Helm:

```bash
--set otel.enabled=true
```

CRDs are always collected. Custom Resource instances are only collected for selected API groups. Add more with `otel.k8sResourceCollector.crDiscovery.apiGroups.include`, or set `discoveryMode: all` to collect CRs for every CRD API group:

```yaml
otel:
enabled: true
k8sResourceCollector:
crDiscovery:
discoveryMode: api_groups
apiGroups:
include:
"policies.kubewarden.io": true
"kubevirt.io": true
```

When `otel.k8sResourceCollector.rbac.useWildcard: false`, the truthy `crDiscovery.apiGroups.include` entries are also used for restricted RBAC. Kubernetes RBAC only supports exact API groups or `"*"`, so wildcard patterns like `"*.example.com"` require `rbac.useWildcard: true`.

For the full configuration guide, see the [k8s resource collector documentation](https://documentation.suse.com/cloudnative/suse-observability/latest/en/setup/otel/k8s-resource-collector.html).
2 changes: 1 addition & 1 deletion stackpacks/otel-k8s-crd/stackpack.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: "otel-k8s-crd"
version: "0.0.8"
version: "0.0.9"
schemaVersion: "2.0"
displayName: "Kubernetes Custom Resources"
categories: [ "Kubernetes" ]
Expand Down
Loading