Skip to content

Instantly share code, notes, and snippets.

@jberger
Created January 25, 2021 04:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jberger/4437328366e9fb3ac171d87745964f37 to your computer and use it in GitHub Desktop.
Save jberger/4437328366e9fb3ac171d87745964f37 to your computer and use it in GitHub Desktop.
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo
labels:
app: demo
spec:
replicas: 1
selector:
matchLabels:
app: demo
template:
metadata:
labels:
app: demo
spec:
imagePullSecrets:
- name: jberger-ghcr
containers:
- name: demo
image: perl:latest
command: ['/bin/sh']
args:
- '-c'
- |
cpanm -n Mojolicious && perl -Mojo -MSys::Hostname -E 'a("/" => sub ($c) { $c->ua->get_p("icanhazip.com")->then(sub ($tx) { chomp(my $ip = $tx->res->text); $c->render(json => {hostname => hostname, ip => $ip, xff => $c->req->headers->header("X-Forwarded-For")}) }) })->start' daemon
ports:
- containerPort: 3000
---
apiVersion: v1
kind: Service
metadata:
labels:
app: demo
name: demo
spec:
ports:
- port: 3000
selector:
app: demo
---
apiVersion: networking.x-k8s.io/v1alpha1
kind: HTTPRoute
metadata:
name: demo
labels:
gateway: prod-web
spec:
hostnames:
- demo.jberger.pl
rules:
- matches:
- path:
value: /
forwardTo:
- serviceName: demo
port: 3000
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment