pickonefish / ifconfig.me

Simple HTTP application for demos and tests

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

go version of ifconfig.me

Publish Container image to DockerHub Codeship Status for pmarques/ifconfig.me Build Status CircleCI Build Status Docker Build Status

This was my first project using go, a simple HTTP server that returns your public IP address. I'm using this project for demos and learning about Docker, Go and experiment some workflows.

Requirements

  • GO >=1.9 (otherwise the steps in this readme will not work)

Development

Run

go run app/main.go

Test

go test ./...

Create binary

Build / Compile

go build -o ifconfig.me app/main.go

Run

./ifconfig.me

Docker

  • Build
docker build -t ifconfig.me .
  • Run
docker run -p 8080:80 ifconfig.me

Kubernetes

kubectl apply -f k8s-test.yaml

Debug container

Since there is no OS or utils in the container we need to use Ephemeral Containers although it's currenlty in alpha. For more info check https://kubernetes.io/docs/concepts/workloads/pods/ephemeral-containers/

kubectl debug -it ifconfig.me --image=busybox --target=ifconfig.me-9bf8x

References

About

Simple HTTP application for demos and tests

License:MIT License


Languages

Language:Go 95.7%Language:Dockerfile 4.3%