Voting application contains various frontend and backend microservices. These microservices are deployed and are available over ingress in Roost Cluster.
An frontend application written in node to allow participants to vote.
Depends on: ballot and ecserver services
An backend app for voter written in Golang, to store the votes.
An frontend to manage the election candidates and uses ecserver as backend to store candidates lists.
Depends on: ecserver
An backend app written in Golang for election-commission to store list of candidates.
Right-click on Makefile and choose Run.
Pattern: http://$namespace.$serviceName.$clusterPublicIP.nip.io
Voter: default.voter.10.10.0.10.nip.io
ElectionCommission: default.ec.10.10.0.10.nip.io
Build and deploy service-test-suite in roost cluster. Roost intelligently identifies service dependencies. So whenever dependent service is modified, specified test suite is triggered. In event of building ballot image or restart of the ballot app, service test suite would be triggered and fitness events can be seen from event viewer ( Observability -> Service Fitness -> Fitness Event).
Deploy the services manually and get the endpoints of the services(service url).
In the terminal run the command:
gcloud builds submit . --config=<path/to/cloudbuild.yaml> \ --substitution=_TAG=<provide the tag name>, _BALLOT_ENDPOINT=<ballot service url>, _ECSERVER_ENDPOINT=<ecserver service endpoint>
Run the make generate command to generate the deployment YAMLs for all the services individually, if the users want to deploy a single microservice, these generated YAMLs will be located under generated-files/vote/templates/kubernetes-maifests.