Thanks to visit codestin.com
Credit goes to github.com

Skip to content

edixos/provider-ovh

Repository files navigation

Provider OVH

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

Prerequisites

Getting Started

Install the provider by using the following command:

cat <<EOF | kubectl apply -f -
apiVersion: pkg.crossplane.io/v1
kind: Provider
metadata:
  name: provider-ovh
spec:
  package: xpkg.upbound.io/edixos/provider-ovh:latest
EOF

Or using the CLI:

up ctp provider install edixos/provider-ovh

If you want to specify a version of the provider, add an image tag to the latest release. Example: xpkg.upbound.io/edixos/provider-ovh:v2.10.1

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

Bumping the Terraform Provider Version

This provider is built on top of the OVHcloud Terraform provider. To upgrade to a new version (e.g. from 2.11.0 to 2.13.1):

  1. Update the Makefile – change the two version references:

    export TERRAFORM_PROVIDER_VERSION ?= <new_version>
    export TERRAFORM_NATIVE_PROVIDER_BINARY ?= terraform-provider-ovh_v<new_version>
  2. Update go.mod – bump the dependency:

    github.com/ovh/terraform-provider-ovh/v2 v<new_version>
    
  3. Run go mod tidy – this updates go.sum with the new checksums.

  4. Regenerate code – run the full generation pipeline to refresh the provider schema, API types, deepcopy functions, and CRD manifests:

    make generate

    This requires the build toolchain (Terraform CLI, crossplane tools, etc.). It will update:

    • config/schema.json
    • apis/**/zz_*.go (generated types and deepcopy)
    • package/crds/*.yaml
  5. Verify the build – ensure everything compiles:

    make build
  6. Commit all changes together (Makefile, go.mod, go.sum, and all generated files).

Report a Bug

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

Marketplace Extension Assets

This repository includes optional Marketplace extension assets under the extensions/ directory:

extensions/
  icons/icon.svg          # Provider icon
  readme/readme.md        # Marketplace readme (concise overview)
  release-notes/release_notes.md  # Human-authored release notes per version
  sboms/sbom.json         # CycloneDX SBOM (regenerated in CI)

During CI publish, we run:

up alpha xpkg append --extensions-root=./extensions xpkg.upbound.io/edixos/provider-ovh:<version>

Where <version> is read from _output/version produced by the build. You can test locally after logging into the Upbound registry:

curl -sL https://cli.upbound.io | sh
VERSION=$(cat _output/version)
up alpha xpkg append --extensions-root=./extensions xpkg.upbound.io/edixos/provider-ovh:${VERSION}

To update for a new release:

  1. Edit extensions/release-notes/release_notes.md adding a section for the new vX.Y.Z.
  2. Optionally refine extensions/readme/readme.md or update the icon.
  3. Commit changes before tagging the release so CI appends correct assets.

SBOM generation currently uses Syft in CI to regenerate extensions/sboms/sbom.json. You can reproduce locally:

curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin
syft dir:. -o cyclonedx-json > extensions/sboms/sbom.json

This is an alpha feature (requires up CLI v0.39.0+).

About

Crossplane Provider for OVH (Provided by Edixos)

Topics

Resources

License

Code of conduct

Contributing

Stars

22 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors