skydive
skydive copied to clipboard
Create OpenShift operator
The Operator can be added in 3 phases:
- helm operator (based on https://github.com/skydive-project/skydive/pull/1963)
- ansible operator
- go operator
I finally found time to convert the HELM charts to a HELM based operator. I created a directory called operator under the contrib folder. I will create a PR shortly. One question. Do you want me to build a docker image and push it to dockerhub to live with the other skydive images out there?
Based on priority I will not have time to get the operator into operatorhub.io. There are instructions here if someone wants to pick up that task
https://operatorhub.io/contribute
Also there is good information here that the team has harvested when learning about operators
https://playbook.cloudpaklab.ibm.com/operator-certification/
I finally found time to convert the HELM charts to a HELM based operator. I created a directory called operator under the contrib folder. I will create a PR shortly. One question. Do you want me to build a docker image and push it to dockerhub to live with the other skydive images out there?
i would be happy to see current PR and based on that discuss changes ..
I tried to push to the repo but I get the following error:
remote: Permission to skydive-project/skydive.git denied to alericks21.
If you could give the id permission I can push or I could zip up the project and email it to you.
Thoughts?
@alericks21 You need to fork the Github Skydive project by clicking on "Fork" button on https://github.com/skydive-project/skydive After that, you should be able to do :
git remote add alericks21 [email protected]:alericks21/skydive.git
git push alericks21 [name of your branch]
The output of the git push command should return an URL to create a Pull Request.
You also need to upload your SSH public key on your Github account
Pushed
remote: Resolving deltas: 100% (3/3), completed with 2 local objects. remote: remote: Create a pull request for 'skydiveoperator' on GitHub by visiting: remote: https://github.com/alericks21/skydive/pull/new/skydiveoperator remote: To https://github.com/alericks21/skydive.git
- [new branch] skydiveoperator -> skydiveoperator Branch 'skydiveoperator' set up to track remote branch 'skydiveoperator' from 'origin'.
https://github.com/alericks21/skydive
You can test the operator by either logging into a cluster and do a: "operator-sdk up local"
or it can actually be deployed to a cluster:
Setup Service Account
$ kubectl create -f deploy/service_account.yaml
Setup RBAC
$ kubectl create -f deploy/role.yaml $ kubectl create -f deploy/role_binding.yaml
Setup the CRD
$ kubectl create -f deploy/crds/charts_v1alpha1_skydive_crd.yaml
Deploy the app-operator
$ kubectl create -f deploy/operator.yaml
Create an AppService CR
The default controller will watch for AppService objects and create a pod for each CR
$ kubectl create -f deploy/crds/charts_v1alpha1_skydive_cr.yaml