Completed work

tailscale2otel

213 completed tasks.

TSO-0172Comprehensive audit of both Grafana dashboards against the live stackhighchore4/4 ACTSO-0202Baseline PAM sessions older than the log horizon on cold startmediumbug2/2 ACTSO-0201Clamp log catch-up windows to a shared log-acceptance horizonhighbug4/4 ACguardeddata-lossTSO-0176Per-device posture status gauges from postureStatushighfeature5/5 ACTSO-0205Alert on a stale persistent flow-store checkpointlowfeature2/2 ACalertsTSO-0206Export the Go memory limit and alert when heap nears itmediumfeature2/2 ACalertsdashboardsTSO-0203Alert when ingress WAL entries are retired as expiredmediumfeature2/2 ACalertsTSO-0204Alert on sustained per-entity subrequest coverage below 1mediumfeature2/2 ACalertsTSO-0207Replace archived gopkg.in/yaml.v3 with go.yaml.in/yaml/v3lowchore2/2 ACTSO-0198Keep connectivity ratio populations consistent under OS filteringmediumbug2/2 ACTSO-0208Unit-test internal/httpretry and merge the duplicate Retry-After parserlowchore2/2 ACtestTSO-0209Guard tests against runtime.Caller repo-root discoverylowchore1/1 ACtestTSO-0200Stop restart and failover replay from sending log records Loki rejects as too oldhighbug5/5 ACTSO-0199Finish dependency sweep and stable release after external review checks recoverhighchore3/3 ACTSO-0184Emit tailnet ownership on runtime traces before offering tailnet-scoped trace panelsmediumtask4/4 ACneeds-triageTSO-0185Bind the anti-forensics log-read investigation to recorder identity, not a fixed namespacemediumbug3/3 ACneeds-triageTSO-0186Add retained browser evidence for every dashboard tab and selector statemediumtask4/4 ACneeds-triageTSO-0188Document and prove optional single-tailnet profile selector behaviormediumtask3/3 ACneeds-triageTSO-0197.01Freeze the bounded replay-memory design and implementation proof packethighspike4/4 ACTSO-0181Merge redundant current-utilization and overflowing-family dashboard inventorymediumbug4/4 ACneeds-triageTSO-0189Keep device OS pie-chart labels readable at panel snapshot dimensionslowbug3/3 ACneeds-triageTSO-0193Make route-selection dashboard mode display distinguish prior observations from current statelowbug2/2 ACneeds-triageTSO-0194Repair dashboard-generator reference path in deploy instructionslowdocs2/2 ACneeds-triageTSO-0195Harden fleet-summary listing prerequisite regression guardlowtask2/2 ACneeds-triageTSO-0196Distinguish absent cardinality telemetry from unlimited capacity and zero overflowmediumbug3/3 ACneeds-triageTSO-0192Diagnose exporter OOM restarts after availability restorationmediumbug2/2 ACneeds-triageTSO-0183Remove fixed historical cap and live-population claims from cardinality panel descriptionsmediumbug3/3 ACneeds-triageTSO-0182Count distinct metric families rather than reporter series in the family-count tilemediumbug3/3 ACneeds-triageTSO-0178Anchor fleet summary zeros to observed source presencehighbug3/3 ACneeds-triageTSO-0180Make absent runtime summary data visually distinct from healthy process telemetrymediumbug3/3 ACneeds-triageTSO-0175Emit the tailnet route-selection mode and stop regional_routing misreporting the newer modesmediumbug3/3 ACTSO-0179Separate absent exporter telemetry from zero health counters in summary tileshighbug3/3 ACneeds-triageTSO-0191Land the dashboard selector-scope guard from the retained audit candidatehighbug4/4 ACTSO-0190Restore exporter availability when deployed image rejects the configured ingress WAL keyhighbug3/3 ACneeds-triageTSO-0174Move to the tailscale.com/client/tailscale/v2 Go client and repoint the client-lib lanehighchore4/4 ACTSO-0177Make the documented API spec refresh failure-atomiclowdocs2/2 ACneeds-triageTSO-0187Make automatic rule publication explicit in dashboard-only loop authoritymediumtask2/3 ACneeds-triageTSO-0116Adjudicate the clientlib-drift alert that fires while both matrix legs passlowbug5/5 ACTSO-0173Re-vendor the 2026-10 API spec and classify its new enum valueshighchore3/3 ACTSO-0170Scope the node-metrics dashboard tab by tailnet and providerhighbug4/4 ACTSO-0171Fix the README overview log-event count and gate itmediumbug2/2 ACTSO-0169Diagnose and clear the composed gate tsapi process termination after PASShighbug0/3 ACTSO-0168Curate sampled Tailscale Service throughput from node metricsmediumfeature4/4 ACneeds-triageTSO-0163Drop an ingress snapshot after N consecutive permanent 4xx rejections and count the losshighbug6/6 ACTSO-0160Sharded CodeRabbit runner: a shard is clean only when counted findings match the complete event's totalmediumchore4/4 ACTSO-0161Classify a malformed HTTP status line as class other, never by its free-text wordmediumbug3/3 ACTSO-0162Ingress delivery reports retrying when an export attempt hangs past the reader timeoutmediumbug4/4 ACTSO-0164OTLP ACK probe recipe: record what a gateway returns on a successful HTTP exporthighchore3/3 ACTSO-0165Run the OTLP ACK probe against the Grafana Cloud gateway and decide whether the ACK guard is safehighchore2/2 ACTSO-0166Discovery sweep 2: inventory uncollected API surfaces and dead shipped signals to refill the boardmediumspike4/4 ACTSO-0167Make Headscale limiter timeout proof deterministic instead of a 5ms network racehighbug3/3 ACTSO-0159Fix nondeterministic TestIngressWALScheduledCadence_CommitRequiresMetricsAndLogs failure in CIhighbug3/3 ACwalciTSO-0148Decouple ingress WAL completion from metric collection to preserve configured DPMhighbug7/7 ACTSO-0153Sanitize exporter first-failure diagnostics before logging backend responsesmediumbug3/3 ACTSO-0158Wire delivery-health diagnostics so export outage and recovery lines actually logmediumbug3/3 ACtelemetryobservabilityTSO-0157Report CodeRabbit finding counts in the sharded review summary instead of CLEANmediumbug3/3 ACtoolingcoderabbitTSO-0156Correct sharded CodeRabbit recipe examples to positional just argumentslowdocs2/2 ACTSO-0154Raise the Go floor to 1.27.2 so the vulnerability gate passes on a patched toolchainhighchore3/3 ACTSO-0155Restore Go 1.27.2 gate compatibility and clear reachable x/net vulnerabilitieshighchore3/3 ACTSO-0133Review the coordination alert firing history and decide paging, due 2026-09-11lowchore3/3 ACTSO-0152Prune change-detector unit testsUnspecified3/3 ACtestingTSO-0151CI hygiene: reusable Go build cache key and main-only smoke-build cachehighchore2/2 ACTSO-0150Diversify Grafana dashboard visualisationshighfeature5/5 ACTSO-0149Build local WAL throughput and configuration comparison harnessmediumspike4/4 ACTSO-0147Resolve recurring readiness failures and ingress WAL drain backloghighbug3/3 ACTSO-0146Promotion-time ingress WAL replay blacks out the leaderhighbug9/9 ACTSO-0145Audit v5 documentation against shipped features and remove AI prosehighdocs4/4 ACTSO-0144Route receiver and admin traffic by a leader pod label so standbys can be Readyhighfeature5/5 ACTSO-0033Design and ship an HA / multi-replica deployment storymedium3/3 ACDecision-gatedTSO-0142Emit the modeled capability scope preflight metric at runtimemediumbug3/3 ACTSO-0143Give coordinated replicas per-replica persistent state so the lab can run two replicasmediumfeature4/4 ACTSO-0140Give the lab deployment a rollout trigger so it tracks releases instead of a stale main digestmediumchore3/3 ACTSO-0139Expose safe log-stream destination configuration alongside delivery healthmediumfeature4/4 ACTSO-0141Bring the lab configuration up to the shipped feature set and adjudicate the zero-sample signal familiesmediumchore4/4 ACTSO-0135Assert the pinned golangci-lint and govulncheck versions at run time, the way the helm generators domediumchore4/4 ACTSO-0136Attribute PAM telemetry to an operator-named tailnet via pam.tailnetmediumfeature4/4 ACTSO-0137Opt-in per-session PAM log record, off by default and pii_filter-gatedlowfeature4/4 ACTSO-0138Discovery sweep: inventory uncollected API surfaces and dead shipped signals to refill the boardmediumspike4/4 ACTSO-0134PAM config changes never reach the audit-changes metricmediumbug4/4 ACTSO-0036PAM telemetry collector (Border0 API)medium9/9 ACDecision-gatedTSO-0130Self-fence promptly when a live coordination Lease is deleted or replacedhighbug3/3 ACneeds-triageTSO-0131Emit a coordination handover counter so leadership flapping can be alerted truthfullymediumfeature5/5 ACneeds-triageTSO-0132Prove the coordinated Kubernetes surface live: standby scrapes, demotion, Lease loss, clock skewhighchore7/7 ACneeds-triageTSO-0124Alert when an enabled receiver is fail-closed by missing credentialsmediumfeature3/3 ACneeds-triageTSO-0125Alert on Prometheus gather errors that silently omit seriesmediumfeature3/3 ACneeds-triageTSO-0126Alert on sustained processor queue dropsmediumfeature3/3 ACneeds-triageTSO-0127Alert on consecutive profiling upload failureslowfeature3/3 ACneeds-triageTSO-0128Alert on Kubernetes audit schema driftmediumfeature3/3 ACneeds-triageTSO-0129Reject coordination timings that client-go cannot runhighbug3/3 ACneeds-triageTSO-0119Standby replicas record coordination telemetry that the Prometheus pull path never serveshighbug5/5 ACneeds-triageTSO-0120Ship alert rules for the Lease coordination feature, which has nonemediumfeature6/6 ACneeds-triageTSO-0121Guard the unsuffixed OpenTelemetry instrumentation scope against a future majormediumbug4/4 ACneeds-triageTSO-0122Keep alert policy counts and recommended-profile prose truthfullowbug3/3 ACneeds-triageTSO-0123Allow deployment verification to select a gcx context explicitlyUnspecifiedbug3/3 ACneeds-triageTSO-0094Fail startup for network receivers missing credentials in the next majormediumenhancement3/3 ACv5 big bang majorTSO-0118Reconcile a legacy checkpoint object whose migration marker an older release removedhighbug5/5 ACTSO-0115Prove coordinated Kubernetes mode on the lab, then revertmediumchore6/6 ACTSO-0113Default the coordination namespace to the release namespace, not defaultmediumbug4/4 ACTSO-0114Reconcile rollback-era legacy checkpoint writes on re-upgrademediumbug5/5 ACTSO-0117Convert the inventoried timeout-only deadlock guards to deterministic barriersmediumchore6/6 ACTSO-0112Eliminate the load-dependent CI test flakes that make the gate unreliablehighbug6/6 ACTSO-0110Shard and compress Kubernetes checkpoint storage to remove the 1 MiB ceilinghighbug7/7 ACTSO-0111Reject a Kubernetes checkpoint configuration that cannot fit its ConfigMaphighbug6/6 ACTSO-0093Investigate high stream flow ingest-event-age p95mediumspike3/3 ACWave 5: HA coordination and validation follow-upsTSO-0104Persistent flow store fails to open after RC rollouthighbug4/4 ACWave 5: HA coordination and validation follow-upsTSO-0105Grafana alert rules remain unevaluated after publicationhighbug4/4 ACWave 5: HA coordination and validation follow-upsTSO-0106Stream flow capture-delay telemetry is absentmediumbug3/3 ACWave 5: HA coordination and validation follow-upsTSO-0107Lease-based active-passive coordination (HA phase A1)highfeature8/8 ACWave 5: HA coordination and validation follow-upsTSO-0108Kubernetes checkpoint store backend (HA phase A2)mediumfeature6/6 ACWave 5: HA coordination and validation follow-upsTSO-0109Helm chart support for coordinated multi-replica deploymentmediumfeature6/6 ACWave 5: HA coordination and validation follow-upsTSO-0095Validate Wave 3 live on the lab deploymenthigh6/6 ACWave 4: live validation and review follow-upsneeds-triageTSO-0096Shard the CodeRabbit pre-commit review so a wave-sized diff can be reviewedhigh3/3 ACWave 4: live validation and review follow-upsneeds-triageTSO-0097Decide precedence between env-supplied secrets and their _file siblingsmedium2/2 ACWave 4: live validation and review follow-upsneeds-triageTSO-0098Webhook router caches its tokenless and auth-mix decision across secret rotationhigh2/2 ACWave 4: live validation and review follow-upsneeds-triageTSO-0099Services collector reports a complete host snapshot after cancelled dispatchmedium3/3 ACWave 4: live validation and review follow-upsneeds-triageTSO-0100Keep the docker-compose deployment path validated by CI now camden is retiredmedium3/3 ACWave 4: live validation and review follow-upsneeds-triageTSO-0101Reject an already-cancelled request before it consumes an admission slotlow2/2 ACWave 4: live validation and review follow-upsneeds-triageTSO-0103Restyle the embedded console onto design system v2 (family standard-setter)high5/5 ACWave 4: live validation and review follow-upsdesign-systemTSO-0102Split the shared TS_WIF secret: one name, two incompatible scope requirementshigh4/4 ACWave 4: live validation and review follow-upsneeds-triageTSO-0034Org auto-discovery of tailnets via the alpha Organizations APImedium3/3 ACWave 3: API surface expansionTSO-0039Posture attribute values: compliance gauges with cardinality capsmedium2/2 ACWave 3: API surface expansionTSO-0040Workload Identity Federation as an exporter auth methodmedium3/3 ACWave 3: API surface expansionTSO-0052Bound the N+1 per-device subrequests in the devices/services collectorshigh3/3 ACWave 4: collector and ingestion resilienceTSO-0055Classify nodemetrics scrape failures beyond transient_failuremedium2/2 ACWave 4: collector and ingestion resilienceTSO-0056Scale the scheduler stagger window with deployment sizelow2/2 ACWave 6: config ergonomics and performanceTSO-0057Per-type intervals for logstream status probeslow2/2 ACWave 6: config ergonomics and performanceTSO-0058Hot-reload receiver secrets (streaming token, webhook secret)high2/2 ACWave 4: collector and ingestion resilienceTSO-0059Per-tailnet admission fairness on shared receiversmedium2/2 ACWave 4: collector and ingestion resilienceTSO-0061First-class ingest-lag signal per source and signal typemedium2/2 ACWave 4: collector and ingestion resilienceTSO-0063Act on device-cache staleness during control-plane outagesmedium2/2 ACWave 4: collector and ingestion resilienceTSO-0067Cost forecast for expensive collector knobsmedium2/2 ACWave 5: operator surface and cost controlsTSO-0068Delta-temporality escape hatch for OTLP metrics exportmedium2/2 ACWave 5: operator surface and cost controlsTSO-0069Promote the OTLP-outage diagnostics summary interval to configlow2/2 ACWave 5: operator surface and cost controlsTSO-0070Warn on gRPC exporter with CA rotation but no reconnection periodlow2/2 ACWave 5: operator surface and cost controlsTSO-0071Per-tailnet Tailscale API rate-limit utilization gaugemedium2/2 ACWave 5: operator surface and cost controlsTSO-0072Rate-limit admin authentication failureshigh3/3 ACWave 5: operator surface and cost controlsTSO-0073Mutual TLS on the admin listenermedium2/2 ACWave 5: operator surface and cost controlsTSO-0074Include a bounded recent-log tail in the support bundlemedium2/2 ACWave 5: operator surface and cost controlsTSO-0075Consolidated durable-storage health view on the status pagemedium2/2 ACWave 5: operator surface and cost controlsTSO-0076Debounce checkpoint writes across collectorsmedium2/2 ACWave 6: config ergonomics and performanceTSO-0079Env-var injection for list-valued credentials (tailnets, routes, targets)medium2/2 ACWave 6: config ergonomics and performanceTSO-0080Surface zero-traffic receiver misconfiguration without breaking startupmedium2/2 ACWave 6: config ergonomics and performanceTSO-0081Version-check fail-open visibility and Headscale defaultlow2/2 ACWave 5: operator surface and cost controlsTSO-0082Flow store disk reclamation and journal observabilitymedium2/2 ACWave 6: config ergonomics and performanceTSO-0083Headscale and multi-tailnet starter configs in examples/configmedium1/1 ACWave 7: deploy and docs polishTSO-0084Extend the compose secrets template to objectstore and Headscale credentialslow1/1 ACWave 7: deploy and docs polishTSO-0085Complete the NetworkPolicy egress guidance (MaxMind, FQDN example, sidecar note)low2/2 ACWave 7: deploy and docs polishTSO-0088Clarify App.Close flow-store ownership outside Run shutdownlowbug2/2 ACneeds-triageTSO-0090just verify-deploy reports unreachable when any unrelated gcx context is brokenmedium2/2 ACWave 5: operator surface and cost controlsneeds-triageTSO-0091Dedup youngest-eviction-age gauge latches for the process lifetime with no reset pathmedium3/3 ACWave 4: collector and ingestion resilienceneeds-triageTSO-0092Retire the 35-panel ceiling and re-group the whole dashboard tab structurehigh5/5 ACWave 7: deploy and docs polishneeds-triageTSO-0038Peer-relay connection dimension on node connectivity metricsmedium2/2 ACWave 3: API surface expansionTSO-0041Verify flow-log native actor identity fields are decoded, not droppedmedium2/2 ACWave 3: API surface expansionTSO-0035Graceful handling of new audit-log event families (PAM_*, BORDER0_API, APERTURE_*)medium3/3 ACWave 3: API surface expansionTSO-0037Services collector: displayName, tags rollup and NodeID joinmedium3/3 ACWave 3: API surface expansionTSO-0042Adjudicate the 14 unhandled API response fields in the contract ledgerlow2/2 ACWave 3: API surface expansionTSO-0043Grants-aware policy parsing and acls-vs-grants adoption metricmedium2/2 ACWave 3: API surface expansionTSO-0044Policy file snapshots to Loki (full ACL/grants body as log records)medium3/3 ACWave 2: Loki state-snapshot familyTSO-0045Policy diff log records on revision changemedium3/3 ACWave 2: Loki state-snapshot familyTSO-0046Config-state snapshot family: DNS, settings, webhooks, posture integrations to Lokimedium3/3 ACWave 2: Loki state-snapshot familyTSO-0047Device inventory change-log to Lokimedium3/3 ACWave 2: Loki state-snapshot familyTSO-0048Grafana annotations from audit events on the generated dashboardslow2/2 ACWave 2: Loki state-snapshot familyTSO-0049ACL risk findings as structured log recordslow3/3 ACWave 2: Loki state-snapshot familyTSO-0050Key and user-invite lifecycle timeline eventslow3/3 ACWave 2: Loki state-snapshot familyTSO-0060WAL fill-percentage gauge and shipped alertmedium2/2 ACWave 4: collector and ingestion resilienceTSO-0062TTL reset for schema-drift warning dedup in long-lived processeslow2/2 ACWave 4: collector and ingestion resilienceTSO-0064rdns warm-start snapshot across restartsmedium2/2 ACWave 4: collector and ingestion resilienceTSO-0065Youngest-eviction-age gauge on dedup setslow2/2 ACWave 4: collector and ingestion resilienceTSO-0086Doc and dashboard polish batchlow2/2 ACWave 7: deploy and docs polishTSO-0089Retire or wire the orphaned deploy/grafana/gen/tabs/events.py modulemediumbug3/3 ACWave 2: Loki state-snapshot familyneeds-triageTSO-0028Fix stale hand-maintained alert-count prose in READMEsmediumbug2/2 ACWave 1: bugs and guardrail foundationsTSO-0029Fix stale single-tailnet receiver claim in config.example.yamllowbug2/2 ACWave 1: bugs and guardrail foundationsTSO-0030WAL replay can double-emit metrics/logs after a crash between apply and commitmediumbug2/2 ACWave 1: bugs and guardrail foundationsTSO-0031Headscale custom ip-prefix deployments misclassify tailnet addresses as external and geoip-enrich themmediumbug3/3 ACWave 1: bugs and guardrail foundationsTSO-0032Per-runtime shutdown is sequential, contradicting the deliberate parallel-shutdown fixlowbug2/2 ACWave 1: bugs and guardrail foundationsTSO-0051Quiet key-expiry warnings: on-change + daily mode as defaulthigh3/3 ACWave 1: bugs and guardrail foundationsTSO-0053Cardinality backstop for the posture attribute-namespace wildcardmedium2/2 ACWave 1: bugs and guardrail foundationsTSO-0054Configurable dedup and seen-set capacities (flow, audit, objectstore)medium2/2 ACWave 1: bugs and guardrail foundationsTSO-0066Per-tailnet cardinality limit overrideshigh3/3 ACWave 1: bugs and guardrail foundationsTSO-0077Headscale HTTP retry/rate-limit config: implement or rejecthigh2/2 ACWave 1: bugs and guardrail foundationsTSO-0078Document restart-required vs hot-reloadable config keysmedium2/2 ACWave 1: bugs and guardrail foundationsTSO-0087Classify the three audit enum values the 2026-08-30 spec re-vendor addedhighbug3/3 ACWave 1: bugs and guardrail foundationsneeds-triageTSO-0027Make each generated artifact its own just recipe and retire the script's target dispatchlowenhancement7/7 ACneeds-triageTSO-0026Add config.schema.json to the advertised regenerate-everything pathlowchore4/4 ACneeds-triageTSO-0025Migrate the repo task surface to just and retire Makefiles and ad-hoc scriptsmediumchore10/10 ACwave:2-fleetTSO-0024Support per-tag metrics port overrides in node-metrics discoverymediumfeature7/7 ACneeds-triageTSO-0022Fix live Grafana dashboard accuracy and signal coverage gapshighbug12/12 ACneeds-triageTSO-0023Separate durable evidence state from poll cursorshighbug5/5 ACconfigurationobservabilityTSO-0021Update check fails permanently: the 64 KiB body cap truncates the GitHub latest-release responsehighbug5/5 ACTSO-0020Rotate credentials exposed in an agent transcripthightask4/4 ACneeds-triagesecurityTSO-0008Add an explicit Prometheus-only delivery modehighfeature4/4 ACuser-friendlinessneeds-triageuser-friendlinessTSO-0007Make the default Prometheus listener safe and scrapeablehighbug4/4 ACuser-friendlinessneeds-triageuser-friendlinessTSO-0009Add a bounded Prometheus first-scrape checkmediumfeature4/4 ACuser-friendlinessneeds-triageuser-friendlinessTSO-0010Make first-run onboarding backend-neutralhighdocs5/5 ACuser-friendlinessneeds-triageuser-friendlinessTSO-0011Ship minimal delivery-specific starter configurationshighenhancement4/4 ACuser-friendlinessneeds-triageuser-friendlinessTSO-0012Revalidate and align the Alloy gateway recipemediumbug4/4 ACuser-friendlinessneeds-triageuser-friendlinessTSO-0013Document dynamic node-metrics discovery as a first-use pathmediumdocs4/4 ACuser-friendlinessneeds-triageuser-friendlinessTSO-0014Make optional ingestion paths easier to choosemediumdocs4/4 ACuser-friendlinessneeds-triageuser-friendlinessTSO-0015Add an operator-first alert profile choosermediumdocs3/3 ACuser-friendlinessneeds-triageuser-friendlinessTSO-0016Add a release-independent upgrade and rollback checklistmediumdocs3/3 ACuser-friendlinessneeds-triageuser-friendlinessTSO-0017Fix documentation social metadata ownership and asset checkslowdocs3/3 ACuser-friendlinessneeds-triageuser-friendlinessTSO-0018Decide the supported alerting path for Prometheus-only deploymentsmediumspike3/3 ACuser-friendlinessneeds-triageuser-friendlinessTSO-0019Generate public capability counts from the cataloglowenhancement3/3 ACuser-friendlinessneeds-triageuser-friendlinessTSO-0005Persistent flow store refuses every pre-hardening database with no way to migrate itUnspecified4/4 ACTSO-0001Upgrade Go toolchain to 1.27Unspecified3/3 ACTSO-0006Migrate to OpenTelemetry v1.46.0 / log v0.22.0 after the log attribute API removalUnspecified4/4 ACTSO-0003Cut CI job fan-out per PR to drain the Actions queueUnspecified5/5 ACTSO-0004prometheus.max_requests_in_flight: 0 now crash-loops every config copied from the old exampleUnspecified5/5 ACTSO-0002Remediate Codex Security scan b3c6de8ehighbug5/5 ACTSO-0002.01Harden ingress and local HTTP boundarieshighbug6/6 ACTSO-0002.02Bound retained state and protect local persistencehighbug4/4 ACTSO-0002.03Harden outbound credentials transports and TLShighbug6/6 ACTSO-0002.04Close Helm credential and workload identity gapshighbug3/3 AC