The v0.2 release has a major focus on extending support for new resources and services, including PostgreSQL, Redis, and object storage. We also invested in fleshing out the design for the workload scheduler and building an initial implementation of the scheduler. A generalized resource controller implementation was refactored to reduce code duplication and provide a single authoritative controller to handle dynamic provisioning of resources. Also, the team made an investment in engineering quality and best practices automation to lay the foundation for a quality codebase going forward.
No specific action is required with this release as upgrades between versions are not supported at this time.
- PostgreSQL database types are now supported across Google Cloud Platform (GCP), Amazon Web Services (AWS), and Microsoft Azure using the
See the PostgreSQL user guide for more details about how to deploy and consume PostgreSQL databases with Crossplane.
- Redis cache types are now supported across all 3 major cloud providers using the
rediscluster.cache.crossplane.ioabstraction. See examples of Redis usage in Crossplane in the Redis examples folder.
- Object storage buckets are also supported across all 3 major cloud providers using the
bucket.storage.crossplane.ioabstraction. Examples for how to provision and consume buckets using Crossplane can be found in the buckets examples folder.
- An initial implementation of the workload scheduler has been provided that allows for cluster selectors to be specified on workloads. Label matching will be performed by the scheduler to assign the workload to an appropriate target cluster that matches the given label selector.
- A general resource controller implementation has been provided to manage the life-cycle of dynamically provisioned resources. This general controller can be consumed by external projects looking to integrate the provisioning and management of their resources with Crossplane.
- Automated code coverage is included on every pull request now on SonarCloud and Codecov.
- Automated linting checks are run on every build now invoked using
make. The linting checks are provided by golangci-lint.
No breaking changes are currently listed with this release as upgrades between versions are not supported at this time.