diff --git a/NOTES.txt b/NOTES.txt new file mode 100644 index 0000000..cfe6c74 --- /dev/null +++ b/NOTES.txt @@ -0,0 +1,9 @@ +To get started: + +1. Replace `function-template-go` with your function in `go.mod`, + `package/crossplane.yaml`, and any Go imports. (You can also do this + automatically by running the `./init.sh ` script.) +2. Update `input/v1beta1/` to reflect your desired input (and run `go generate`) +3. Add your logic to `RunFunction` in `fn.go` +4. Add tests for your logic in `fn_test.go` +5. Update `README.md`, to be about your function! \ No newline at end of file diff --git a/README.md b/README.md index e4a6444..5b02205 100644 --- a/README.md +++ b/README.md @@ -11,8 +11,9 @@ To learn how to use this template: If you just want to jump in and get started: -1. Replace `function-template-go` with your function's name in `go.mod`, - `package/crossplane.yaml`, and any Go imports +1. Replace `function-template-go` with your function in `go.mod`, + `package/crossplane.yaml`, and any Go imports. (You can also do this + automatically by running the `./init.sh ` script.) 1. Update `input/v1beta1/` to reflect your desired input (and run `go generate`) 1. Add your logic to `RunFunction` in `fn.go` 1. Add tests for your logic in `fn_test.go` diff --git a/init.sh b/init.sh new file mode 100755 index 0000000..523fbb5 --- /dev/null +++ b/init.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +# This script helps initialize a new function project by +# replacing all instances of function-template-go with the +# name of your function. The scripts accepts two arguments: +# 1. The name of your function +# 2. The path to your function directory + +set -e + +cd "$2" || return + +# Replace function-template-go with the name of your function +# in go.mod +perl -pi -e s,function-template-go,"$1",g go.mod +# in fn.go +perl -pi -e s,function-template-go,"$1",g fn.go +# in examples +perl -pi -e s,function-template-go,"$1",g example/* + +echo "Function $1 has been initialised successfully"