/provider-template

A template for building @crossplane providers.

Primary LanguageGoApache License 2.0Apache-2.0

provider-template

provider-template is a minimal Crossplane Provider that is meant to be used as a template for implementing new Providers. It comes with the following features that are meant to be refactored:

  • A Provider resource type that only points to a credentials Secret.
  • A MyType resource type that serves as an example managed resource.
  • A managed resource controller that reconciles MyType objects and simply prints their configuration in its Observe method.

Install

If you would like to install provider-template without modifications create the following ClusterPackageInstall in a Kubernetes cluster where Crossplane is installed:

apiVersion: v1
kind: Namespace
metadata:
  name: template
---
apiVersion: packages.crossplane.io/v1alpha1
kind: ClusterPackageInstall
metadata:
  name: provider-template
  namespace: template
spec:
  package: "crossplanebook/provider-template:latest"

Developing

Run against a Kubernetes cluster:

make run

Install latest into Kubernetes cluster where Crossplane is installed:

make install

Install local build into Kind cluster where Crossplane is installed:

make install-local

Build, push, and install:

make all

Build image:

make image

Push image:

make push

Build binary:

make build

Build package:

make build-package