Update deployment config (#128)

This commit is contained in:
walker-16 2023-02-02 16:01:05 -03:00 committed by GitHub
parent 69dce95474
commit ab0c42ed87
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
26 changed files with 263 additions and 23 deletions

View File

@ -0,0 +1,37 @@
{{ if eq .ENVIRONMENT "production" }}
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: {{ .NAME }}
namespace: {{ .NAMESPACE }}
annotations:
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/healthcheck-interval-seconds: "15"
alb.ingress.kubernetes.io/healthcheck-path: /api/v1/health
alb.ingress.kubernetes.io/healthcheck-port: traffic-port
alb.ingress.kubernetes.io/healthcheck-protocol: HTTP
alb.ingress.kubernetes.io/healthcheck-timeout-seconds: "5"
alb.ingress.kubernetes.io/healthy-threshold-count: "2"
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80} ]'
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/success-codes: "200"
alb.ingress.kubernetes.io/tags: createdBy=aws-controller
alb.ingress.kubernetes.io/target-type: ip
alb.ingress.kubernetes.io/unhealthy-threshold-count: "2"
alb.ingress.kubernetes.io/group.name: wormscan-group
external-dns.alpha.kubernetes.io/hostname: {{ .HOSTNAME }}
spec:
rules:
- host: {{ .HOSTNAME }}
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: {{ .NAME }}
port:
number: 80
{{ end }}

View File

@ -1,3 +1,23 @@
{{ if eq .ENVIRONMENT "production" }}
---
apiVersion: v1
kind: Service
metadata:
name: {{ .NAME }}
namespace: {{ .NAMESPACE }}
labels:
app: {{ .NAME }}
spec:
type: NodePort
selector:
app: {{ .NAME }}
ports:
- port: 80
targetPort: {{ .PORT }}
name: {{ .NAME }}
protocol: TCP
{{ else }}
---
apiVersion: v1
kind: Service
@ -17,7 +37,7 @@ spec:
targetPort: {{ .PORT }}
name: {{ .NAME }}
protocol: TCP
{{ end }}
---
apiVersion: apps/v1
kind: Deployment

14
deploy/api/env/production.env vendored Normal file
View File

@ -0,0 +1,14 @@
ENVIRONMENT=production
NAMESPACE=wormscan
NAME=wormscan-api
PORT=8000
REPLICAS=2
IMAGE_NAME=
RESOURCES_LIMITS_MEMORY=256Mi
RESOURCES_LIMITS_CPU=500m
RESOURCES_REQUESTS_MEMORY=128Mi
RESOURCES_REQUESTS_CPU=250m
WORMSCAN_RUNMODE=PRODUCTION
WORMSCAN_LOGLEVEL=INFO
WORMSCAN_P2PNETWORK=mainnet
HOSTNAME=api.wormscan.io

View File

@ -1,3 +1,4 @@
ENVIRONMENT=staging
NAMESPACE=wormscan
NAME=wormscan-api
PORT=8000
@ -9,5 +10,5 @@ RESOURCES_REQUESTS_MEMORY=128Mi
RESOURCES_REQUESTS_CPU=250m
WORMSCAN_RUNMODE=DEVELOPMENT
WORMSCAN_LOGLEVEL=INFO
WORMSCAN_P2PNETWORK=
HOSTNAME=api.staging.wormscan.io
WORMSCAN_P2PNETWORK=mainnet
HOSTNAME=api.staging.wormscan.io

14
deploy/api/env/test.env vendored Normal file
View File

@ -0,0 +1,14 @@
ENVIRONMENT=test
NAMESPACE=wormscan-testnet
NAME=wormscan-api
PORT=8000
REPLICAS=2
IMAGE_NAME=
RESOURCES_LIMITS_MEMORY=256Mi
RESOURCES_LIMITS_CPU=500m
RESOURCES_REQUESTS_MEMORY=128Mi
RESOURCES_REQUESTS_CPU=250m
WORMSCAN_RUNMODE=DEVELOPMENT
WORMSCAN_LOGLEVEL=INFO
WORMSCAN_P2PNETWORK=testnet
HOSTNAME=api.testnet.wormscan.io

View File

@ -6,4 +6,4 @@ metadata:
namespace: {{ .NAMESPACE }}
data:
mongo-database: {{ .MONGODB_DATABASE }}
redis-uri: {{ .REDIS_URI }}
redis-uri: {{ .REDIS_URI }}

View File

@ -1,4 +0,0 @@
NAMESPACE=wormscan
MONGODB_URI=
MONGODB_DATABASE=wormhole
REDIS_URI=

5
deploy/common/env/production.env vendored Normal file
View File

@ -0,0 +1,5 @@
ENVIRONMENT=production
NAMESPACE=wormscan
MONGODB_URI=
MONGODB_DATABASE=
REDIS_URI=

5
deploy/common/env/staging.env vendored Normal file
View File

@ -0,0 +1,5 @@
ENVIRONMENT=staging
NAMESPACE=wormscan
MONGODB_URI=
MONGODB_DATABASE=
REDIS_URI=

5
deploy/common/env/test.env vendored Normal file
View File

