pulumi/pkg/resource/stack
Matt Ellis 529645194e Track secrets inside the engine
A new `Secret` property value is introduced, and plumbed across the
engine.

- When Unmarshalling properties /from/ RPC calls, we instruct the
  marshaller to retain secrets, since we now understand them in the
  rest of the engine.

- When Marshalling properties /to/ RPC calls, we use or tracked data
  to understand if the other side of the connection can accept
  secrets. If they can, we marshall them in a similar manner to assets
  where we have a special object with a signiture specific for secrets
  and an underlying value (which is the /plaintext/ value). In cases
  where the other end of the connection does not understand secrets,
  we just drop the metadata and marshal the underlying value as we
  normally would.

- Any secrets that are passed across the engine events boundary are
  presently passed as just `[secret]`.

- When persisting secret values as part of a deployment, we use a rich
  object so that we can track the value is a secret, but right now the
  underlying value is not actually encrypted.
2019-05-10 17:07:52 -07:00
..
testdata Add a version property to checkpoints 2018-03-10 13:03:05 -08:00
checkpoint.go Implement more precise delete-before-replace semantics. (#2369) 2019-01-28 09:46:30 -08:00
checkpoint_test.go Add license headers 2018-05-22 15:02:47 -07:00
debug.test Add a version property to checkpoints 2018-03-10 13:03:05 -08:00
deployment.go Track secrets inside the engine 2019-05-10 17:07:52 -07:00
deployment_test.go Follow up on #2369 (#2397) 2019-01-28 17:38:16 -08:00