Skip to content

Commit

Permalink
Merge pull request #7 from TheJacksonLaboratory/G3-205-add-redis-to-w…
Browse files Browse the repository at this point in the history
…ebsite

G3 205 Add redis to legacy website
  • Loading branch information
bergsalex committed Jun 18, 2024
2 parents cdef14c + 871d2d0 commit ca5b2e7
Show file tree
Hide file tree
Showing 16 changed files with 208 additions and 95 deletions.
5 changes: 4 additions & 1 deletion deploy/k8s/base/configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,7 @@ metadata:
name: geneweaver-legacy-config
data:
AUTH_CLIENTID: "wMjx3nGV24qneBjXqz52IhEpq6AU7reo"
APPLICATION_RESULTS: "/var/geneweaver/results"
APPLICATION_RESULTS: "/var/geneweaver/results"
CELERY_HOST: "redis-master"
CELERY_PORT: "6379"
CELERY_BACKEND: "redis"
11 changes: 10 additions & 1 deletion deploy/k8s/base/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,27 @@ spec:
metadata:
labels:
app: geneweaver-legacy
annotations:
gke-gcsfuse/volumes: "true"
spec:
serviceAccountName: workload-identity-geneweaver
volumes:
- name: geneweaver-legacy
emptyDir: { }
persistentVolumeClaim:
claimName: geneweaver-pvc
containers:
- name: geneweaver-legacy
image: geneweaver-legacy
imagePullPolicy: Always
volumeMounts:
- name: geneweaver-legacy
mountPath: /var/geneweaver/results
env:
- name: CELERY_PASSWORD
valueFrom:
secretKeyRef:
name: redis
key: redis-password
envFrom:
- configMapRef:
name: geneweaver-legacy-config
Expand Down
1 change: 1 addition & 0 deletions deploy/k8s/base/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ resources:
- deployment.yaml
- service.yaml
- external-secrets.yaml
- persistent-volume-claim.yaml
11 changes: 11 additions & 0 deletions deploy/k8s/base/persistent-volume-claim.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: geneweaver-pvc
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 100Gi
storageClassName: cloud-storage-rwm
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ namespace: dev
resources:
- ../../base
- ingress.yaml
patchesStrategicMerge:
- persistent-volume-claim.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: geneweaver-pvc
spec:
volumeName: geneweaver-pv-dev
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ namespace: sqa
resources:
- ../../base
- ingress.yaml
patchesStrategicMerge:
- persistent-volume-claim.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: geneweaver-pvc
spec:
volumeName: geneweaver-pv-sqa
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ namespace: prod
resources:
- ../../base
- ingress.yaml
patchesStrategicMerge:
- persistent-volume-claim.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: geneweaver-pvc
spec:
volumeName: geneweaver-pv-prod
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ namespace: stage
resources:
- ../../base
- ingress.yaml
patchesStrategicMerge:
- persistent-volume-claim.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: geneweaver-pvc
spec:
volumeName: geneweaver-pv-stage
214 changes: 126 additions & 88 deletions poetry.lock

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "geneweaver-legacy"
version = "1.2.0"
version = "1.3.0"
description = ""
authors = ["Alexander Berger <[email protected]>"]
readme = "README.md"
Expand All @@ -27,6 +27,7 @@ pandas = "^2.2.2"
pydantic = "^2.7.3"
pydantic-settings = "^2.3.0"
authlib = "^1.3.1"
redis = "^5.0.6"

[build-system]
requires = ["poetry-core"]
Expand Down
24 changes: 21 additions & 3 deletions src/config.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import os
import binascii
from typing import Any
from typing import Any, Optional

from pydantic import BaseModel, Field
from pydantic import BaseModel, Field, model_validator
from pydantic_settings import BaseSettings, SettingsConfigDict


Expand All @@ -23,8 +23,26 @@ class ApplicationConfig(BaseModel):

class Celery(BaseModel):

url: str = "amqp://geneweaver:geneweaver@localhost:5672/geneweaver"
backend: str = "amqp"
host: str = "localhost"
port: int = 5672
user: str = ""
password: str = ""
db: int = 1
url: Optional[str] = Field(None, validate_default=True)

@model_validator(mode='after')
def url_validator(self):
if self.url is None:
if self.password:
credentials = f"{self.user}:{self.password}@"
elif self.user:
credentials = f"{self.user}@"
else:
credentials = ""
db = f"/{self.db}" if self.db else ""
self.url = f"{self.backend}://{credentials}{self.host}:{self.port}{db}"
return self


class DB(BaseModel):
Expand Down
2 changes: 1 addition & 1 deletion src/tools/toolcommon.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
#broker=BROKER_URL,
#backend=CELERY_RESULT_BACKEND,
broker=config.get('celery', 'url'),
backend=config.get('celery', 'backend'),
backend=config.get('celery', 'url'),
)

# Optional configuration, see the application user guide.
Expand Down

0 comments on commit ca5b2e7

Please sign in to comment.