Skip to content

Instantly share code, notes, and snippets.

@sr229
Last active February 3, 2024 14:32
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sr229/6272521bcf82c32495519d87a4f5a5a4 to your computer and use it in GitHub Desktop.
Save sr229/6272521bcf82c32495519d87a4f5a5a4 to your computer and use it in GitHub Desktop.
Mysterium dVPN Node Kubernetes config
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mysterium-dvpn-node
spec:
replicas: 1
selector:
matchLabels:
app: mysterium-dvpn-node
template:
metadata:
labels:
app: mysterium-dvpn-node
spec:
containers:
- name: mysterium-dvpn-node
image: docker.io/mysteriumnetwork/myst:latest
ports:
- containerPort: 4449
securityContext:
privileged: true
capabilities:
add:
- NET_ADMIN
command: ["/usr/local/bin/docker-entrypoint.sh", "service", "--agreed-terms-and-conditions" ]
resources:
requests:
cpu: 100m
memory: 512Mi
limits:
cpu: 2
memory: 2048Mi
volumeMounts:
- name: mysterium-dvpn-node-pvc
mountPath: /var/lib/mysterium-node
volumes:
- name: mysterium-dvpn-node-pvc
persistentVolumeClaim:
claimName: mysterium-dvpn-node-pvc
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysterium-dvpn-node-pvc
spec:
storageClassName: local-path
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 512Mi
---
apiVersion: v1
kind: Service
metadata:
name: mysterium-dvpn-node-svc
spec:
ports:
- name: http
port: 4449
selector:
app: mysterium-dvpn-node
---
# We're assuming our user is using Traefik here, but we may want to make this into a helm chart instead
# if we're ever going to publish this to the marketplace at Civo.
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: mysterium-dvpn-node-ingress
annotations:
kubernetes.io/ingress.class: traefik
spec:
rules:
- host: mysterium.example.com
http:
paths:
- path: /
backend:
serviceName: mysterium-dvpn-node-svc
servicePort: http
@phamduchongan93
Copy link

hi, I used default Kubernetes ingress, but get an empty page why loading the app

@phamduchongan93
Copy link

phamduchongan93 commented Feb 3, 2024

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mystereum
spec:
  selector:
    matchLabels:
      app: myst
  replicas: 1 # You could also consider elastic scaling for this deployment
  template:
    metadata:
      labels:
        app: myst 
    spec:
      containers:
      - name: myst
        image:  docker.io/mysteriumnetwork/myst:latest
        ports:
        - containerPort: 4449
        securityContext:
          privileged: true
          capabilities:
            add:
            - NET_ADMIN
        command: ["/usr/local/bin/docker-entrypoint.sh", "service", "--agreed-terms-and-conditions" ]
        volumeMounts:
          - name: myst-vol
            mountPath: /var/lib/mysterium-node
      volumes:
      - name: myst-vol
        persistentVolumeClaim:
          claimName: pvc-myst
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: myst-pv
  labels:
    type: local
spec:
  capacity:
    storage: 1Gi
  accessModes:
  - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  storageClassName: manual
  hostPath:
    path: "/mnt/disk/vol3"
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: pvc-myst
spec:
  storageClassName: manual
  volumeMode: Filesystem
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
  volumeName: myst-pv

---
apiVersion: v1
kind: Service
metadata:
  name: myst
spec:
  selector:
    app: myst
  ports:
    - port: 4449      
      targetPort: 4449

---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: myst-ingress
  annotations:
    kubernetes.io/ingress.class: public
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - http:
      paths:
      - path: /myst
        pathType: Prefix
        backend:
          service:
            name: myst
            port:
              number: 4449

@phamduchongan93
Copy link

seems like it connected but I got an empty browser

{"active-services":"dvpn,scraping","node":{"version":"1162042961"},"terms":{"consumer-agreed":true,"provider-agreed":true,"version":"0.0.53"}}
2024-02-03T14:21:23.191 DBG ../../mmn/mmn.go:100                           > Identity unlocked, registration to MMN disabled because the API key missing in config.
2024-02-03T14:21:23.726 DBG ../../eventbus/event_bus.go:101                > Published topic="location-update-event" event={IP: ASN:20001 ISP:Charter Communications Inc Continent:NA Country:US Region:California City:Pomona IPType:residential}
2024-02-03T14:21:23.726 INF ../../core/discovery/discovery.go:92           > Starting discovery...
2024-02-03T14:21:23.729 DBG ../../eventbus/event_bus.go:101                > Published topic="Service status" event={ID:79377d7f-bd83-4f2d-92c5-4370bb9550ec ProviderID:0x6590498b3d6006f7f3ee236dd1a85e7d2d2efb3a Type:data_transfer Status:Running}
2024-02-03T14:21:23.730 INF ../../services/wireguard/service/service.go:247 > Wireguard: starting
2024-02-03T14:21:23.730 DBG ../../core/ip/cached_resolver.go:55            > Found cached outbound IP
2024-02-03T14:21:23.730 INF ../../services/wireguard/service/service.go:264 > Wireguard: started
2024-02-03T14:21:23.730 DBG ../../mmn/mmn.go:100                           > Identity unlocked, registration to MMN disabled because the API key missing in config.
2024-02-03T14:21:23.730 DBG ../../tequilapi/endpoints/config.go:165        > Setting user config value: "active-services" = "dvpn,scraping,data_transfer"
2024-02-03T14:21:23.730 DBG ../../eventbus/event_bus.go:101                > Published topic="config:active-services" event=dvpn,scraping,data_transfer
2024-02-03T14:21:23.734 INF ../../config/config.go:99                      > Saving user configuration
2024-02-03T14:21:23.734 INF ../../config/config.go:118                     > User configuration written: 
{"active-services":"dvpn,scraping,data_transfer","node":{"version":"1162042961"},"terms":{"consumer-agreed":true,"provider-agreed":true,"version":"0.0.53"}}
2024-02-03T14:21:24.019 INF ../../core/discovery/discovery.go:241          > Identity 0x6590498b3d6006f7f3ee236dd1a85e7d2d2efb3a not registered, delaying proposal registration until identity is registered
2024-02-03T14:21:24.019 INF ../../core/discovery/discovery.go:180          > Waiting for registration success event
2024-02-03T14:21:24.023 INF ../../session/pingpong/hermes_promise_settler.go:238 > Provider {0x6590498b3d6006f7f3ee236dd1a85e7d2d2efb3a} not registered, skipping
2024-02-03T14:21:24.029 INF ../../core/discovery/discovery.go:241          > Identity 0x6590498b3d6006f7f3ee236dd1a85e7d2d2efb3a not registered, delaying proposal registration until identity is registered
2024-02-03T14:21:24.029 INF ../../core/discovery/discovery.go:180          > Waiting for registration success event
2024-02-03T14:21:24.216 INF ../../session/pingpong/hermes_promise_settler.go:238 > Provider {0x6590498b3d6006f7f3ee236dd1a85e7d2d2efb3a} not registered, skipping

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment