Mulder is the Backend API of the Jenkins X workshop
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/random
which returns a random quote from FBI’s most unwanted, in JSON:
{
"quote": "I have a theory. Do you want to hear it?"
}
GET /healthz
checks the health of the application, and the connection to Redis. It returns either a 200
or 500
status code.
Dependencies:
Building:
go build
Running:
Either:
go build
, and run itgo 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
HOST:PORT
argument with the hostname and port of a running mulder instance you want to test - the integration tests won’t start it for you.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:
docker pull thejenkinsxfiles/mulder:1.0.0
Dockerfile
in the dockerfile branch