fcos-pinger-backend
Description
Backend for Fedora CoreOS Pinger (https://github.com/coreos/fedora-coreos-pinger).
Currently the backend server will only interpret the sent request body as a postData
struct and store the minimal
and full
data to the corresponding minimal
and full
collections under fcos_pinger
database.
Pre-requisites:
podman
: https://podman.io/getting-started/installation.htmlpodman-compose
: https://github.com/containers/podman-composekompose
: https://kubernetes.io/docs/tasks/configure-pod-container/translate-compose-kubernetes/#install-komposeoc
: https://www.okd.io/download.html#oc-platforms
Docker images used:
- MongoDB official image from Docker Hub (link_to_image)
- Red Hat Universal Base Image 8 (UBI) (link_to_image)
To run locally
$ podman-compose up
To stop running
$ podman-compose down
Deploy on OKD
# mongodb will try to run as root and modify `/data/db`
oc adm policy add-scc-to-user anyuid -z default
# convert to oc config with `kompose`
kompose --provider openshift --file docker-compose.yml convert
# create imagestream, deployment, and service
oc create -f mongodb-deploymentconfig.yaml && \
oc create -f mongodb-imagestream.yaml && \
oc create -f mongodb-service.yaml && \
oc create -f backend-deploymentconfig.yaml && \
oc create -f backend-imagestream.yaml && \
oc create -f backend-service.yaml
Networks
The default port for mongod and mongos instances is 27017, and the backend server is listening on port 5000. The networks between docker containers and host are shared, therefore to send POST request to server, all one needed was to send request to 127.0.0.1:5000
.
Tools used during development
- MongoDB Compass to visualize the DB (link_to_official-page)
- Postman for visualizing requests (link_to_official_page)