@ -0,0 +1,5 @@
ENVIRONMENT=test
NAMESPACE=wormscan-testnet
MONGODB_URI=
MONGODB_DATABASE=
REDIS_URI=

View File

@ -7,4 +7,4 @@ metadata:
data:
mongo-uri: {{ .MONGODB_URI }}
type: Opaque
type: Opaque

View File

@ -1,6 +1,7 @@
ENVIRONMENT=production
NAMESPACE=wormscan
NAME=wormscan-parser
REPLICAS=2
NAME=wormscan-fly
REPLICAS=5
IMAGE_NAME=
RESOURCES_LIMITS_MEMORY=256Mi
RESOURCES_LIMITS_CPU=500m
@ -10,5 +11,4 @@ SQS_URL=
SQS_AWS_REGION=
SQS_ACCESS_KEY_ID=
SQS_SECRET_ACCESS_KEY=
VAA_PAYLOAD_PARSER_URL=
VAA_PAYLOAD_PARSER_TIMEOUT=10
P2P_NETWORK=mainnet

View File

@ -1,3 +1,4 @@
ENVIRONMENT=staging
NAMESPACE=wormscan
NAME=wormscan-fly
REPLICAS=5
@ -10,4 +11,4 @@ SQS_URL=
SQS_AWS_REGION=
SQS_ACCESS_KEY_ID=
SQS_SECRET_ACCESS_KEY=
P2P_NETWORK=
P2P_NETWORK=mainnet

14
deploy/fly/env/test.env vendored Normal file
View File

@ -0,0 +1,14 @@
ENVIRONMENT=test
NAMESPACE=wormscan-testnet
NAME=wormscan-fly
REPLICAS=5
IMAGE_NAME=
RESOURCES_LIMITS_MEMORY=256Mi
RESOURCES_LIMITS_CPU=500m
RESOURCES_REQUESTS_MEMORY=128Mi
RESOURCES_REQUESTS_CPU=250m
SQS_URL=
SQS_AWS_REGION=
SQS_ACCESS_KEY_ID=
SQS_SECRET_ACCESS_KEY=
P2P_NETWORK=testnet

View File

@ -50,7 +50,7 @@ spec:
name: config
key: mongo-database
- name: P2P_NETWORK
value: {{ .P2P_NETWORK }}
value: {{ .P2P_NETWORK }}
- name: SQS_URL
value: {{ .SQS_URL }}
- name: AWS_REGION
@ -76,4 +76,4 @@ spec:
cpu: {{ .RESOURCES_LIMITS_CPU }}
requests:
memory: {{ .RESOURCES_REQUESTS_MEMORY }}
cpu: {{ .RESOURCES_REQUESTS_CPU }}
cpu: {{ .RESOURCES_REQUESTS_CPU }}

View File

@ -8,4 +8,4 @@ data:
aws-access-key-id: {{ .SQS_ACCESS_KEY_ID }}
aws-secret-access-key: {{ .SQS_SECRET_ACCESS_KEY }}
type: Opaque
type: Opaque

15
deploy/parser/env/production.env vendored Normal file
View File

@ -0,0 +1,15 @@
ENVIRONMENT=production
NAMESPACE=wormscan
NAME=wormscan-parser
REPLICAS=2
IMAGE_NAME=
RESOURCES_LIMITS_MEMORY=256Mi
RESOURCES_LIMITS_CPU=500m
RESOURCES_REQUESTS_MEMORY=128Mi
RESOURCES_REQUESTS_CPU=250m
SQS_URL=
SQS_AWS_REGION=
SQS_ACCESS_KEY_ID=
SQS_SECRET_ACCESS_KEY=
VAA_PAYLOAD_PARSER_URL=http://wormscan-vaa-payload-parser.wormscan
VAA_PAYLOAD_PARSER_TIMEOUT=10

15
deploy/parser/env/staging.env vendored Normal file
View File

@ -0,0 +1,15 @@
ENVIRONMENT=staging
NAMESPACE=wormscan
NAME=wormscan-parser
REPLICAS=2
IMAGE_NAME=
RESOURCES_LIMITS_MEMORY=256Mi
RESOURCES_LIMITS_CPU=500m
RESOURCES_REQUESTS_MEMORY=128Mi
RESOURCES_REQUESTS_CPU=250m
SQS_URL=
SQS_AWS_REGION=
SQS_ACCESS_KEY_ID=
SQS_SECRET_ACCESS_KEY=
VAA_PAYLOAD_PARSER_URL=http://wormscan-vaa-payload-parser.wormscan
VAA_PAYLOAD_PARSER_TIMEOUT=10

15
deploy/parser/env/test.env vendored Normal file
View File

@ -0,0 +1,15 @@
ENVIRONMENT=test
NAMESPACE=wormscan-testnet
NAME=wormscan-parser
REPLICAS=2
IMAGE_NAME=
RESOURCES_LIMITS_MEMORY=256Mi
RESOURCES_LIMITS_CPU=500m
RESOURCES_REQUESTS_MEMORY=128Mi
RESOURCES_REQUESTS_CPU=250m
SQS_URL=
SQS_AWS_REGION=
SQS_ACCESS_KEY_ID=
SQS_SECRET_ACCESS_KEY=
VAA_PAYLOAD_PARSER_URL=http://wormscan-vaa-payload-parser.wormscan-testnet
VAA_PAYLOAD_PARSER_TIMEOUT=10

