Skip to content

Commit

Permalink
Merge pull request #9 from seqeralabs/groundswell-regex
Browse files Browse the repository at this point in the history
fix: fixes a regex problem on groundswell manifest
  • Loading branch information
justinegeffen authored Oct 15, 2024
2 parents 9426b6e + a77a645 commit bded849
Show file tree
Hide file tree
Showing 3 changed files with 277 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
---
kind: ConfigMap
apiVersion: v1
metadata:
name: tower-groundswell-cfg
data:
# Server settings
SWELL_SERVER_HOST: "0.0.0.0"
SWELL_SERVER_PORT: "8090"

# API settings
SWELL_API_TRAIN_TIMEOUT: "60"
SWELL_API_TRAIN_BATCH_SIZE: "1000"
SWELL_API_PREDICT_FRACTIONAL_CPUS: "false"

# Database settings, different from the Tower DB credentials.
# If using Amazon RDS or similar managed database services, `SWELL_DB_URL` will have the form
# SWELL_DB_URL=mysql://db1.abcdefghijkl.us-east-1.rds.amazonaws.com:3306/swell or similar
SWELL_DB_URL: mysql://<ANOTHER_DB_AND_PORT>/swell
SWELL_DB_USER: swell
SWELL_DB_PASSWORD: <YOUR GROUNDSWELL DATABASE PASSWORD>
SWELL_DB_DIALECT: mysql
---
apiVersion: v1
kind: Service
metadata:
name: groundswell
labels:
app: groundswell
spec:
selector:
app: groundswell
ports:
- name: http
port: 8090
# targetPort must match with the SWELL_SERVER_PORT in the ConfigMap above.
targetPort: 8090
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: groundswell
labels:
app: groundswell
spec:
selector:
matchLabels:
app: groundswell
strategy:
type: Recreate

template:
metadata:
labels:
app: groundswell
spec:
imagePullSecrets:
- name: "cr.seqera.io"
securityContext:
fsGroup: 101

initContainers:
- name: wait-for-tower-db
image: "mysql:8.0"
command:
- 'bash'
- '-c'
- |
echo "$(date): starting check for db $TOWER_DB_URL"
# Strip initial Java connection string and options after '?' from URI
until mysqlsh --uri "$(echo $TOWER_DB_URL |cut -d'?' -f1 |sed -e 's@jdbc:\(.*\)@\1@')" -u"$TOWER_DB_USER" -p"$TOWER_DB_PASSWORD" --sql -e "SELECT VERSION()"; do
echo "$(date): see you in $SLEEP_PERIOD_SECONDS seconds"
sleep $SLEEP_PERIOD_SECONDS
done
echo "$(date): db server ready"
env:
- name: SLEEP_PERIOD_SECONDS
value: "5"
envFrom:
- configMapRef:
name: tower-backend-cfg

- name: wait-for-swell-db
image: "mysql:8.0"
command:
- 'bash'
- '-c'
- |
echo "$(date): starting check for db $SWELL_DB_URL"
# Strip initial Java connection string and options after '?' from URI
until mysqlsh --uri "$SWELL_DB_URL" -u"$SWELL_DB_USER" -p"$SWELL_DB_PASSWORD" --sql -e "SELECT VERSION()"; do
echo "$(date): see you in $SLEEP_PERIOD_SECONDS seconds"
sleep $SLEEP_PERIOD_SECONDS
done
echo "$(date): db server ready"
env:
- name: SLEEP_PERIOD_SECONDS
value: "5"
envFrom:
- configMapRef:
name: tower-groundswell-cfg

- name: migrate-db
image: "cr.seqera.io/private/nf-tower-enterprise/groundswell:0.4.0"
command: ['/opt/groundswell/bin/migrate-db.sh']
envFrom:
- configMapRef:
name: tower-groundswell-cfg
- configMapRef:
name: tower-backend-cfg

containers:
- name: groundswell
image: "cr.seqera.io/private/nf-tower-enterprise/groundswell:0.4.0"
env:
- name: MPLCONFIGDIR
value: "/tmp"
envFrom:
- configMapRef:
name: tower-backend-cfg
- configMapRef:
name: tower-groundswell-cfg
volumeMounts:
- name: tmp-volume
mountPath: /tmp/
securityContext:
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
runAsNonRoot: true
runAsUser: 101

volumes:
- name: tmp-volume
emptyDir:
sizeLimit: "1Gi"
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
---
kind: ConfigMap
apiVersion: v1
metadata:
name: tower-groundswell-cfg
data:
# Server settings
SWELL_SERVER_HOST: "0.0.0.0"
SWELL_SERVER_PORT: "8090"

# API settings
SWELL_API_TRAIN_TIMEOUT: "60"
SWELL_API_TRAIN_BATCH_SIZE: "1000"
SWELL_API_PREDICT_FRACTIONAL_CPUS: "false"

