provider-cloudscale is a Crossplane provider
cloudscale that is built using Upjet code
generation tools and exposes XRM-conformant managed resources for the Cloudscale
API.
This cloudscale serves as a starting point for generating a new Crossplane Provider using the upjet tooling.
Install the provider into your Crossplane cluster:
apiVersion: pkg.crossplane.io/v1
kind: Provider
metadata:
name: provider-cloudscale
spec:
package: xpkg.upboud.io/onzack-ag/provider-cloudscale:v0.1.1apiVersion: v1
kind: Secret
metadata:
name: cloudscale-creds
namespace: crossplane-system
type: Opaque
stringData:
credentials: |
{
"token": "your-cloudscale-api-token"
}apiVersion: cloudscale.crossplane.io/v1beta1
kind: ProviderConfig
metadata:
name: default
spec:
credentials:
source: Secret
secretRef:
name: cloudscale-creds
namespace: crossplane-system
key: credentialsYou can obtain your API token from the cloudscale.ch Control Panel.
Example manifests for all supported resources are available in the repository:
- examples/ – Handcrafted examples for ProviderConfig and common resources (Network, Subnet)
- examples-generated/ – Auto-generated examples for all managed resources:
- Server, Volume, Network, Subnet
- Floating IP, Custom Image
- Load Balancer, Load Balancer Pool, Pool Member, Listener, Health Monitor
- Server Group, Objects User
Run code-generation pipeline:
go run cmd/generator/main.go "$PWD"Run against a Kubernetes cluster:
make runBuild, push, and install:
make allBuild binary:
make buildFor filing bugs, suggesting improvements, or requesting new features, please open an issue.