argoproj / argoproj/argo-workflows

Implement systematic BASE64 encoding/decoding in the serialization/deserialization of parameters

Open
#7,016 1 comment 16 reactions 0 assignees View on GitHub
area/spec
Dominant language
Go
Stars
17k
Forks
3.7k
Avg merge
1d 15h
Merged PRs (30d)
138

Description

# Summary

Related to #6431
@sarabala1979

In some edge cases where you try to pass on complex data value as a parameter (in this scenario a full json), the deserialization fails to escape the special characters.

# Use Cases

This use cases is about introspection. But any case where you pass very complex data structured in json, as a parameter value.

# Proposal
Implementing a coding/decoding of all parameters values in BASE64 (so in output and input). It would fix any use case with complex value and will prevent any further failure at escaping special characters. It is more safe in general.

---

**Message from the maintainers**:

Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.

Contributor guide

Open the contributing guide

Research direction

The issue names no files, tests, or entry points; begin by tracing parameter serialization and deserialization and reviewing related issue #6431. Confirm how complex JSON values currently fail, then define the affected parameter paths and tests needed to show that encoding and decoding work consistently without escaping failures.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend-api-design
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.