crossplane-provider-castai

module
v0.38.0 Latest Latest
Warning

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

Go to latest
Published: Jul 16, 2026 License: Apache-2.0

README

Provider crossplane-provider-castai

crossplane-provider-castai is a Crossplane provider that is built using Upjet code generation tools and exposes XRM-conformant managed resources for the CastAI API.

Getting Started

Install the provider by using the following command after changing the image tag to the latest release:

up ctp provider install crossplane-contrib/crossplane-provider-castai:v0.7.0

Alternatively, you can use declarative installation:

cat <<EOF | kubectl apply -f -
apiVersion: pkg.crossplane.io/v1
kind: Provider
metadata:
  name: crossplane-provider-castai
spec:
  package: xpkg.upbound.io/crossplane-contrib/crossplane-provider-castai:v0.7.0
EOF

Notice that in this example Provider resource is referencing ControllerConfig with debug enabled.

You can see the API reference here.

Developing

Run code-generation pipeline:

go run cmd/generator/main.go "$PWD"

Run against a Kubernetes cluster:

make run

Build, push, and install:

make all

Build binary:

make build
Updating to a New Terraform Provider Version

To regenerate the Crossplane provider against a new version of the Terraform CAST AI provider:

  1. Update the version in the Makefile — change the two version references:

    export TERRAFORM_PROVIDER_VERSION ?= <NEW_VERSION>        # e.g. 8.39.2
    export TERRAFORM_NATIVE_PROVIDER_BINARY ?= terraform-provider-castai_v<NEW_VERSION>
    
  2. Initialize submodules (first time only):

    make submodules
    
  3. Generate the provider schema, pull docs, and transform the schema:

    make generate.init
    

    This downloads the Terraform provider binary, runs terraform providers schema to produce config/schema.json, clones the upstream docs, and runs hack/transform-schema.py to convert nested_type attributes for Upjet v1 compatibility.

  4. Run the Upjet code-generation pipeline:

    go run cmd/generator/main.go "$PWD"
    
  5. Regenerate deepcopy helpers, CRDs, and other artifacts:

    make generate
    
  6. If the new version introduces new Terraform resources, you also need to:

    • Add an external name entry in config/external_name.go.
    • Create a resource config package under config/<resource>/config.go.
    • Register the Configure function in config/provider.go.
  7. Build and verify:

    go build ./...
    

Report a Bug

For filing bugs, suggesting improvements, or requesting new features, please open an issue.

Directories

Path Synopsis
Package apis contains Kubernetes API for the provider.
Package apis contains Kubernetes API for the provider.
castai/v1alpha1
+kubebuilder:object:generate=true +groupName=castai.upbound.io +versionName=v1alpha1
+kubebuilder:object:generate=true +groupName=castai.upbound.io +versionName=v1alpha1
v1alpha1
Package v1alpha1 contains the core resources of the castai jet provider.
Package v1alpha1 contains the core resources of the castai jet provider.
v1beta1
Package v1beta1 contains the core resources of the castai upjet provider.
Package v1beta1 contains the core resources of the castai upjet provider.
cmd
generator command
provider command
internal

Jump to

Keyboard shortcuts

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