apioo / fusio

Open source API management platform

Home Page:https://www.fusio-project.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Is there any project or plan to pack the Fusio into Helm Charts?

wdhwang opened this issue · comments

Hi. I am trying to manage all containers by Helm Charts.
Is there any project or plan to pack the Fusio into Helm Charts?
Thanks & regards

Hi @wdhwang currently we have no Helm chart but in general this is a good idea, we should add this to our docker repo s. https://github.com/apioo/fusio-docker

Thank you for your response, hope to see it soon.

Hi, I am trying run Fusio on K8s, so I modified 'docker-compose.yml' in the following steps.

  1. Change fusio image source to 'image: fusio/fusio:4.0.0' at line 5.
  2. Change 'api.fusio.cloud' to 'master1' for my testing purpose.
  3. Change '8080' port to '30080' for using NodePort.
  4. Change 'mysql_fusio, worker_java, worker_javascript, worker_php, worker_python' names' underscore to hyphen as 'mysql-fusio, worker-java, worker-javascript, worker-php, worker-python'.
  5. Add 'lable' in fusio section at line 33.
    labels:
    kompose.service.type: NodePort
    kompose.service.nodeport.port: "30080"
  6. Add 'expose' in mysql-fusio section.
    expose:
    • 3306

After docker-compose.yml modified, and use 'kompose' to create K8s resource files.
kompose convert -f docker-compose.yml --with-kompose-annotation=false --out k8s/

And execute the following commands.
_kubectl create ns fusio
kubectl apply -n fusio -f k8s/worker-java-claim0-persistentvolumeclaim.yaml
kubectl apply -n fusio -f k8s/worker-javascript-claim0-persistentvolumeclaim.yaml
kubectl apply -n fusio -f k8s/worker-php-claim0-persistentvolumeclaim.yaml
kubectl apply -n fusio -f k8s/worker-python-claim0-persistentvolumeclaim.yaml
kubectl apply -n fusio -f k8s/mysql-fusio-claim0-persistentvolumeclaim.yaml

kubectl apply -n fusio -f k8s/fusio-service.yaml
kubectl apply -n fusio -f k8s/mysql-fusio-service.yaml

kubectl apply -n fusio -f k8s/worker-java-deployment.yaml
kubectl apply -n fusio -f k8s/worker-javascript-deployment.yaml
kubectl apply -n fusio -f k8s/worker-php-deployment.yaml
kubectl apply -n fusio -f k8s/worker-python-deployment.yaml
kubectl apply -n fusio -f k8s/mysql-fusio-deployment.yaml
kubectl apply -n fusio -f k8s/fusio-deployment.yaml

#kubectl apply -n fusio -f k8s/fusio-default-networkpolicy.yaml_

Finally, I could let Fusio running on K8s.
Fusio-on-K8s

I am not sure this is useful for the project or not. Just sharing with you.
docker-compose.zip

Hi, I am trying to create helm chart from K8s resource files after Fusio could run on K8s.
And I issued the following commands to create helm charts.
sed -e "s,true,false,g" -i k8s/default-networkpolicy.yaml
awk 'FNR==1 && NR!=1 {print "---"}{print}' k8s/
.yaml | helmify fusio-helm
helm install fusio --create-namespace -n fusio ./fusio-helm

But I found there were no files of Fusio under the directory of /var/lib/mysql/fusio in the Pod of MySQL.
So there were no tables in database of fusio.
And I still tried to figure out what happened.

I found the reason why the helm charts did not work. Because the service name in 'metadata' section was too long in the generated YAML file by helmify. So I removed all '{{ include "fusio-helm.fullname" . }}' from all YAML files. After testing, I think the attachment zip file worked.
fusio-helm.zip

If you are free, you may test it.

Thanks for the feedback and testing, I will try it out and see whether everything works, in general would it be ok for you if I add this to our https://github.com/apioo/fusio-docker repository?

Of course, you can. I hope this is helpful.

Any update?