Skip to content

grantgumina/provider-pizza

Repository files navigation

🍕 provider-pizza

I was disappointed to learn Crossplane doesn't support my favorite flavor of the cloud - pizza. So I had to build a Domino's Pizza provider to make the cloud-native community's universal cloud API complete.

Requirements

  • Crossplane v0.14+
  • Crossplane CLI v0.14+

Usage

First, we need to configure the provider:

kubectl apply -f examples/provider/pizza-config.yaml

To create an order:

kubectl apply -f examples/order/order.yaml

Which should show you something like:

NAME            ORDER STATUS   PRICE   STORE ADDRESS                                 MANAGER   AGE
example-order   Bad            3.29    2320 B North 45th Street Seattle, WA 98103    Sarah     2m48s

Demo gif

Limitations

Credit card payments aren't yet working. I'll be adding support soon. You'll store credit card details as a K8s secret and specify Type: CreditCard in the secret. See examples/secret-example.yaml for details.

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

Credit

Having never written Go before, and being very unfamiliar with Kubernetes controllers, I had a ton of inspiration from https://github.com/rudoi/cruster-api. This provider is basically just a wrapper around https://github.com/rudoi/pizza-go.

About

Dominos pizza provider

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published