crossplane-provider-cloudfoundry

module
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 25, 2026 License: Apache-2.0

README ΒΆ

Slack Golang REUSE status

Crossplane Provider for Cloud Foundry

Manage Cloud Foundry resources the GitOps way β€” declarative, version-controlled, and reconciled continuously by Crossplane.

crossplane-provider-cloudfoundry lets you define Cloud Foundry resources (Orgs, Spaces, Services, Applications, and more) as Kubernetes custom resources. Crossplane takes care of the rest: provisioning, drift detection, and reconciliation β€” no scripts, no manual clicks.


🌍 Community

We're building this in the open and we'd love your involvement β€” whether you're using the provider in production, experimenting with it, or just curious about how it works.


πŸ“ž Monthly Community Call

We hold a community call on the last Wednesday of every month at 4 pm CET.

  • πŸ‘€ See what everyone's been working on
  • πŸ’‘ Share ideas and feedback
  • ❓ Ask questions β€” no question is too basic
  • πŸ”¬ Dive into technical details together

πŸ”— Join: : Click Here

🎬 Can't make it? Recordings are shared after each call.


πŸ’¬ Chat with us

Join us on Slack: #provider-sap-cloudfoundry β€” for questions, ideas, or just to say hi.


πŸ—ΊοΈ Roadmap

We have a growing backlog of features and improvements. You can follow along β€” and pick something up! β€” on our GitHub Issues and Discussions.


πŸ“¦ Installation

⚠️ Crossplane v2 is not yet supported but coming soon. Please use Crossplane v1 for now.

To install the provider into a Kubernetes cluster running Crossplane, apply the following resource β€” replacing <VERSION> with the latest release:

apiVersion: pkg.crossplane.io/v1
kind: Provider
metadata:
  name: provider-cloudfoundry
spec:
  package: ghcr.io/sap/crossplane-provider-cloudfoundry/crossplane/provider-cloudfoundry:<VERSION>

Crossplane will create a deployment for the provider. Once it's healthy, configure your credentials and start orchestrating. πŸš€


πŸ”¬ Developing

Initial Setup

The provider includes tooling to get you up and running locally quickly.

Prerequisites: kind and Docker must be installed.

# 1. Clone the repo
git clone https://github.com/SAP/crossplane-provider-cloudfoundry

# 2. Initialize the build submodule
make submodules

# 3. Spin up a local kind cluster with CRDs installed
make dev-debug

This leaves you with a local cluster and your KUBECONFIG pointed at it β€” ready for kubectl or k9s.

Running the Controller
make run

Compiles and runs the controller locally (outside the cluster), watching for resources via your KUBECONFIG.

Cleaning Up
make dev-clean
E2E Tests
make test-acceptance

Spins up a kind cluster, runs the provider as a container inside it, and fires kubectl commands to validate behavior end-to-end.

If you run tests multiple times, clean up the kind cluster first to avoid conflicts:

kind delete cluster <cluster-name>
Upgrade Tests

See the Upgrade Tests README for details.

Required Environment Variables
Variable Description
CF_CREDENTIALS CF admin user credentials as JSON: {"email": "...", "username": "...", "password": "..."}
CF_ENVIRONMENT CF API URL, e.g. https://api.cf.eu12.hana.ondemand.com

πŸ› οΈ Export CLI

The provider ships an export CLI that generates managed resource definitions from an existing Cloud Foundry cluster's configuration.

β†’ See the User Guide for details.


🀝 Contributing

Contributions are very welcome β€” from bug reports to new features to docs improvements. Here's how to get involved:

Not sure where to start? Come chat on Slack β€” we're happy to help you find something.


πŸ”’ Security

If you discover a potential security vulnerability, please follow our security policy β€” do not open a public GitHub issue for security concerns.


πŸ™†β€β™€οΈ Code of Conduct

We're committed to a welcoming, harassment-free community for everyone. By participating in this project, you agree to our Code of Conduct.


πŸ“‹ Licensing

Copyright 2024 SAP SE or an SAP affiliate company and crossplane-provider-cloudfoundry contributors. See LICENSE for details. Third-party component licensing is available via the REUSE tool.

Directories ΒΆ

Path Synopsis
Package apis contains Kubernetes API for the provider.
Package apis contains Kubernetes API for the provider.
v1alpha1
Package v1alpha1 contains the core resources of the cloudfoundry jet provider.
Package v1alpha1 contains the core resources of the cloudfoundry jet provider.
v1beta1
Package v1beta1 contains the core resources of the cloudfoundry upjet provider.
Package v1beta1 contains the core resources of the cloudfoundry upjet provider.
cmd
exporter command
exporter/cf/app
Package app implements Cloud Foundry App resource export functionality.
Package app implements Cloud Foundry App resource export functionality.
exporter/cf/metadata
Package metadata provides shared helpers for the CF exporter.
Package metadata provides shared helpers for the CF exporter.
provider command
internal
clients/metadata
Package metadata provides shared helpers for managing Cloud Foundry resource metadata (labels and annotations) across the provider.
Package metadata provides shared helpers for managing Cloud Foundry resource metadata (labels and annotations) across the provider.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL