Reddit Graph Visualizer: A tool for visualizing the relationships amongst the users of a subreddit.
This is a work-in-progress (under active development).
We're live! Check it out at https://rgv.stevenxie.me.
TODO: Add more information about features.
- Develop initial realtime-only version.
- Make visualizer more informative and usable.
- Improve / stabilize backend infrastructure.
- Add database-connected history-tracking capabilities.
rgv
can be deployed with Helm, using the repo located at
https://charts.stevenxie.me:
## Add repository.
helm repo add stevenxie https://charts.stevenxie.me
## Install the chart.
helm install -f values.yaml -n rgv stevenxie/rgv
See
deployment/charts/rgv/values.yaml
for an the default values.yaml
configuration.
To install rgv
for production, one should have an Ingress controller in the
target namespace, and configure a values.yaml
with an appropriate
ingress.host
value:
ingress:
host: rgv.stevenxie.me # example
rgv
is configured to build as a set of two Docker images (a frontend and an
API server), and to deploy on Kubernetes.
To deploy rgv
, create the Kubernetes resources defined in deployment/
:
cat deployment/* | kubectl create -f -
This is the easier way to make
rgv
publicly accessible; however, this requires the use of a load balancer, which may be cost-prohibitive.
If you intend to run rgv
behind a load balancer, go ahead and change the
rgv-frontend
service to type LoadBalancer
:
kubectl patch service rgv-frontend -p "
spec:
type: LoadBalancer
"
This method requires for you to have preconfigured an Ingress controller, like Traefik, which will route traffic from a publicly exposed node to the
rgv-frontend
service.
If you intend to run rgv
behind an Ingress controller (what I do), go ahead
and create an Ingress resource:
kubectl create -f - <<EOF
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: rgv-frontend
spec:
rules:
- host: "$YOUR_HOST" # e.g. rgv.example.com or an external IP
http:
paths:
- backend:
serviceName: rgv-frontend
servicePort: http
EOF
This Ingress resource is defined to route traffic from $YOUR_HOST
to the
http
port on the rgv-frontend
service (port 80).