From 24a30ffe08fb3be83fa91ea362ba21ada993f659 Mon Sep 17 00:00:00 2001 From: flxxyz Date: Thu, 20 Jul 2023 15:58:16 +0800 Subject: [PATCH] build: bumping up to v0.2.4 --- .bump/version | 2 +- .vscode/settings.json | 3 + deployment/base.yaml | 230 ++++++++++++++++++++++++++++++- deployment/maintenance.yaml | 25 ++-- deployment/static-mirroring.yaml | 31 +++-- deployment/worker.yaml | 212 +++------------------------- docker-compose.yml | 4 +- package.json | 2 +- 8 files changed, 282 insertions(+), 227 deletions(-) diff --git a/.bump/version b/.bump/version index 71790396..abd41058 100644 --- a/.bump/version +++ b/.bump/version @@ -1 +1 @@ -0.2.3 +0.2.4 diff --git a/.vscode/settings.json b/.vscode/settings.json index 55a8a31d..69151588 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -9,5 +9,8 @@ }, "[typescript]": { "editor.defaultFormatter": "denoland.vscode-deno" + }, + "[yaml]": { + "editor.defaultFormatter": "redhat.vscode-yaml" } } diff --git a/deployment/base.yaml b/deployment/base.yaml index e3656beb..6e576945 100644 --- a/deployment/base.yaml +++ b/deployment/base.yaml @@ -23,13 +23,235 @@ apiVersion: v1 kind: Service metadata: namespace: denostr - name: denostr-svc + name: denostr-relay-worker-svc labels: - component: denostr + app: denostr + component: relay-worker spec: ports: - name: ws - port: 8008 + port: 80 targetPort: 8008 selector: - component: denostr + app: denostr + component: relay-worker + +--- +apiVersion: v1 +kind: Service +metadata: + namespace: denostr + name: denostr-relay-maintenance-svc + labels: + app: denostr + component: relay-maintenance +spec: + ports: + - name: ws + port: 80 + targetPort: 8008 + selector: + app: denostr + component: relay-maintenance + +--- +apiVersion: v1 +kind: Service +metadata: + namespace: denostr + name: denostr-relay-static-mirroring-svc + labels: + app: denostr + component: relay-static-mirroring +spec: + ports: + - name: ws + port: 80 + targetPort: 8008 + selector: + app: denostr + component: relay-static-mirroring + +--- +apiVersion: v1 +data: + settings.yaml: | + info: + relay_url: wss://your-domain.com + name: "nostr relay by denostr" + description: Deno-based, cloud-native nostr implementation supported by ByteTrade and Revo, forked from nostream. + pubkey: replace-with-your-pubkey-in-hex + contact: mailto:operator@your-domain.com + payments: + enabled: false + processor: lnbits + feeSchedules: + admission: + - enabled: false + description: Admission fee charged per public key in msats (1000 msats = 1 satoshi) + amount: 1000000 + whitelists: + pubkeys: + - replace-with-your-pubkey-in-hex + event_kinds: + - 9735 # Nip-57 Lightning Zap Receipts + paymentsProcessors: + zebedee: + baseURL: https://api.zebedee.io/ + callbackBaseURL: https://relay.your-domain.com/callbacks/zebedee + ipWhitelist: + - "3.225.112.64" + - "::ffff:3.225.112.64" + lnbits: + baseURL: https://lnbits.your-domain.com/ + callbackBaseURL: https://relay.your-domain.com/callbacks/lnbits + lnurl: + invoiceURL: https://getalby.com/lnurlp/your-username + nodeless: + baseURL: https://nodeless.io + storeId: your-nodeless-io-store-id + opennode: + baseURL: api.opennode.com + callbackBaseURL: https://relay.your-domain.com/callbacks/opennode + network: + maxPayloadSize: 524288 + # Comment the next line if using CloudFlare proxy + remoteIpHeader: x-forwarded-for + # Uncomment the next line if using CloudFlare proxy + # remoteIpHeader: cf-connecting-ip + workers: + count: 0 + mirroring: + static: [] + limits: + invoice: + rateLimits: + - period: 60000 + rate: 12 + - period: 3600000 + rate: 30 + ipWhitelist: + - "::1" + - "10.10.10.1" + - "::ffff:10.10.10.1" + connection: + rateLimits: + - period: 1000 + rate: 24 + - period: 60000 + rate: 72 + ipWhitelist: + - "::1" + - "10.10.10.1" + - "::ffff:10.10.10.1" + event: + eventId: + minLeadingZeroBits: 0 + kind: + whitelist: [] + blacklist: [] + pubkey: + minBalance: 1000 + minLeadingZeroBits: 0 + whitelist: [] + blacklist: [] + createdAt: + maxPositiveDelta: 900 + maxNegativeDelta: 0 + content: + - description: 100 KB for event kind ranges 0-10 and 40-49 + kinds: + - - 0 + - 10 + - - 40 + - 49 + maxLength: 102400 + - description: 100 KB for event kind ranges 11-39 and 50-max + kinds: + - - 11 + - 39 + - - 50 + - 9007199254740991 + maxLength: 102400 + rateLimits: + - description: 30 events/min for event kinds 0, 3, 40 and 41 + kinds: + - 0 + - 3 + - 40 + - 41 + period: 60000 + rate: 30 + - description: 144 events/min for event kinds 1, 2, 4 and 42 + kinds: + - 1 + - 2 + - 4 + - 42 + period: 60000 + rate: 144 + - description: 1200 events/min for encrypted channel event kinds 104 and 140-142 + kinds: + - 104 + - 140 + - 141 + - 142 + period: 60000 + rate: 1200 + - description: 60 events/min for event kind ranges 5-7 and 43-49 + kinds: + - - 5 + - 7 + - - 43 + - 49 + period: 60000 + rate: 60 + - description: + 24 events/min for replaceable events and parameterized replaceable + events + kinds: + - - 10000 + - 19999 + - - 30000 + - 39999 + period: 60000 + rate: 24 + - description: 120 events/min for ephemeral events + kinds: + - - 20000 + - 29999 + period: 60000 + rate: 120 + - description: 4800 events/hour for all events + period: 3600000 + rate: 4800 + whitelists: + pubkeys: [] + ipAddresses: + - "::1" + - "10.10.10.1" + - "::ffff:10.10.10.1" + client: + subscription: + maxSubscriptions: 10 + maxFilters: 10 + maxFilterValues: 2500 + maxSubscriptionIdLength: 256 + maxLimit: 5000 + minPrefixLength: 4 + message: + rateLimits: + - description: 720 raw messages/min + period: 60000 + rate: 720 + ipWhitelist: + - "::1" + - "10.10.10.1" + - "::ffff:10.10.10.1" +kind: ConfigMap +metadata: + labels: + app: denostr + component: relay-worker + name: denostr-relay-config + namespace: denostr diff --git a/deployment/maintenance.yaml b/deployment/maintenance.yaml index 524dde3f..f00a668c 100644 --- a/deployment/maintenance.yaml +++ b/deployment/maintenance.yaml @@ -3,32 +3,35 @@ apiVersion: apps/v1 kind: StatefulSet metadata: namespace: denostr - name: denostr-maintenance-statefulset + name: denostr-relay-maintenance labels: - component: denostr + app: denostr + component: relay-maintenance spec: - serviceName: denostr-svc - replicas: 3 + serviceName: denostr-relay-maintenance-svc + replicas: 1 selector: matchLabels: - component: denostr + app: denostr + component: relay-maintenance template: metadata: labels: - component: denostr + app: denostr + component: relay-maintenance spec: imagePullSecrets: - name: ghcr containers: - name: relay - image: ghcr.io/denostr-lab/denostr:v0.2.3-maintenance + image: ghcr.io/denostr-lab/denostr:v0.2.4-maintenance imagePullPolicy: Always resources: requests: cpu: "100m" memory: "100Mi" limits: - cpu: "500m" + cpu: "300m" memory: "500Mi" env: - name: MONGO_URI @@ -38,11 +41,11 @@ spec: name: ws volumeMounts: - mountPath: /app/.nostr - name: denostr-config-val + name: denostr-config-vol volumes: - - name: denostr-config-val + - name: denostr-config-vol configMap: - name: denostr-worker-config + name: denostr-relay-config items: - key: settings.yaml path: settings.yaml diff --git a/deployment/static-mirroring.yaml b/deployment/static-mirroring.yaml index 8730f480..8b992418 100644 --- a/deployment/static-mirroring.yaml +++ b/deployment/static-mirroring.yaml @@ -3,34 +3,39 @@ apiVersion: apps/v1 kind: StatefulSet metadata: namespace: denostr - name: denostr-static-mirroring-statefulset + name: denostr-relay-static-mirroring labels: - component: denostr + app: denostr + component: relay-static-mirroring spec: - serviceName: denostr-svc - replicas: 3 + serviceName: denostr-relay-static-mirroring-svc + replicas: 1 selector: matchLabels: - component: denostr + app: denostr + component: relay-static-mirroring template: metadata: labels: - component: denostr + app: denostr + component: relay-static-mirroring spec: imagePullSecrets: - name: ghcr containers: - name: relay - image: ghcr.io/denostr-lab/denostr:v0.2.3-static-mirroring + image: ghcr.io/denostr-lab/denostr:v0.2.4-static-mirroring imagePullPolicy: Always resources: requests: cpu: "100m" memory: "100Mi" limits: - cpu: "500m" + cpu: "300m" memory: "500Mi" env: + - name: DEBUG + value: "*" - name: MONGO_URI value: "mongodb://user:pass@host:port/db?replicaSet=rs0&authSource=admin" ports: @@ -38,11 +43,11 @@ spec: name: ws volumeMounts: - mountPath: /app/.nostr - name: denostr-static-mirroring-config-val + name: denostr-config-vol volumes: - - name: denostr-config-val + - name: denostr-config-vol configMap: - name: denostr-worker-config + name: denostr-relay-config items: - - key: settings.yaml - path: settings.yaml + - key: settings.yaml + path: settings.yaml diff --git a/deployment/worker.yaml b/deployment/worker.yaml index 84999cd8..613f5405 100644 --- a/deployment/worker.yaml +++ b/deployment/worker.yaml @@ -3,34 +3,39 @@ apiVersion: apps/v1 kind: StatefulSet metadata: namespace: denostr - name: denostr-worker-statefulset + name: denostr-relay-worker labels: - component: denostr + app: denostr + component: relay-worker spec: - serviceName: denostr-svc - replicas: 3 + serviceName: denostr-relay-worker-svc + replicas: 1 selector: matchLabels: - component: denostr + app: denostr + component: relay-worker template: metadata: labels: - component: denostr + app: denostr + component: relay-worker spec: imagePullSecrets: - name: ghcr containers: - name: relay - image: ghcr.io/denostr-lab/denostr:v0.2.3-worker + image: ghcr.io/denostr-lab/denostr:v0.2.4-worker imagePullPolicy: Always resources: requests: cpu: "100m" memory: "100Mi" limits: - cpu: "500m" + cpu: "300m" memory: "500Mi" env: + - name: DEBUG + value: "*" - name: MONGO_URI value: "mongodb://user:pass@host:port/db?replicaSet=rs0&authSource=admin" ports: @@ -38,194 +43,11 @@ spec: name: ws volumeMounts: - mountPath: /app/.nostr - name: denostr-config-val + name: denostr-config-vol volumes: - name: denostr-config-val configMap: - name: denostr-worker-config + name: denostr-relay-config items: - - key: settings.yaml - path: settings.yaml - ---- -apiVersion: v1 -data: - settings.yaml: | - info: - relay_url: wss://your-domain.com - name: "nostr relay by denostr" - description: Deno-based, cloud-native nostr implementation supported by ByteTrade and Revo, forked from nostream. - pubkey: replace-with-your-pubkey-in-hex - contact: mailto:operator@your-domain.com - payments: - enabled: false - processor: lnbits - feeSchedules: - admission: - - enabled: false - description: Admission fee charged per public key in msats (1000 msats = 1 satoshi) - amount: 1000000 - whitelists: - pubkeys: - - replace-with-your-pubkey-in-hex - event_kinds: - - 9735 # Nip-57 Lightning Zap Receipts - paymentsProcessors: - zebedee: - baseURL: https://api.zebedee.io/ - callbackBaseURL: https://relay.your-domain.com/callbacks/zebedee - ipWhitelist: - - "3.225.112.64" - - "::ffff:3.225.112.64" - lnbits: - baseURL: https://lnbits.your-domain.com/ - callbackBaseURL: https://relay.your-domain.com/callbacks/lnbits - lnurl: - invoiceURL: https://getalby.com/lnurlp/your-username - nodeless: - baseURL: https://nodeless.io - storeId: your-nodeless-io-store-id - opennode: - baseURL: api.opennode.com - callbackBaseURL: https://relay.your-domain.com/callbacks/opennode - network: - maxPayloadSize: 524288 - # Comment the next line if using CloudFlare proxy - remoteIpHeader: x-forwarded-for - # Uncomment the next line if using CloudFlare proxy - # remoteIpHeader: cf-connecting-ip - workers: - count: 0 - mirroring: - static: [] - limits: - invoice: - rateLimits: - - period: 60000 - rate: 12 - - period: 3600000 - rate: 30 - ipWhitelist: - - "::1" - - "10.10.10.1" - - "::ffff:10.10.10.1" - connection: - rateLimits: - - period: 1000 - rate: 24 - - period: 60000 - rate: 72 - ipWhitelist: - - "::1" - - "10.10.10.1" - - "::ffff:10.10.10.1" - event: - eventId: - minLeadingZeroBits: 0 - kind: - whitelist: [] - blacklist: [] - pubkey: - minBalance: 1000 - minLeadingZeroBits: 0 - whitelist: [] - blacklist: [] - createdAt: - maxPositiveDelta: 900 - maxNegativeDelta: 0 - content: - - description: 100 KB for event kind ranges 0-10 and 40-49 - kinds: - - - 0 - - 10 - - - 40 - - 49 - maxLength: 102400 - - description: 100 KB for event kind ranges 11-39 and 50-max - kinds: - - - 11 - - 39 - - - 50 - - 9007199254740991 - maxLength: 102400 - rateLimits: - - description: 30 events/min for event kinds 0, 3, 40 and 41 - kinds: - - 0 - - 3 - - 40 - - 41 - period: 60000 - rate: 30 - - description: 144 events/min for event kinds 1, 2, 4 and 42 - kinds: - - 1 - - 2 - - 4 - - 42 - period: 60000 - rate: 144 - - description: 1200 events/min for encrypted channel event kinds 104 and 140-142 - kinds: - - 104 - - 140 - - 141 - - 142 - period: 60000 - rate: 1200 - - description: 60 events/min for event kind ranges 5-7 and 43-49 - kinds: - - - 5 - - 7 - - - 43 - - 49 - period: 60000 - rate: 60 - - description: - 24 events/min for replaceable events and parameterized replaceable - events - kinds: - - - 10000 - - 19999 - - - 30000 - - 39999 - period: 60000 - rate: 24 - - description: 120 events/min for ephemeral events - kinds: - - - 20000 - - 29999 - period: 60000 - rate: 120 - - description: 4800 events/hour for all events - period: 3600000 - rate: 4800 - whitelists: - pubkeys: [] - ipAddresses: - - "::1" - - "10.10.10.1" - - "::ffff:10.10.10.1" - client: - subscription: - maxSubscriptions: 10 - maxFilters: 10 - maxFilterValues: 2500 - maxSubscriptionIdLength: 256 - maxLimit: 5000 - minPrefixLength: 4 - message: - rateLimits: - - description: 720 raw messages/min - period: 60000 - rate: 720 - ipWhitelist: - - "::1" - - "10.10.10.1" - - "::ffff:10.10.10.1" -kind: ConfigMap -metadata: - labels: - component: denostr - name: denostr-worker-config - namespace: denostr + - key: settings.yaml + path: settings.yaml diff --git a/docker-compose.yml b/docker-compose.yml index eb5a9ae5..bf924d5b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,6 @@ services: denostr-server0: - image: ghcr.io/denostr-lab/denostr:v0.2.3-worker + image: ghcr.io/denostr-lab/denostr:v0.2.4-worker container_name: denostr-server0 environment: RELAY_PORT: 8008 @@ -27,7 +27,7 @@ services: networks: default: denostr-maintenance: - image: ghcr.io/denostr-lab/denostr:v0.2.3-maintenance + image: ghcr.io/denostr-lab/denostr:v0.2.4-maintenance container_name: denostr-maintenance environment: RELAY_PORT: 8008 diff --git a/package.json b/package.json index bd826140..52ae9e0a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "denostr", - "version": "0.2.3", + "version": "0.2.4", "description": "💪🏻 Deno-based, cloud-native Nostr relay forked from nostream. Sponsored by ByteTrade and Revo.", "supportedNips": [ 1,