yesllc / dadjokes
用于测试Kubernetes、Kong、Istio、Kuma等的Dad jokes微服务
Requires
- php: >=5.5
- yesllc/dadjokes: *
README
这是一个用于测试API网关(如Kong、Kubernetes K8s、OpenShift、Docker)以及服务网格(如Kuma或Istio)等的微服务或echo服务示例,可作为httpbin的替代品。您可以随意添加自己的笑话到这个仓库。除了Dad jokes,服务还会自动回显传入请求的信息。这有助于测试和故障排除。如果您不想显示回显请求数据,只需对/noecho
端点进行请求或通过将dadjokes服务的noecho环境变量设置为true来配置即可。
托管服务/演示
访问http://dadjokes.online以查看服务演示。
用法
端点URI : /
方法 : GET
POST
PUT
PATCH
DELETE
参数 : 可选
成功响应 : 200 OK
"Joke": { "Opener": "I burned 2000 calories today", "Punchline": "I left my food in the oven for too long.", "Processing Time": "0.001223" }, "RequestEcho": { "Headers": { "Host": "dadjokes.online", "Connection": "keep-alive", "X-Forwarded-For": "74.11.135.11", "X-Forwarded-Proto": "http", "X-Forwarded-Host": "dadjokes.online", "X-Forwarded-Port": "80", "X-Real-IP": "74.11.135.11", "Cache-Control": "max-age=0", "Upgrade-Insecure-Requests": "1", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "Accept-Encoding": "gzip, deflate", "Accept-Language": "en-US,en;q=0.9", "Cookie": "fsl=eijse8smkrfce80or4frpjnf87" }, "Method": "GET", "Origin": "192.11.166.11", "URI": "/echo", "Arguments": { "uri": "/echo" }, "Data": "", "URL": "http://dadjokes.online/echo" } }
禁用回显功能
要禁用传入响应中的回显,只需将docker环境变量DADJOKES_NOECHO=TRUE
添加到您的配置中,或者只需在请求调用的第一层使用\noecho
端点。例如
端点URI : /noecho/abc/efg/
方法 : GET
POST
PUT
PATCH
DELETE
参数 : 可选
成功响应 : 200 OK
{ "Jokes": { "Opener": "What did the mountain climber name his son?", "Punchline": "Cliff", "Processing Time": "0.001530" } }
安装
部署示例
在示例目录文件夹中查看Kubernetes、Kong for Kubernetes Ingress Controller和docker-compose的使用示例。
使用Docker
Docker镜像基于Alpine 3.11,运行PHP 7.3和Apache。容器公开了8100(HTTP)和8143(HTTPS)端口,使用自签名证书。如果您想更改容器配置,可以自由使用此仓库中的Dockerfile(https://github.com/yesinteractive/dad-jokes_microservice/blob/master/Dockerfile)。否则,您可以使用以下命令从DockerHub拉取最新镜像
docker pull yesinteractive/dadjokes
典型基本用法(以下示例在主机端口8100和8143上公开dadjokes)
$ docker run -d \
-p 8100:8100 \
-p 8143:8143 \
-e DADJOKES_NOECHO=FALSE \
yesinteractive/dadjokes
在Dockerfile中的典型用法
FROM yesinteractive/dadjokes
RUN echo <your commands here>