• k8s-merge-robot's avatar
    Merge pull request #25285 from ingvagabund/extend-secrets-volumes-with-path-control · eb733cbf
    k8s-merge-robot authored
    Automatic merge from submit-queue
    
    Extend secrets volumes with path control
    
    As per [1] this PR extends secrets mapped into volume with:
    
    * key-to-path mapping the same way as is for configmap. E.g.
    
    ```
    {
     "apiVersion": "v1",
     "kind": "Pod",
      "metadata": {
        "name": "mypod",
        "namespace": "default"
      },
      "spec": {
        "containers": [{
          "name": "mypod",
          "image": "redis",
          "volumeMounts": [{
            "name": "foo",
            "mountPath": "/etc/foo",
            "readOnly": true
          }]
        }],
        "volumes": [{
          "name": "foo",
          "secret": {
            "secretName": "mysecret",
            "items": [{
              "key": "username",
              "path": "my-username"
            }]
          }
        }]
      }
    }
    ```
    
    Here the ``spec.volumes[0].secret.items`` added changing original target ``/etc/foo/username`` to ``/etc/foo/my-username``.
    
    * secondly, refactoring ``pkg/volumes/secrets/secrets.go`` volume plugin to use ``AtomicWritter`` to project a secret into file.
    
    [1] https://github.com/kubernetes/kubernetes/blob/master/docs/design/configmap.md#changes-to-secret
    eb733cbf
types.generated.go 1.29 MB
The source could not be displayed because it is larger than 1 MB. You can load it anyway or download it instead.