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

Remove superseded features ahead of v0.13 release #1749

Merged
merged 9 commits into from
Sep 23, 2020
Merged

Conversation

negz
Copy link
Member

@negz negz commented Sep 20, 2020

Description of your changes

Fixes #1702
Updates #1670

This PR removes:

  • The resource claim type definitions, which were deprecated in v0.12.
  • The 'autotarget' controller, which created a KubernetesTarget for each KubernetesCluster claim.
  • The OAM controllers and CRDs, which will now be installed by the oam-kubernete-runtime Helm chart.
  • The original package manager, which has been replaced in v0.13.

The removal of the original package manager was not originally planned for v0.13, but keeping it around makes little sense given the removal of resource claims. See the relevant commit message for more context.

I have:

  • Read and followed Crossplane's contribution process.
  • Run make reviewable test to ensure this PR is ready for review.

How has this code been tested

I've built and deployed this branch, along with crossplane-contrib/provider-gcp#254 (which is built against this branch and crossplane/crossplane-runtime#201). All seems to be working as expected when I run through the GCP composition examples.

Makefile Show resolved Hide resolved
cluster/charts/crossplane/README.md Show resolved Hide resolved
go.mod Show resolved Hide resolved
@negz negz marked this pull request as ready for review September 23, 2020 00:43
@negz
Copy link
Member Author

negz commented Sep 23, 2020

I’d like to merge it soon if others feel comfortable. It’s almost entirely a red diff - there are some things (examples, installing providers via the Helm chart) that I’d like us to handle as follow-on work.

Copy link
Member

@hasheddan hasheddan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for taking care of this @negz! I feel good about merging then following up 👍

This controller automatically generates KubernetesTargets for each
KuberntesCluster claim. We're marking KubernetesTarget deprecated in v0.13
along with KubernetesApplications (but not removing them). The KubernetesCluster
claim is being removed in v0.13, so this controller must go. Users will still be
able to manually create KubernetesTargets until they are removed in a future
release.

Signed-off-by: Nic Cope <negz@rk0n.org>
Resource claims were deprecated in v0.12 and slated for removal in v0.13.

Signed-off-by: Nic Cope <negz@rk0n.org>
Resource claims are slated for removal in v0.13.

Signed-off-by: Nic Cope <negz@rk0n.org>
This API group has not existed for some time.

Signed-off-by: Nic Cope <negz@rk0n.org>
We've taken our learnings from the original Crossplane package manager, and used
them to build a new one. The original package manager grew from the 'stack
manager'. It most recently operated on types in the packages.crossplane.io API
group - e.g. ClusterPackageInstall. This package manager was designed to solve
problems that Crossplane now deems to be outside its scope - i.e. installing
user-facing application logic, and arbitrary Kubernetes controllers.

The new package manager operates on types in the pkg.crossplane.io API group. It
is designed specifically to install providers and configuration for Crossplane,
not arbitrary controllers or applications. The new package manager is designed
to support updating packages (e.g. to install a new version of a provider) and
to automatically resolve package dependencies. (The latter is coming soon.)

The removal of resource claims in v0.13 mean the majority of v0.12 (and earlier)
era packages will not function with v0.13 due to the lack of claim and class
CRDs:

* Provider packages will panic without claim CRDs installed.
* Many app packages (e.g. Wordpress) will not function without claim CRDs

Upgrading to v0.13 without also migrating to v0.13 era providers (and thus to
the v0.13 package manager) may be possible with manual intervention, but is
likely to be equally as or more complicated than upgrading to v0.13 and to the
new package manager.

Signed-off-by: Nic Cope <negz@rk0n.org>
In v0.13 these controllers will be installed and run by oam-kubernetes-runtime,
which will be installed as a subchart of Crossplane's Helm chart.

Signed-off-by: Nic Cope <negz@rk0n.org>
Rather than the (now removed) package manager.

Signed-off-by: Nic Cope <negz@rk0n.org>
These are almost entirely stale. I've moved anything referenced from our docs
into the docs/snippets directory. We may want to follow up by pointing to the
examples in each provider's repo.

Signed-off-by: Nic Cope <negz@rk0n.org>
@negz negz merged commit 3a18fb7 into crossplane:master Sep 23, 2020
@negz negz deleted the rip branch September 23, 2020 01:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Stop generating and installing OAM CRDs
3 participants