Skip to content

Commit

Permalink
server: add dev environment and terraform main module
Browse files Browse the repository at this point in the history
  • Loading branch information
valldrac committed Oct 16, 2022
1 parent e42fbcb commit 41c2b04
Show file tree
Hide file tree
Showing 11 changed files with 698 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,7 @@ build/
.idea/
local.properties
*.iml
**/.terraform/*
*.tfstate
*.tfstate.*
crash.log
10 changes: 10 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
plugins {
id 'com.google.protobuf' version '0.8.17' apply false
id 'com.google.cloud.tools.jib' version '3.1.4' apply false
id 'org.ysb33r.terraform' version '0.12.2'
}

allprojects {
Expand Down Expand Up @@ -81,6 +82,15 @@ subprojects {
}
}

terraformSourceSets {
dev {
srcDir = 'terraform'
variables {
file 'env/dev.tfvars'
}
}
}

static def gitVersion() {
return 'git describe --tags --always --first-parent'.execute().text.trim()
}
77 changes: 77 additions & 0 deletions gradle/verification-metadata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2184,6 +2184,14 @@
<sha256 value="fa79062b47000ac36b08ec53fb7da23d4951857f7e32ca0558118acd39ff1bcf" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="net.sourceforge.nekohtml" name="nekohtml" version="1.9.14">
<artifact name="nekohtml-1.9.14.jar">
<sha256 value="8ab048645c8faf73540475afb513d7354e1b6e0fcaf98bb842ab81605ef80ffd" origin="Generated by Gradle"/>
</artifact>
<artifact name="nekohtml-1.9.14.pom">
<sha256 value="c1e21ea0c61a212f04063773fdcffb233f1b4356cf9e5767372f56e5c80f3a75" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.antlr" name="antlr4-master" version="4.9">
<artifact name="antlr4-master-4.9.pom">
<sha256 value="fa543fe6d3c8b3356912a46334f87168c281b450feea44132d08c0aa6cf13866" origin="Generated by Gradle"/>
Expand Down Expand Up @@ -3738,6 +3746,14 @@
<sha256 value="4391dc71e2ace68b210a9763e929e7365348003ddb5e1f60f46edc8809c22f0e" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.tukaani" name="xz" version="1.6">
<artifact name="xz-1.6.jar">
<sha256 value="a594643d73cc01928cf6ca5ce100e094ea9d73af760a5d4fb6b75fa673ecec96" origin="Generated by Gradle"/>
</artifact>
<artifact name="xz-1.6.pom">
<sha256 value="06843f984cf0ad3ecd4196861404ddc4af83ec37a1eb7a1773ab89db02b4020f" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.whispersystems" name="curve25519-java" version="0.5.0">
<artifact name="curve25519-java-0.5.0.jar">
<sha256 value="0aadd43cf01d11e9b58f867b3c4f25c3194e8b0623d1953d32dfbfbee009e38d" origin="Generated by Gradle"/>
Expand Down Expand Up @@ -3783,6 +3799,59 @@
<sha256 value="b495c4ed5a8d05513c1d881246dc50d5e15977c3cf6aaf9ad4283e06ac40477a" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ysb33r.gradle" name="grolifant-core" version="1.3.1">
<artifact name="grolifant-core-1.3.1.jar">
<sha256 value="81b3e75fd05b30dfc87c1411e1a5cff586b06886c033094ee3ab2fa9b73ec6b9" origin="Generated by Gradle"/>
</artifact>
<artifact name="grolifant-core-1.3.1.module">
<sha256 value="d5da0a0c0ae0b3af21fec1bb79fa21885fe2889d13884d811368d1df2e12fcd0" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ysb33r.gradle" name="grolifant40" version="1.3.1">
<artifact name="grolifant40-1.3.1.jar">
<sha256 value="7fd591984e9f39716e844b4c345158f7cba73314847ceda370993fc7940fef10" origin="Generated by Gradle"/>
</artifact>
<artifact name="grolifant40-1.3.1.module">
<sha256 value="ccd283830fdc73aa66b3cb0357ed8eb6be17e23af29f66ad52a850f9ae49bc5d" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ysb33r.gradle" name="grolifant50" version="1.3.1">
<artifact name="grolifant50-1.3.1.jar">
<sha256 value="ffcbeab96ff6c07fe762ed6a74cd3c8b89592495d01cf4fed485609aec3802c5" origin="Generated by Gradle"/>
</artifact>
<artifact name="grolifant50-1.3.1.module">
<sha256 value="e3d6e8b2ddf7b35f0e1272289b71d803f1be37cd356b970fb263cc3418619f52" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ysb33r.gradle" name="grolifant60" version="1.3.1">
<artifact name="grolifant60-1.3.1.jar">
<sha256 value="4d90f29e1159cbc51a3f43e1bd6698ddf80214c77020e8054008177516bb43d2" origin="Generated by Gradle"/>
</artifact>
<artifact name="grolifant60-1.3.1.module">
<sha256 value="5701b93d59968b54cd3067e2a65b49a13693615f505ce09b18355956b64435a9" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ysb33r.gradle" name="grolifant70" version="1.3.1">
<artifact name="grolifant70-1.3.1.jar">
<sha256 value="045586eb052d33ac44b832ddea7d55fd7552d349663dad2ca21fb39c199e8cea" origin="Generated by Gradle"/>
</artifact>
<artifact name="grolifant70-1.3.1.module">
<sha256 value="659ce806f70908ae3e8ce4bf1aebcd55a42cb19ee0f46c35d3886f61fe31413d" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ysb33r.gradle" name="terraform-gradle-base" version="0.12.2">
<artifact name="terraform-gradle-base-0.12.2.jar">
<sha256 value="63d2b2ccb025286169ad6fa17b53659f4a4a36dbcce6a980a91fb6a141fbfcfe" origin="Generated by Gradle"/>
</artifact>
<artifact name="terraform-gradle-base-0.12.2.pom">
<sha256 value="a806c46a415c018b730507ccc5b365cfd60902b9f4ee9cf5575999fdd378d8de" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ysb33r.terraform" name="org.ysb33r.terraform.gradle.plugin" version="0.12.2">
<artifact name="org.ysb33r.terraform.gradle.plugin-0.12.2.pom">
<sha256 value="4999e423fd5879e949ab0feccce11554b86a00b30592f29975379e86d4b50242" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="pl.pragmatists" name="JUnitParams" version="1.1.1">
<artifact name="JUnitParams-1.1.1.jar">
<sha256 value="1be1aac16d424ce940d5407bef86656dc4ed5803c93e563cb1682ae07b591ecb" origin="Generated by Gradle"/>
Expand Down Expand Up @@ -4033,5 +4102,13 @@
<sha256 value="20a643c46de6bc30cc81fa3b9e3bb1697afa37168cc183745497b704969bbb92" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="xerces" name="xercesImpl" version="2.9.1">
<artifact name="xercesImpl-2.9.1.jar">
<sha256 value="9b4a8557217fe93c3a274d301e45c3f93caeb36f89b720a5f42ac34f7d27cd88" origin="Generated by Gradle"/>
</artifact>
<artifact name="xercesImpl-2.9.1.pom">
<sha256 value="46e1da01b9b74f0ab647472cbc6c7aef7b94efa678d791594109ce4613dd3336" origin="Generated by Gradle"/>
</artifact>
</component>
</components>
</verification-metadata>
58 changes: 58 additions & 0 deletions localstack/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
version: "2.4"

services:
accountdb:
image: postgres:14.0-alpine
user: "postgres"
healthcheck:
test: [ CMD-SHELL, "pg_isready -d accounts" ]
ports:
- "5432:5432"
environment:
- "POSTGRES_HOST_AUTH_METHOD=trust"
- "POSTGRES_DB=accounts"
volumes:
- "dev-accountdb-data:/var/lib/postgresql/data"

abusedb:
image: postgres:14.0-alpine
user: "postgres"
healthcheck:
test: [ CMD-SHELL, "pg_isready -d abuse" ]
ports:
- "5433:5432"
environment:
- "POSTGRES_HOST_AUTH_METHOD=trust"
- "POSTGRES_DB=abuse"
volumes:
- "dev-abusedb-data:/var/lib/postgresql/data"

redis-cluster:
image: grokzen/redis-cluster:6.2.0
ports:
- "7000-7002:7000-7002"
healthcheck:
test: [ CMD-SHELL, "redis-cli -p 7000 cluster info | grep ^cluster_state:ok" ]
environment:
- "SLAVES_PER_MASTER=0"
- "IP=0.0.0.0"
volumes:
- "dev-redis-data:/redis-data"

localstack:
image: localstack/localstack:0.12.19.1
healthcheck:
test: [ CMD-SHELL, "awslocal dynamodb list-tables && awslocal s3 ls" ]
ports:
- "4566:4566"
environment:
- "SERVICES=dynamodb,s3,sts"
- "DATA_DIR=/tmp/localstack/data"
volumes:
- "dev-localstack-data:/tmp/localstack"

volumes:
dev-accountdb-data:
dev-abusedb-data:
dev-redis-data:
dev-localstack-data:
23 changes: 23 additions & 0 deletions service/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -114,3 +114,26 @@ jib {
image = 'sweetlies-whisper-service:latest'
}
}

def devRuntimeEnvironment = [
AWS_REGION : "us-east-2",
AWS_ACCESS_KEY_ID : "test",
AWS_SECRET_ACCESS_KEY : "test",
AWS_ENDPOINT_OVERRIDE : "http://localhost:4566",
AWS_EC2_METADATA_DISABLED: "true",
ACCOUNTS_DB_URL : "jdbc:postgresql://localhost:5432/accounts",
ABUSE_DB_URL : "jdbc:postgresql://localhost:5433/abuse",
REDIS_CLUSTER_BASE_URL : "redis://localhost:7000"
]

task runServer(type: JavaExec) {
group = 'Application'
classpath = sourceSets.main.runtimeClasspath
getMainClass().set application.getMainClass()

if (args.isEmpty()) {
args(['server', 'config/dev.yml'])
}

environment(devRuntimeEnvironment)
}
Loading

0 comments on commit 41c2b04

Please sign in to comment.