• Tim Gross's avatar
    CSI: replace structs->api with serialization extension (#12583) · 0c2732dd
    Tim Gross authored
    The CSI HTTP API has to transform the CSI volume to redact secrets,
    remove the claims fields, and to consolidate the allocation stubs into
    a single slice of alloc stubs. This was done manually in #8590 but
    this is a large amount of code and has proven both very bug prone
    (see #8659, #8666, #8699, #8735, and #12150) and requires updating
    lots of code every time we add a field to volumes or plugins.
    
    In #10202 we introduce encoding improvements for the `Node` struct
    that allow a more minimal transformation. Apply this same approach to
    serializing `structs.CSIVolume` to API responses.
    
    Also, the original reasoning behind #8590 for plugins no longer holds
    because the counts are now denormalized within the state store, so we
    can simply remove this transformation entirely.
    0c2732dd