# Database settings, different from the tower DB credentials.
# If using Amazon RDS or similar managed database services, `SWELL_DB_URL` will have the form
# SWELL_DB_URL=mysql://db1.abcdefghijkl.us-east-1.rds.amazonaws.com:3306/swell or similar
SWELL_DB_URL: mysql://<DB_AND_PORT>/swell
SWELL_DB_USER: swell
SWELL_DB_PASSWORD: <YOUR DATABASE PASSWORD>
SWELL_DB_DIALECT: mysql
---
apiVersion: v1
kind: Service
metadata:
name: groundswell
labels:
app: groundswell
spec:
selector:
app: groundswell
ports:
- name: http
port: 8090
# targetPort must match with the SWELL_SERVER_PORT in the ConfigMap above.
targetPort: 8090
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: groundswell
labels:
app: groundswell
spec:
selector:
matchLabels:
app: groundswell
strategy:
type: Recreate

template:
metadata:
labels:
app: groundswell
spec:
imagePullSecrets:
- name: "cr.seqera.io"
securityContext:
fsGroup: 101

initContainers:
- name: wait-for-tower-db
image: "mysql:8.0"
command:
- 'bash'
- '-c'
- |
echo "$(date): starting check for db $TOWER_DB_URL"
# Strip initial Java connection string and options after '?' from URI
until mysqlsh --uri "$(echo $TOWER_DB_URL |cut -d'?' -f1 |sed -e 's@jdbc:\(.*\)@\1@')" -u"$TOWER_DB_USER" -p"$TOWER_DB_PASSWORD" --sql -e "SELECT VERSION()"; do
echo "$(date): see you in $SLEEP_PERIOD_SECONDS seconds"
sleep $SLEEP_PERIOD_SECONDS
done
echo "$(date): db server ready"
env:
- name: SLEEP_PERIOD_SECONDS
value: "5"
envFrom:
- configMapRef:
name: tower-backend-cfg

- name: wait-for-swell-db
image: "mysql:8.0"
command:
- 'bash'
- '-c'
- |
echo "$(date): starting check for db $SWELL_DB_URL"
# Strip initial Java connection string and options after '?' from URI
until mysqlsh --uri "$SWELL_DB_URL" -u"$SWELL_DB_USER" -p"$SWELL_DB_PASSWORD" --sql -e "SELECT VERSION()"; do
echo "$(date): see you in $SLEEP_PERIOD_SECONDS seconds"
sleep $SLEEP_PERIOD_SECONDS
done
echo "$(date): db server ready"
env:
- name: SLEEP_PERIOD_SECONDS
value: "5"
envFrom:
- configMapRef:
name: tower-groundswell-cfg

- name: migrate-db
image: "cr.seqera.io/private/nf-tower-enterprise/groundswell:0.4.0"
command: ['/opt/groundswell/bin/migrate-db.sh']
envFrom:
- configMapRef:
name: tower-groundswell-cfg
- configMapRef:
name: tower-backend-cfg

containers:
- name: groundswell
image: "cr.seqera.io/private/nf-tower-enterprise/groundswell:0.4.0"
env:
- name: MPLCONFIGDIR
value: "/tmp"
envFrom:
- configMapRef:
name: tower-backend-cfg
- configMapRef:
name: tower-groundswell-cfg
volumeMounts:
- name: tmp-volume
mountPath: /tmp/
securityContext:
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
runAsNonRoot: true
runAsUser: 101

volumes:
- name: tmp-volume
emptyDir:
sizeLimit: "1Gi"
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ spec:
- |
echo "$(date): starting check for db $TOWER_DB_URL"
# Strip initial Java connection string and options after '?' from URI
until mysqlsh --uri "$(echo $TOWER_DB_URL |sed -e 's@jdbc:\(.*\)?.*@\1@')" -u"$TOWER_DB_USER" -p"$TOWER_DB_PASSWORD" --sql -e "SELECT VERSION()"; do
until mysqlsh --uri "$(echo $TOWER_DB_URL |cut -d'?' -f1 |sed -e 's@jdbc:\(.*\)@\1@')" -u"$TOWER_DB_USER" -p"$TOWER_DB_PASSWORD" --sql -e "SELECT VERSION()"; do
echo "$(date): see you in $SLEEP_PERIOD_SECONDS seconds"
sleep $SLEEP_PERIOD_SECONDS
done
Expand Down Expand Up @@ -101,7 +101,7 @@ spec:
name: tower-groundswell-cfg

- name: migrate-db
image: "cr.seqera.io/private/nf-tower-enterprise/groundswell:0.3.3"
image: "cr.seqera.io/private/nf-tower-enterprise/groundswell:0.4.0"
command: ['/opt/groundswell/bin/migrate-db.sh']
envFrom:
- configMapRef:
Expand All @@ -111,7 +111,7 @@ spec:

containers:
- name: groundswell
image: "cr.seqera.io/private/nf-tower-enterprise/groundswell:0.3.3"
image: "cr.seqera.io/private/nf-tower-enterprise/groundswell:0.4.0"
env:
- name: MPLCONFIGDIR
value: "/tmp"
Expand Down

0 comments on commit bded849

Please sign in to comment.