go version of ifconfig.me
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
docker build -t ifconfig.me .
docker run -p 8080:80 ifconfig.me
Kubernetes
kubectl apply -f k8s
Debug container
Since there is no OS or utils in the container we need to use Ephemeral Containers. For
more info check https://kubernetes.io/docs/concepts/workloads/pods/ephemeral-containers/
kubectl -n ifconfig debug -it ifconfig-646c744cbc-8nkfn --image=busybox --target=ifconfig
References