Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mistermx/crossplane-function-server
High-level SDK to implement multiple Crossplane composition functions in a single image
https://github.com/mistermx/crossplane-function-server
crossplane crossplane-compositions crossplane-xfn
Last synced: about 1 month ago
JSON representation
High-level SDK to implement multiple Crossplane composition functions in a single image
- Host: GitHub
- URL: https://github.com/mistermx/crossplane-function-server
- Owner: MisterMX
- License: apache-2.0
- Created: 2023-12-22T14:59:25.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-02-15T10:40:19.000Z (10 months ago)
- Last Synced: 2024-05-10T13:46:32.600Z (8 months ago)
- Topics: crossplane, crossplane-compositions, crossplane-xfn
- Language: Go
- Homepage:
- Size: 77.1 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Crossplane Function Server
Crossplane Function Server is a high-level runtime based on the
[Crossplane Function SDK](https://github.com/crossplane/function-sdk-go).
It aims to solve two issues with the current implementation of Go
composition functions:* Provide a simpler and more abstract API to implement functions since the
native Go SDK is very bare-metal and requires developers to deal with
low-level Protobuf structs.
* Serve multiple functions at once using the same image to allow complex
Crossplane platforms to reduce the required number of function images to a
bare minimum. With the original SDK one image can only run a single function.## Features
### High Level Function API
Function Server provides a high-level API that requires users to only deal with
`runtime.Object`s in order to define the desired resources to be created.
This allows developers to focus on the actual implementation of their function
logic without worrying about writing boilerplate or type conversion code.### Serve Multiple Functions at Once
Function Server is able to serve multiple composition functions at once by
implementing his own high-level virtual function API called `ServerFunction`.
One can register as many server functions during startup as needed.From a Crossplane perspective a Function Server still acts and looks like a
single function. Which server function should be executed is determined by
the input that is defined in every composition.## Example
See [`examples`](./examples).