Comments (15)
Hey @alexellis,
I have implemented a Controller for OpenFaaS definitions: https://github.com/jgensler8/openfaas-controller
To do so, I have generated and committed a go-client library for OpenFaaS: https://github.com/jgensler8/openfaas-client-go
Definitions look like the following:
apiVersion: "jgensler8.openfaas.apiextensions.k8s.io/v1"
kind: "Function"
metadata:
name: "samplefunction"
spec:
service: "myservicetwo"
image: "nginx:1.13"
envVars: []
envProcess: ""
registryAuth: ""
network: ""
As you can see, the apiversion
should probably change to something more "official." Perhaps referencing other projects (like Istio) could help with deciding a proper group
In terms of using the generated go client library, I think there is some overlap with openfaas/faas#214 as the names of the CRUD functions look like SystemFunctionsPut
instead of UpdateSystemFunctions
or UpdateFunction
Let me know what you think of the initial design as well as moving the go-client library elsewhere.
Regards,
Jeff
from faas-netes.
@stefanprodan has started to do a spike on this at https://github.com/openfaas-incubator/faas-o6s
Stefan can you update this issue with the discussion from the yesterday around versioning and migration.
@jgensler8 thanks for spending some time looking into this. Do we have you in the Slack community yet?
from faas-netes.
@alexellis I am not in the Slack Channel yet. I'll tweet or email in the next day or so.
from faas-netes.
Please email [email protected] so I can get you into the community Slack. If possible it'd be great to have you two collaborating on this piece.
from faas-netes.
Work is in progress on this. cc @jgensler8
from faas-netes.
@stefanprodan Could you share a little about what you've done with this?
I see it's implemented on openfaas-operator here: https://github.com/openfaas-incubator/openfaas-operator/pull/8
Is there any chance of that getting ported back here?
from faas-netes.
I would deprecate the current faas-netes code, move it to a branch and copy the openfaas-operator code into faas-netes master. The downside to this would be breaking compatibility with Kubernetes 1.7
from faas-netes.
faas-netes is stable and openfaas-operator is alpha, it needs testing and exposure which we are planning to do through allowing people to install it with Helm.
This issue should stay open to track the progress of above.
from faas-netes.
Ping to @jgensler8 - please could you take a look at our operator and kick the tires?
from faas-netes.
@alexellis I don't think I'll have time to look at your operator. I have explored non-Kubernetes options as the cost of hosting Kubernetes was too much for my side project.
from faas-netes.
You can host on a single node VPS for less than $5/month
from faas-netes.
@stefanprodan what thoughts do you have on the new operator framework/SDK via CoreOS/RedHat? Pros/cons? https://github.com/operator-framework
from faas-netes.
I've taken a look at the RedHat Operator SDK and my conclusion is that we should stick to the current implementation based on the official Kubernetes CRD Controller. The Operator SDK is pre-alpha and lacks some features that we need such as access to k8s_client, Prometheus Integration, EventRecorder support and many more.
from faas-netes.
Derek close: released as OpenFaaS Operator
from faas-netes.
Derek lock
from faas-netes.
Related Issues (20)
- [Question] About workflow in high concurrency situation HOT 3
- Gateway liveness and readiness probes failing [AKS] HOT 5
- OpenFaaS CE - Manually scale to zero HOT 1
- Support request for exceeding Docker Hub rate limit for Prometheus and NATS HOT 1
- Error response from daemon: manifest unknown HOT 2
- Container Gateway of pod faas-netes CrashLoopBackOff : Readiness probe failed and Liveness probe failed HOT 4
- Question on how to access the OpenFaaS gateway HOT 2
- Move to k8s.io/code-generator/kube_codegen.sh for codegen
- Question about OpenFaas CE limitations HOT 1
- Helm chart openfaas/openfaas:14.1.7 fails to install because annotation bool value is not quoted HOT 2
- basic-auth secret is missing in install yaml HOT 1
- [Question] unable to create function, maximum: 30 HOT 1
- Airgap support for Community Edition HOT 3
- Question about usage for Community Edition HOT 3
- Question : about local development for free users and pull policy HOT 1
- Support request about image pull policy HOT 2
- OpenFaaS CE and local registry with KinD HOT 2
- Error checking connectivity, OpenFaaS CE cannot be run in an offline environment: HOT 1
- CRDs are installed despite of createCRDs: false HOT 4
- Custom IngressClass cannot be set for gateway ingress HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from faas-netes.