Skip to content

Instantly share code, notes, and snippets.

@onpaws
Created January 15, 2020 18:05
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save onpaws/998803b9fdd287b994aa5d1636d10fb3 to your computer and use it in GitHub Desktop.
Save onpaws/998803b9fdd287b994aa5d1636d10fb3 to your computer and use it in GitHub Desktop.
Instant Storj node for Kubernetes
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pv-standard-550g-disk01
annotations:
volume.beta.kubernetes.io/storage-class: standard
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 550Gi
---
apiVersion: v1
kind: Service
metadata:
name: storj-service
spec:
selector:
app: storj
type: LoadBalancer
ports:
- name: storj-core
port: 28967
protocol: TCP
- name: storj-dashboard
port: 14002
protocol: TCP
---
apiVersion: v1
kind: ConfigMap
metadata:
name: storj-identity-config
data:
ca.1579050683.cert: |
-----BEGIN CERTIFICATE-----
MII...your key goes here
-----END CERTIFICATE-----
ca.cert: |
-----BEGIN CERTIFICATE-----
MII...your key goes here
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MII...your key goes here
-----END CERTIFICATE-----
ca.key: |
-----BEGIN PRIVATE KEY-----
MIG...your key goes here
-----END PRIVATE KEY-----
identity.1579050683.cert: |
-----BEGIN CERTIFICATE-----
MIIBY...your key goes here
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIBZ...your key goes here
-----END CERTIFICATE-----
identity.cert: |
-----BEGIN CERTIFICATE-----
MIIBY...your key goes here
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIBZ...your key goes here
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MII...your key goes here
-----END CERTIFICATE-----
identity.key: |
-----BEGIN PRIVATE KEY-----
MII...your key goes here
-----END PRIVATE KEY-----
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: storj
labels:
app: storj
spec:
replicas: 1
selector:
matchLabels:
app: storj
template:
metadata:
labels:
app: storj
name: storj
spec:
terminationGracePeriodSeconds: 20
containers:
- name: storj-container
image: storjlabs/storagenode:beta
imagePullPolicy: Always
args: ["/app/identity /app/config"]
env:
- name: EMAIL
value: "your@email.com"
- name: BANDWIDTH
value: "2TB"
- name: STORAGE
value: "550GB"
- name: WALLET
value: "0x123abc..."
- name: ADDRESS
value: "34.76.150.93:28967"
volumeMounts:
- name: storj-identity-config
mountPath: /app/identity
- name: pv
mountPath: /app/config
volumes:
- name: storj-identity-config
configMap:
name: storj-identity-config
- name: pv
persistentVolumeClaim:
claimName: pv-standard-550g-disk01
@onpaws
Copy link
Author

onpaws commented Jan 15, 2020

Paste this into a Kubernetes cluster to easily and quickly deploy a new Storj node.

Note
You should provide your own identity and details (email, wallet, address, etc.)
To learn how check the docs.

++++++++++++++++
NB: While this should work on any Kubes provider, I've only personally tested on GKE, on January 15 2020.

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