Deployment
Server certificate
The faasshell service runs in https if there are “etc/server/server-cert.pem” and “etc/server/server-key.pem”. Otherwise it runs in http.
Self signed certificate is checked in the git repository”. You can print the contents as following.
$ openssl x509 -text -noout -in etc/server/server-cert.pem
In order to regenerate the self signed certificate, type the following command.
$ make cert
Otherwise follow the steps described in Generating Self Signed Certificate.
Docker
$ docker run -d -p 5984:5984 apache/couchdb
$ make -e docker_image_prefix=YOUR_PREFIX run
$ FAASSHELL_APIHOST=http://127.0.0.1:8080
$ DEMO=ec29e90c-188d-11e8-bb72-00163ec1cd01:0b82fe63b6bd450519ade02c3cb8f77ee581f25a810db28f3910e6cdd9d041bf
$ curl -ksLX GET ${FAASSHELL_APIHOST}/ -u $DEMO
{"version":"$Id rev.YYYY-MM-DD.COMMITID $"}
Kubernetes
$ kubectl create namespace faasshell
$ kubectl -n faasshell run couchdb --image=apache/couchdb
$ kubectl -n faasshell expose deployment couchdb --port=5984
$ kubectl -n faasshell get pod
NAME READY STATUS RESTARTS AGE
couchdb-69dbdcbb48-jzjz5 1/1 Running 0 1m
In case of proxy environment:
$ kubectl -n faasshell get service | grep couchdb | awk '{print $3}' 10.101.62.31 $ export NO_PROXY=$NO_PROXY,10.101.62.31
$ make -e docker_image_prefix=YOUR_PREFIX deploy
$ kubectl -n faasshell get pod
NAME READY STATUS RESTARTS AGE
couchdb-69dbdcbb48-jzjz5 1/1 Running 0 15m
faasshell-cb657b84b-sct6x 1/1 Running 0 52s
$ kubectl -n faasshell describe service faasshell | grep https | grep NodePort| awk '{print $3}' | cut -d'/' -f1
30954
$ FAASSHELL_APIHOST=https://${cluster_address}:30954
$ DEMO=ec29e90c-188d-11e8-bb72-00163ec1cd01:0b82fe63b6bd450519ade02c3cb8f77ee581f25a810db28f3910e6cdd9d041bf
$ curl -ksLX GET ${FAASSHELL_APIHOST}/ -u $DEMO
{"version":"$Id rev.YYYY-MM-DD.COMMITID $"}
${cluster_address} depends on clusters environment, it is opened at https://$(minikube ip):30954 in case of Minikube.
The port number is changed each service deployment, 30954 is just an example.