These all had quite a lot of interactions so I had to do them together.
Note we can't bump to Kubernetes v0.31.0 because it's newer than what
the latest crossplane-runtime release is using. We'll need to update
crossplane-runtime first.
I'm also seriously questioning keeping the dependency on provider-aws.
It's massive and has a lot of painful dependencies to fix when we update
the import. On the other hand, I experimented with e.g. using
provider-nop or provider-kubernetes for examples and didn't like it.
Signed-off-by: Nic Cope <nicc@rk0n.org>
Without this change any resource that has no ObjectMeta will end up with
an empty metadata (like "metadata": {}) when rendered. This is because
json serialization adds the generation field. We then delete it,
resulting in an empty metadata object.
This isn't actually so bad because Crossplane will always add a few
labels, owner refs, etc before the metadata becomes part of the SSA
fully-specified intent. So in reality we'll never ask the API server to
make metadata an empty object. It is misleading in unit tests though.
Signed-off-by: Nic Cope <nicc@rk0n.org>
This makes it more convenient and discoverable to get and set arbitrary
unstructured data from a composed or composite resource.
Signed-off-by: Nic Cope <nicc@rk0n.org>