Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make connection details split cluster compatible #296

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

Kidswiss
Copy link
Contributor

@Kidswiss Kidswiss commented Jan 15, 2025

Summary

With this change we ensure that we never reference an instnace namespace directly in the connection details. Instead we hard code it to the Crossplane namespace. Then there's a new function in the runtime that will check each managed resource for connection details, if it's set, it will automatically create a secret in the instance namespace on the service cluster via the provider-kubernetes.

There's an annotation that can be set on the managed resources to disable this functionality for specific resources.

Checklist

  • Categorize the PR by setting a good title and adding one of the labels:
    bug, enhancement, documentation, change, breaking, dependency
    as they show up in the changelog
  • Update tests.
  • Link this PR to related issues.

@Kidswiss Kidswiss added the minor label Jan 15, 2025
@Kidswiss Kidswiss changed the title Fix devcontainer name Make services compatible with split control plane Jan 16, 2025
@Kidswiss Kidswiss force-pushed the change/fix_connection_details branch from f61c841 to e61b85b Compare January 24, 2025 13:38
@Kidswiss Kidswiss changed the title Make services compatible with split control plane Make connection details split cluster compatible Jan 24, 2025
@Kidswiss
Copy link
Contributor Author

I still need to do some cleanup, but the code is ready for review.

@Kidswiss Kidswiss requested review from a team, TheBigLee, wejdross and zugao and removed request for a team January 24, 2025 13:40
With this change we ensure that we never reference an instnace namespace
directly in the connection details. Instead we hard code it to the
Crossplane namespace. Then there's a new function in the runtime that
will check each managed resource for connection details, if it's set,
it will automatically create a secret in the instance namespace on the
service cluster via the provider-kubernetes.

There's an annaotation that can be set on the managed resources to
disable this functionality for specific resources.
This will make sure that no KubeOptions are dropped, if the object
gets read and re-applied to the desired state at any point any function.

The implmentation will also ensure that the options are applied in the
same order they are applied from the calling functions.
@Kidswiss Kidswiss force-pushed the change/fix_connection_details branch from e61b85b to 06c88d0 Compare January 27, 2025 09:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant