mulder is the backend side of The Jenkins X Files - the Jenkins X workshop. You can also see Scully, the frontend side.
It's a Go application that provides a (very) basic HTTP API, with 1 main endpoint:
-
GET /quote/randomwhich returns a random quote from FBI's most unwanted, in JSON:{ "quote": "I have a theory. Do you want to hear it?" } -
GET /healthzchecks the health of the application, and the connection to Redis. It returns either a200or500status code.
Dependencies:
- Redis - to store the quotes
Building:
go build
Running:
Either:
- build the binary with
go build, and run it - or run it directly with
go run .
Flags:
-listen-addr(string): host:port on which to listen. Default::8080-redis-addr(string): redis host:port to connect to. Default::6379-redis-connect-timeout(duration): timeout for connecting to redis. Default:1m0s
Unit Tests:
go test -v .
Integration Tests:
go test -v ./tests -addr HOST:PORT- don't forget to replace the
HOST:PORTargument with the hostname and port of a running mulder instance you want to test - the integration tests won't start it for you.
- don't forget to replace the
It ain't there, and it's on purpose - because the goal of the workshop is to write them, or at least have them automatically generated by Jenkins X.
But you can still find:
- a Docker image on the dockerhub, at thejenkinsxfiles/mulder
- Pull it with
docker pull thejenkinsxfiles/mulder:1.0.0 - Check the
Dockerfilein the dockerfile branch
- Pull it with
- an Helm chart at https://the-jenkins-x-files.github.io/charts/
- Check the chart sources in the helm-chart branch