Skip to content
Draft
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
1 change: 0 additions & 1 deletion api/k8sconsts/odiglet.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ const (

OdigletLocalTrafficServiceName = "odiglet-local"
OdigletMetricsServerPort = 8080
OdigletWaspServicePort = 4040

// CSI Driver identification
OdigletCSIDriverName = "odigos.csi.driver"
Expand Down
2 changes: 2 additions & 0 deletions common/odigos_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -651,7 +651,7 @@
ClusterName string `json:"clusterName,omitempty" yaml:"clusterName"`
MountMethod *MountMethod `json:"mountMethod,omitempty" yaml:"mountMethod"`
//nolint:lll // CustomContainerRuntimeSocketPath line is long due to struct tag requirements
CustomContainerRuntimeSocketPath string `json:"customContainerRuntimeSocketPath,omitempty" yaml:"customContainerRuntimeSocketPath"`

Check failure on line 654 in common/odigos_config.go

View workflow job for this annotation

GitHub Actions / lint (common)

File is not properly formatted (gofmt)
AgentEnvVarsInjectionMethod *EnvInjectionMethod `json:"agentEnvVarsInjectionMethod,omitempty" yaml:"agentEnvVarsInjectionMethod"`
UserInstrumentationEnvs *UserInstrumentationEnvs `json:"userInstrumentationEnvs,omitempty" yaml:"userInstrumentationEnvs"`
NodeSelector map[string]string `json:"nodeSelector,omitempty" yaml:"nodeSelector"`
Expand All @@ -667,6 +667,8 @@
ClickhouseJsonTypeEnabledProperty *bool `json:"clickhouseJsonTypeEnabled,omitempty"`
CheckDeviceHealthBeforeInjection *bool `json:"checkDeviceHealthBeforeInjection,omitempty"`
ResourceSizePreset string `json:"resourceSizePreset,omitempty" yaml:"resourceSizePreset"`
// Currently not exposed in the UI or helm chart since we use wasp automatically when required
// based on probing the underlying kernel in odiglet.
WaspEnabled *bool `json:"waspEnabled,omitempty" yaml:"waspEnabled"`
MetricsSources *MetricsSourceConfiguration `json:"metricsSources,omitempty" yaml:"metricsSources"`
TraceCorrelations *TraceCorrelationsConfiguration `json:"traceCorrelations,omitempty" yaml:"traceCorrelations"`
Expand Down
5 changes: 0 additions & 5 deletions config/data/instrumentation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,3 @@ spec:
description: Verify the virtual device health before injecting instrumentation into a pod.
helmValuePath: instrumentor.checkDeviceHealthBeforeInjection
renderCondition: ["instrumentor.mountMethod", "==", "k8s-virtual-device"]
- displayName: Wasp Enabled
componentType: toggle
isHelmOnly: false
description: Enable Wasp-based instrumentation.
helmValuePath: wasp.enabled
4 changes: 0 additions & 4 deletions distros/distro/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@ func IsRestartRequired(d *OtelDistro, config *common.OdigosConfiguration) bool {
if d.RuntimeAgent == nil {
return false
}
// currently if wasp is enabled and supported by the distribution, restart is required
if config.WaspEnabled != nil && *config.WaspEnabled && d.RuntimeAgent.WaspSupported {
return true
}
return !d.RuntimeAgent.NoRestartRequired
}

Expand Down
3 changes: 1 addition & 2 deletions docs/snippets/shared/setup/verifying-images.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,6 @@ artifact is signed from lives in
| Component images (`odigos-*`) | `^https://github\.com/odigos-io/odigos/\.github/workflows/publish-modules\.yml@refs/tags/v.*$` |
| CLI image + `odigos-victoria-metrics` | `^https://github\.com/odigos-io/odigos/\.github/workflows/release\.yml@refs/heads/main$` |
| Enterprise images (`odigos-enterprise-*`) | `^https://github\.com/odigos-io/odigos-enterprise/\.github/workflows/release-images\.yml@refs/(tags/.*\|heads/.*)$` |
| `wasp-init` | `^https://github\.com/odigos-io/ebpf-core/\.github/workflows/build-sender\.yml@refs/(heads/main\|heads/releases/.*\|tags/.*)$` |
| `odigos-cli-offsets` | `^https://github\.com/odigos-io/enterprise-go-instrumentation/\.github/workflows/offsets-push\.yml@refs/heads/.*$` |
| `odigos-vmagent-instrumentations` | `^https://github\.com/odigos-io/vm-agent/\.github/workflows/publish-agents\.yml@refs/(heads/.*\|tags/agents/.*)$` |

Expand Down Expand Up @@ -130,7 +129,7 @@ version listed in [`SIGNING.md`](https://github.com/odigos-io/ci-core/blob/main/
`odigos-enterprise-connector-runtime`, `odigos-enterprise-connector-aws`,
`odigos-enterprise-connector-azure`, `odigos-enterprise-connector-gcp` — `odiglet`
and `agents` also publish `-extended` variants (separate digests, same identity)
- **Supporting images**: `wasp-init`, `odigos-cli-offsets`, and
- **Supporting images**: `odigos-cli-offsets`, and
`odigos-vmagent-instrumentations` (signed for publishes after 2026-08-12)

## Air-gapped verification
Expand Down
5 changes: 0 additions & 5 deletions frontend/graph/configs.graphqls
Original file line number Diff line number Diff line change
Expand Up @@ -329,10 +329,6 @@ input LocalUiConfigAllowConcurrentAgentsInput {
enabled: Boolean
}

input LocalUiConfigWaspInput {
enabled: Boolean
}

input LocalUiConfigSpanSamplingAttributesInput {
disabled: Boolean
samplingCategoryDisabled: Boolean
Expand Down Expand Up @@ -377,7 +373,6 @@ input LocalUiConfigInput {
clusterName: String
instrumentor: LocalUiConfigInstrumentorInput
allowConcurrentAgents: LocalUiConfigAllowConcurrentAgentsInput
wasp: LocalUiConfigWaspInput
rollout: LocalUiConfigRolloutInput
autoRollback: LocalUiConfigAutoRollbackInput
goAutoOffsetsCron: String
Expand Down
45 changes: 1 addition & 44 deletions frontend/graph/generated.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 0 additions & 5 deletions frontend/graph/model/models_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 0 additions & 5 deletions frontend/services/local_ui_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -137,11 +137,6 @@ func applyLocalUiConfigInput(cfg *common.OdigosConfiguration, input model.LocalU
cfg.AllowConcurrentAgents = input.AllowConcurrentAgents.Enabled
}
}
if input.Wasp != nil {
if input.Wasp.Enabled != nil {
cfg.WaspEnabled = input.Wasp.Enabled
}
}
if input.Rollout != nil {
if cfg.Rollout == nil {
cfg.Rollout = &common.RolloutConfiguration{}
Expand Down
5 changes: 0 additions & 5 deletions frontend/webapp/cypress/e2e/settings.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,6 @@ describe('Settings CRUD', () => {
selectDropdownOption('instrumentor.agentEnvVarsInjectionMethod', 'pod-manifest');
clickToggle('allowConcurrentAgents.enabled');
clickToggle('instrumentor.checkDeviceHealthBeforeInjection');
clickToggle('wasp.enabled');

// ─ Rollout & Rollback ─
clickToggle('rollout.automaticRolloutDisabled');
Expand Down Expand Up @@ -264,7 +263,6 @@ describe('Settings CRUD', () => {
expect(yaml).to.contain('agentEnvVarsInjectionMethod: pod-manifest');
expect(yaml).to.contain('allowConcurrentAgents:');
expect(yaml).to.contain('checkDeviceHealthBeforeInjection:');
expect(yaml).to.contain('waspEnabled:');

// ─ Rollout & Rollback (inputs + toggles) ─
expect(yaml).to.contain('automaticRolloutDisabled:');
Expand Down Expand Up @@ -302,7 +300,6 @@ describe('Settings CRUD', () => {
expect(yaml).to.contain('agentEnvVarsInjectionMethod: pod-manifest');
expect(yaml).to.contain('allowConcurrentAgents:');
expect(yaml).to.contain('checkDeviceHealthBeforeInjection:');
expect(yaml).to.contain('waspEnabled:');

// ─ Rollout & Rollback ─
expect(yaml).to.contain('automaticRolloutDisabled:');
Expand Down Expand Up @@ -345,7 +342,6 @@ describe('Settings CRUD', () => {
verifyDropdown('instrumentor.agentEnvVarsInjectionMethod', 'pod-manifest');
verifyToggle('allowConcurrentAgents.enabled', true);
verifyToggle('instrumentor.checkDeviceHealthBeforeInjection', true);
verifyToggle('wasp.enabled', true);

// ─ Rollout & Rollback ─
verifyToggle('rollout.automaticRolloutDisabled', true);
Expand Down Expand Up @@ -415,7 +411,6 @@ describe('Settings CRUD', () => {
expect(yaml).to.not.contain('cypress-test-container');
expect(yaml).to.not.contain('maxConcurrentRollouts: 5');
expect(yaml).to.not.contain('keepPercentage: 50');
expect(yaml).to.not.contain('waspEnabled:');
expect(yaml).to.not.contain('allowConcurrentAgents:');
});
});
Expand Down
9 changes: 6 additions & 3 deletions helm/odigos/templates/odiglet/daemonset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -169,9 +169,6 @@ spec:
{{- if .Values.odiglet.traceIdSuffix }}
- --trace-id-suffix={{ .Values.odiglet.traceIdSuffix }}
{{- end }}
{{- if .Values.wasp.enabled }}
- --wasp-enabled
{{- end }}
command:
- /root/odiglet
imagePullPolicy: IfNotPresent
Expand Down Expand Up @@ -421,6 +418,12 @@ spec:
{{- if and .Values.odiglet.runAsNonRoot (not (eq .Values.instrumentor.mountMethod "k8s-init-container")) }}
{{ fail "odiglet.runAsNonRoot is only supported with instrumentor.mountMethod=k8s-init-container" }}
{{- end }}
# Without the host PID namespace, uprobes cannot be scoped to a single process, so they apply
# to every process sharing the agent files. k8s-init-container gives each pod its own copy,
# which keeps that scope contained to the pod.
{{- if and .Values.odiglet.noHostPid (not (eq .Values.instrumentor.mountMethod "k8s-init-container")) }}
{{ fail "odiglet.noHostPid is only supported with instrumentor.mountMethod=k8s-init-container" }}
{{- end }}
# to use device plugins we need to have the "k8s-virtual-device" mount method or non specified (default)
# and to have hostMounts allowed
{{- if or (eq .Values.instrumentor.mountMethod "") (eq .Values.instrumentor.mountMethod "k8s-virtual-device") }}
Expand Down
3 changes: 0 additions & 3 deletions helm/odigos/templates/odiglet/local-service.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,6 @@ spec:
- name: metrics
port: 8080
targetPort: 8080
- name: wasp
port: 4040
targetPort: 4040
selector:
app.kubernetes.io/name: odiglet
internalTrafficPolicy: Local
Expand Down
3 changes: 0 additions & 3 deletions helm/odigos/templates/odigos-configuration-cm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -295,9 +295,6 @@ data:
{{- if .Values.allowConcurrentAgents.enabled }}
allowConcurrentAgents: {{ .Values.allowConcurrentAgents.enabled }}
{{- end }}
{{- if .Values.wasp.enabled }}
waspEnabled: {{ .Values.wasp.enabled }}
{{- end }}
{{- if .Values.goAutoOffsetsCron }}
goAutoOffsetsCron: {{ .Values.goAutoOffsetsCron }}
{{- end }}
Expand Down
13 changes: 0 additions & 13 deletions helm/odigos/values.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -2891,19 +2891,6 @@
},
"required": [],
"title": "userInstrumentationEnvs"
},
"wasp": {
"additionalProperties": false,
"description": "controls the wasp settings",
"properties": {
"enabled": {
"default": false,
"title": "enabled",
"type": "boolean"
}
},
"required": [],
"title": "wasp"
}
},
"required": [],
Expand Down
6 changes: 0 additions & 6 deletions helm/odigos/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1711,12 +1711,6 @@ allowConcurrentAgents:
clickhouseDestinationJsonType:
enabled: false

# @schema
# description: controls the wasp settings
# @schema
wasp:
enabled: false

# @schema
# description: |-
# configuration for metrics sources (where odigos collects metrics from)
Expand Down
13 changes: 0 additions & 13 deletions instrumentor/controllers/agentenabled/pods_webhook.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ type PodsWebhook struct {
DistrosGetter *distros.Getter
// decoder is used to decode the admission request's raw object into a structured corev1.Pod.
Decoder admission.Decoder
WaspMutator func(*corev1.Pod, common.OdigosConfiguration) error
}

var _ admission.Handler = &PodsWebhook{}
Expand Down Expand Up @@ -176,7 +175,6 @@ func (p *PodsWebhook) injectOdigos(ctx context.Context, pod *corev1.Pod, req adm
}

volumeMounted := false
waspSupported := false

dirsToCopy := make(map[string]struct{})
for i := range pod.Spec.Containers {
Expand All @@ -203,10 +201,6 @@ func (p *PodsWebhook) injectOdigos(ctx context.Context, pod *corev1.Pod, req adm
return err
}

if distroMetadata.RuntimeAgent != nil && distroMetadata.RuntimeAgent.WaspSupported {
waspSupported = true
}

volumeMounted = volumeMounted || containerVolumeMounted
dirsToCopy = mergeMaps(dirsToCopy, containerDirsToCopy)
}
Expand All @@ -230,13 +224,6 @@ func (p *PodsWebhook) injectOdigos(ctx context.Context, pod *corev1.Pod, req adm
podswebhook.MountPodVolumeToCSI(pod)
}

if odigosConfiguration.WaspEnabled != nil && *odigosConfiguration.WaspEnabled && waspSupported && p.WaspMutator != nil {
err = p.WaspMutator(pod, odigosConfiguration)
if err != nil {
return fmt.Errorf("failed to do wasp mutation: %w", err)
}
}

// Inject ODIGOS environment variables and instrumentation device into all containers
injectErr := p.injectOdigosInstrumentation(ctx, pod, &ic, pw, &odigosConfiguration)
if injectErr != nil {
Expand Down
3 changes: 0 additions & 3 deletions instrumentor/controllers/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import (

"github.com/go-logr/logr"

"github.com/odigos-io/odigos/common"
"github.com/odigos-io/odigos/distros"
"github.com/odigos-io/odigos/instrumentor/controllers/agentenabled"
"github.com/odigos-io/odigos/instrumentor/controllers/instrumentednodes"
Expand Down Expand Up @@ -199,7 +198,6 @@ func SetupWithManager(ctx context.Context, mgr manager.Manager, dp *distros.Prov

type WebhookConfig struct {
DistrosProvider *distros.Provider
WaspMutator func(*corev1.Pod, common.OdigosConfiguration) error
}

func RegisterWebhooks(mgr manager.Manager, config WebhookConfig) error {
Expand All @@ -222,7 +220,6 @@ func RegisterWebhooks(mgr manager.Manager, config WebhookConfig) error {
Client: mgr.GetClient(),
DistrosGetter: config.DistrosProvider.Getter,
Decoder: decoder,
WaspMutator: config.WaspMutator,
}

// Register directly with GetWebhookServer() since this webhook uses admission.Handler for full control.
Expand Down
Loading
Loading