Skip to content

fabiencastarede/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 OVH API.

Prerequisites

Getting Started

Install the provider by using the following command:

up ctp provider install edixos/provider-ovh

Alternatively, you can use declarative installation:

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

If you want to specify a version of the provider, add an image tag to the latest release. Example: edixos/provider-ovh:v.0.1.4

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

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

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 88.3%
  • Makefile 7.4%
  • Shell 2.3%
  • Dockerfile 1.1%
  • Other 0.9%