View File

@ -77,4 +77,4 @@ spec:
cpu: {{ .RESOURCES_LIMITS_CPU }}
requests:
memory: {{ .RESOURCES_REQUESTS_MEMORY }}
cpu: {{ .RESOURCES_REQUESTS_CPU }}
cpu: {{ .RESOURCES_REQUESTS_CPU }}

View File

@ -8,4 +8,4 @@ data:
aws-access-key-id: {{ .SQS_ACCESS_KEY_ID }}
aws-secret-access-key: {{ .SQS_SECRET_ACCESS_KEY }}
type: Opaque
type: Opaque

View File

@ -1,3 +1,4 @@
ENVIRONMENT=production
NAMESPACE=wormscan
NAME=wormscan-spy
PORT=7777
@ -8,4 +9,4 @@ RESOURCES_LIMITS_CPU=500m
RESOURCES_REQUESTS_MEMORY=128Mi
RESOURCES_REQUESTS_CPU=250m
GRPC_ADDRESS=0.0.0.0:7777
HOSTNAME=staging-spy.wormscan.io
HOSTNAME=spy.wormscan.io

12
deploy/spy/env/staging.env vendored Normal file
View File

@ -0,0 +1,12 @@
ENVIRONMENT=staging
NAMESPACE=wormscan
NAME=wormscan-spy
PORT=7777
REPLICAS=2
IMAGE_NAME=
RESOURCES_LIMITS_MEMORY=256Mi
RESOURCES_LIMITS_CPU=500m
RESOURCES_REQUESTS_MEMORY=128Mi
RESOURCES_REQUESTS_CPU=250m
GRPC_ADDRESS=0.0.0.0:7777
HOSTNAME=spy.staging.wormscan.io

12
deploy/spy/env/test.env vendored Normal file
View File

@ -0,0 +1,12 @@
ENVIRONMENT=test
NAMESPACE=wormscan-testnet
NAME=wormscan-spy
PORT=7777
REPLICAS=2
IMAGE_NAME=
RESOURCES_LIMITS_MEMORY=256Mi
RESOURCES_LIMITS_CPU=500m
RESOURCES_REQUESTS_MEMORY=128Mi
RESOURCES_REQUESTS_CPU=250m
GRPC_ADDRESS=0.0.0.0:7777
HOSTNAME=spy.testnet.wormscan.io

View File

@ -0,0 +1,39 @@
{{ if eq .ENVIRONMENT "production" }}
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: {{ .NAME }}
namespace: {{ .NAMESPACE }}
annotations:
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/healthcheck-interval-seconds: '15'
alb.ingress.kubernetes.io/healthcheck-path: /spy.v1.SpyRPCService/SubscribeSignedVAA
alb.ingress.kubernetes.io/healthcheck-protocol: HTTP
alb.ingress.kubernetes.io/healthcheck-timeout-seconds: '5'
alb.ingress.kubernetes.io/healthy-threshold-count: '2'
alb.ingress.kubernetes.io/unhealthy-threshold-count: '2'
alb.ingress.kubernetes.io/success-codes: "0"
alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}]'
alb.ingress.kubernetes.io/backend-protocol: HTTPS
alb.ingress.kubernetes.io/backend-protocol-version: GRPC
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/tags: createdBy=aws-controller
alb.ingress.kubernetes.io/target-type: ip
alb.ingress.kubernetes.io/group.name: wormscan-grpc-group
alb.ingress.kubernetes.io/certificate-arn:
external-dns.alpha.kubernetes.io/hostname: {{ .HOSTNAME }}
spec:
rules:
- host: {{ .HOSTNAME }}
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: {{ .NAME }}
port:
number: 8001
{{ end }}

View File

@ -1,3 +1,22 @@
{{ if eq .ENVIRONMENT "production" }}
---
apiVersion: v1
kind: Service
metadata:
name: {{ .NAME }}
namespace: {{ .NAMESPACE }}
labels:
app: {{ .NAME }}
spec:
type: NodePort
selector:
app: {{ .NAME }}
ports:
- port: 8001
targetPort: {{ .PORT }}
name: {{ .NAME }}
protocol: TCP
{{ else }}
---
apiVersion: v1
kind: Service
@ -13,11 +32,11 @@ spec:
selector:
app: {{ .NAME }}
ports:
- port: 80
- port: 8001
targetPort: {{ .PORT }}
name: {{ .NAME }}
protocol: TCP
{{ end }}
---
apiVersion: apps/v1
kind: Deployment
@ -76,4 +95,4 @@ spec:
cpu: {{ .RESOURCES_LIMITS_CPU }}
requests:
memory: {{ .RESOURCES_REQUESTS_MEMORY }}
cpu: {{ .RESOURCES_REQUESTS_CPU }}
cpu: {{ .RESOURCES_REQUESTS_CPU }}