argoproj / argoproj/argo-workflows
Implement systematic BASE64 encoding/decoding in the serialization/deserialization of parameters
- 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
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