This document defines a high level roadmap for Crossplane development and upcoming releases. Community and contributor involvement is vital for successfully implementing all desired items for each release. We hope that the items listed below will inspire further engagement from the community to keep Crossplane progressing and shipping exciting and valuable features.
Any dates listed below and the specific issues that will ship in a given milestone are subject to change but should give a general idea of what we are planning. We use the milestone feature in Github so look there for the most up-to-date and issue plan.
- Resource Claims, Resource Classes, and Resources
- Basic Container Workload
- Support for Deployments / Services
- Resource Usage and Secret management
- Cloud Providers
- Provider CRDs, credentials management, API/SDK consumption
- AWS, GCP, and Azure
- Managed Kubernetes Clusters
- Support for EKS, AKS and GKE
- Generic Kubernetes Cluster Resource Claim
- Status and Conditions for Clusters
- Static and Dynamic Provisioning
- MySQL Support
- Static and Dynamic Provisioning
- Provider specific MySQL CRDs (AWS RDS, GCP CloudSQL, Azure MySQL)
- Connection strings and firewall support
- Resource Controller depth and reliability
- CRUD support and robust lifecycle management
- CRD status Conditions for status of resources
- Event recording
- Normalized logging using single logging solution (with configurable levels)
- Retry/recovery from failure, idempotence, dealing with partial state
- CI builds/tests/releases
- New jenkins instance (similar to Rook's jenkins)
- Developer unit testing with high code coverage
- Integration testing pipeline
- Artifact publishing (container images, crossplane helm chart, etc.)
- Documentation
- User guides, quick-starts, walkthroughs
- Godocs developer docs for source code/packages/libraries
- Open source project management
- Governance
- Contributor License Agreement (CLA) or Developer Certificate of Origin (DCO)
-
Workload Scheduling
- Design for smart scheduler, optimization, resource placement #278
- Basic workload scheduler with cluster selector #309
- Update workload propagation to avoid collisions on target cluster #308
- Minimize workload deployment kubeconfig settings for AKS to be consistent with GKE, EKS #273
- Update workload deployment docs #239
-
New Stateful managed services across AWS, Azure, and GCP
-
Performance and Efficiency
- Reconciliation requeue pattern #241
-
UX Enhancements
- Enhanced kubectl printer columns #38
-
Engineering
-
Real-world applications on-top of Crossplane
- GitLab #284
- More applications to follow
-
Resource Class enhancements: default classes, validation, annotation
-
Infra Stacks (out-of-tree) with single-region secure connectivity between k8s and DBaaS, Redis, Buckets
- Stacks Manager: App vs. Infra Stacks, namespace isolation, annotation support #609
- Move Infra Stacks (GCP, AWS, Azure) into separate repos & upgrade to kubebuilder2 #612
- GCP Infra Stack: single-region secure connectivity: GKE & CloudSQL, CloudMemorystore, Buckets #615
- AWS Infra Stack: single-region secure connectivity: EKS & RDS, ElastiCache, Buckets #616
- Azure Infra Stack: single-region secure connectivity: AKS & AzureSQL, AzureCache, Buckets #617
- Stacks v1 CLI / kubectl plugin: init, build, push commands #614
-
Docs & examples
- Infra Stack Developer Guide #610
- Portable Wordpress App Stack (kubebuilder-based) published to registry #572
- Refresh 0.3 Docs: reflect enhancements, better on-boarding UX, easier to get started #625
- Crossplane.io reflects the updated roadmap / vision crossplaneio.github.io#22
- DevOps pipeline examples for Jenkins, GitLab, GitOps using Infra Stacks #631
-
Stacks Manager
- Stack versioning, upgrade, & dependency resolution
- Stacks Manager support for private repos and robot account credentials
-
Template App Stacks
- Template App Stacks to simplify declarative app management via k8s API
- Enhanced Stacks CLI to generate scaffolding for Template Stacks
-
Infra Stacks Expansion
- Additional secure connectivity strategies for GCP, AWS, Azure
- More cloud services per provider - existing Infra Stacks
- More clouds providers - new Infra Stacks
- Multiple managed k8s offerings per cloud provider - more choice
-
Docs & Examples
- Refresh 0.4 docs: reflect enhancements, creating different types of stacks
- Crossplane.io updates to reflect 0.4 release and additional infra stack providers
- Expanded DevOps pipeline examples for continous deployment
-
Rook Infra Stack
- Rook as a provider of claim-based provisioning for PostgreSQL, Buckets, etc.
- Rook managed services using the Kubernetes Operator Pattern #283
- Early support for Rook and others
- Seamless integration into the Resource Claim and Resource Class model
-
v1beta1 hardening
- Enhanced load and scale testing
- UX enhancements
- Address v1alpha2 feedback
-
Docs & examples
- Refresh 0.5 docs: using Rook with Crossplane, enhancements
- Crossplane.io updates to reflect 0.4 release and additional Infra Stack providers
- Expanded DevOps pipeline examples & integrations for continous deployment
-
Enhanced Workload Scheduling
-
Heterogeneous application support
-
New Stateful managed services across AWS, Azure, and GCP
-
Auto-scaling
-
Ease-of-use and improved experience
- Standalone mode allowing Crossplane to run in a single container or process #274