diff --git a/.github/workflows/Publish-Website.yml b/.github/workflows/Publish-Website.yml index ce42c3179..4045ae9fd 100644 --- a/.github/workflows/Publish-Website.yml +++ b/.github/workflows/Publish-Website.yml @@ -32,7 +32,7 @@ jobs: - name: Build mkdocs run: | - pip3 install mkdocs-macros-plugin + pip3 install mkdocs mkdocs-material mkdocs-macros-plugin mkdocs build - name: Deploy 🚀 diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index 5782cfaf3..d515e3b31 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -33,19 +33,20 @@ object Dependencies { val mavenPublishGradlePlugin = "com.vanniktech:gradle-maven-publish-plugin:0.12.0" val metricsCore = "io.dropwizard.metrics:metrics-core:4.0.2" val metricsParent = "io.dropwizard.metrics:metrics-parent:4.0.2" - val misk = "com.squareup.misk:misk:0.17.0" - val miskActions = "com.squareup.misk:misk-actions:0.17.0" - val miskAwsDynamodbTesting = "com.squareup.misk:misk-aws-dynamodb-testing:0.17.0" - val miskCore = "com.squareup.misk:misk-core:0.17.0" - val miskHibernate = "com.squareup.misk:misk-hibernate:0.17.0" - val miskHibernateTesting = "com.squareup.misk:misk-hibernate-testing:0.17.0" - val miskJdbc = "com.squareup.misk:misk-jdbc:0.17.0" - val miskJdbcTesting = "com.squareup.misk:misk-jdbc-testing:0.17.0" - val miskInject = "com.squareup.misk:misk-inject:0.17.0" - val miskMetrics = "com.squareup.misk:misk-metrics:0.17.0" - val miskService = "com.squareup.misk:misk-service:0.17.0" - val miskSlack = "com.squareup.misk:misk-slack:0.17.0" - val miskTesting = "com.squareup.misk:misk-testing:0.17.0" + val misk = "com.squareup.misk:misk:0.19.0" + val miskActions = "com.squareup.misk:misk-actions:0.19.0" + val miskAwsDynamodb = "com.squareup.misk:misk-aws-dynamodb:0.19.0" + val miskAwsDynamodbTesting = "com.squareup.misk:misk-aws-dynamodb-testing:0.19.0" + val miskCore = "com.squareup.misk:misk-core:0.19.0" + val miskHibernate = "com.squareup.misk:misk-hibernate:0.19.0" + val miskHibernateTesting = "com.squareup.misk:misk-hibernate-testing:0.19.0" + val miskJdbc = "com.squareup.misk:misk-jdbc:0.19.0" + val miskJdbcTesting = "com.squareup.misk:misk-jdbc-testing:0.19.0" + val miskInject = "com.squareup.misk:misk-inject:0.19.0" + val miskMetrics = "com.squareup.misk:misk-metrics:0.19.0" + val miskService = "com.squareup.misk:misk-service:0.19.0" + val miskSlack = "com.squareup.misk:misk-slack:0.19.0" + val miskTesting = "com.squareup.misk:misk-testing:0.19.0" val moshiCore = "com.squareup.moshi:moshi:1.11.0" val moshiKotlin = "com.squareup.moshi:moshi-kotlin:1.11.0" val mysql = "mysql:mysql-connector-java:8.0.22" diff --git a/client-misk-dynamodb/build.gradle.kts b/client-misk-dynamodb/build.gradle.kts index a7b75ceb7..52f5711f9 100644 --- a/client-misk-dynamodb/build.gradle.kts +++ b/client-misk-dynamodb/build.gradle.kts @@ -14,13 +14,14 @@ dependencies { implementation(Dependencies.okio) implementation(Dependencies.kotlinStdLib) implementation(Dependencies.wireMoshiAdapter) - implementation(Dependencies.awsDynamodb) api(project(":client")) api(project(":client-misk")) testApi(project(":client-misk-testing")) implementation(Dependencies.misk) + implementation(Dependencies.awsDynamodb) + implementation(Dependencies.miskAwsDynamodb) implementation(Dependencies.miskInject) testImplementation(Dependencies.assertj) @@ -28,6 +29,8 @@ dependencies { testImplementation(Dependencies.junitEngine) testImplementation(Dependencies.miskAwsDynamodbTesting) testImplementation(Dependencies.kotlinTest) + + testImplementation(Dependencies.awsDynamodb) } val jar by tasks.getting(Jar::class) { diff --git a/client-misk-dynamodb/src/test/kotlin/app/cash/backfila/client/misk/dynamodb/BackfillsModule.kt b/client-misk-dynamodb/src/test/kotlin/app/cash/backfila/client/misk/dynamodb/BackfillsModule.kt index 624984147..73404f1af 100644 --- a/client-misk-dynamodb/src/test/kotlin/app/cash/backfila/client/misk/dynamodb/BackfillsModule.kt +++ b/client-misk-dynamodb/src/test/kotlin/app/cash/backfila/client/misk/dynamodb/BackfillsModule.kt @@ -2,18 +2,22 @@ package app.cash.backfila.client.misk.dynamodb import app.cash.backfila.client.misk.BackfillModule import app.cash.backfila.client.misk.client.BackfilaClientConfig +import misk.dynamodb.DynamoDbService import misk.inject.KAbstractModule +import misk.inject.toKey /** * Simulates a Backfills module where all the relevant backfills are registered. */ class BackfillsModule : KAbstractModule() { override fun configure() { + val dependsOn = listOf(DynamoDbService::class.toKey()) install( BackfillModule( BackfilaClientConfig( url = "test.url", slack_channel = "#test" - ) + ), + dependsOn = dependsOn ) ) install(DynamoDbBackfillModule.create()) diff --git a/client-misk-dynamodb/src/test/kotlin/app/cash/backfila/client/misk/dynamodb/TestingModule.kt b/client-misk-dynamodb/src/test/kotlin/app/cash/backfila/client/misk/dynamodb/TestingModule.kt index 464584bf9..114489f7b 100644 --- a/client-misk-dynamodb/src/test/kotlin/app/cash/backfila/client/misk/dynamodb/TestingModule.kt +++ b/client-misk-dynamodb/src/test/kotlin/app/cash/backfila/client/misk/dynamodb/TestingModule.kt @@ -19,7 +19,7 @@ import misk.logging.LogCollectorModule */ class TestingModule : KAbstractModule() { override fun configure() { - install(DeploymentModule.forTesting()) + install(DeploymentModule(wisp.deployment.TESTING)) install(LogCollectorModule()) install(MiskTestingServiceModule()) install(BackfillsModule()) diff --git a/client-misk-hibernate/src/test/kotlin/app/cash/backfila/client/misk/ClientMiskTestingModule.kt b/client-misk-hibernate/src/test/kotlin/app/cash/backfila/client/misk/ClientMiskTestingModule.kt index 371b6e437..34653021a 100644 --- a/client-misk-hibernate/src/test/kotlin/app/cash/backfila/client/misk/ClientMiskTestingModule.kt +++ b/client-misk-hibernate/src/test/kotlin/app/cash/backfila/client/misk/ClientMiskTestingModule.kt @@ -48,7 +48,7 @@ internal class ClientMiskTestingModule( }) install(JdbcTestingModule(ClientMiskService::class)) - install(DeploymentModule.forTesting()) + install(DeploymentModule(wisp.deployment.TESTING)) install(LogCollectorModule()) install(MiskTestingServiceModule()) install(EmbeddedBackfilaModule()) diff --git a/client-misk-jooq/src/test/kotlin/app/cash/backfila/client/misk/config/ClientJooqTestingModule.kt b/client-misk-jooq/src/test/kotlin/app/cash/backfila/client/misk/config/ClientJooqTestingModule.kt index f0e41ff12..f66c786b0 100644 --- a/client-misk-jooq/src/test/kotlin/app/cash/backfila/client/misk/config/ClientJooqTestingModule.kt +++ b/client-misk-jooq/src/test/kotlin/app/cash/backfila/client/misk/config/ClientJooqTestingModule.kt @@ -34,7 +34,7 @@ import javax.inject.Qualifier class ClientJooqTestingModule : KAbstractModule() { override fun configure() { install(MiskTestingServiceModule()) - install(DeploymentModule.forTesting()) + install(DeploymentModule(wisp.deployment.TESTING)) val datasourceConfig = DataSourceConfig( type = DataSourceType.MYSQL, username = "root", diff --git a/client-misk-static/src/test/kotlin/app/cash/backfila/client/misk/static/TestingModule.kt b/client-misk-static/src/test/kotlin/app/cash/backfila/client/misk/static/TestingModule.kt index f87f29c57..cb482c745 100644 --- a/client-misk-static/src/test/kotlin/app/cash/backfila/client/misk/static/TestingModule.kt +++ b/client-misk-static/src/test/kotlin/app/cash/backfila/client/misk/static/TestingModule.kt @@ -11,7 +11,7 @@ import misk.logging.LogCollectorModule */ class TestingModule : KAbstractModule() { override fun configure() { - install(DeploymentModule.forTesting()) + install(DeploymentModule(wisp.deployment.TESTING)) install(LogCollectorModule()) install(MiskTestingServiceModule()) install(BackfillsModule()) diff --git a/client-misk/src/test/kotlin/app/cash/backfila/client/misk/TestingModule.kt b/client-misk/src/test/kotlin/app/cash/backfila/client/misk/TestingModule.kt index 1ad0abc9e..b80b0d1a8 100644 --- a/client-misk/src/test/kotlin/app/cash/backfila/client/misk/TestingModule.kt +++ b/client-misk/src/test/kotlin/app/cash/backfila/client/misk/TestingModule.kt @@ -8,7 +8,7 @@ import misk.logging.LogCollectorModule class TestingModule : KAbstractModule() { override fun configure() { - install(DeploymentModule.forTesting()) + install(DeploymentModule(wisp.deployment.TESTING)) install(LogCollectorModule()) install(MiskTestingServiceModule()) install(BackfillsModule()) diff --git a/client-misk/src/test/kotlin/app/cash/backfila/client/misk/backend/NoBackfillsModule.kt b/client-misk/src/test/kotlin/app/cash/backfila/client/misk/backend/NoBackfillsModule.kt index 6029f80e7..87c55a852 100644 --- a/client-misk/src/test/kotlin/app/cash/backfila/client/misk/backend/NoBackfillsModule.kt +++ b/client-misk/src/test/kotlin/app/cash/backfila/client/misk/backend/NoBackfillsModule.kt @@ -10,7 +10,7 @@ import misk.logging.LogCollectorModule class NoBackfillsModule : KAbstractModule() { override fun configure() { - install(DeploymentModule.forTesting()) + install(DeploymentModule(wisp.deployment.TESTING)) install(LogCollectorModule()) install(MiskTestingServiceModule()) diff --git a/mkdocs.yml b/mkdocs.yml index 9c5b67257..2cc730c0e 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -3,6 +3,7 @@ repo_name: Backfila repo_url: https://github.com/cashapp/backfila site_description: "Backfila: Service that manages backfill state, calling into other services to do batched work" site_author: Square, Inc. +site_url: '' remote_branch: gh-pages copyright: 'Copyright © 2019 Square, Inc.' diff --git a/service/src/main/kotlin/app/cash/backfila/dashboard/BackfilaDashboardModule.kt b/service/src/main/kotlin/app/cash/backfila/dashboard/BackfilaDashboardModule.kt index 840cf1be0..fbbe2f1ef 100644 --- a/service/src/main/kotlin/app/cash/backfila/dashboard/BackfilaDashboardModule.kt +++ b/service/src/main/kotlin/app/cash/backfila/dashboard/BackfilaDashboardModule.kt @@ -1,7 +1,7 @@ package app.cash.backfila.dashboard import javax.inject.Qualifier -import misk.environment.Deployment +import wisp.deployment.Deployment import misk.inject.KAbstractModule import misk.web.dashboard.WebTabResourceModule diff --git a/service/src/main/kotlin/app/cash/backfila/service/BackfilaDevelopmentService.kt b/service/src/main/kotlin/app/cash/backfila/service/BackfilaDevelopmentService.kt index ad4769d5d..f23682047 100644 --- a/service/src/main/kotlin/app/cash/backfila/service/BackfilaDevelopmentService.kt +++ b/service/src/main/kotlin/app/cash/backfila/service/BackfilaDevelopmentService.kt @@ -16,11 +16,7 @@ import app.cash.backfila.service.persistence.DbBackfillRun import misk.MiskApplication import misk.MiskCaller import misk.MiskRealServiceModule -import misk.environment.Deployment import misk.environment.DeploymentModule -import misk.environment.Env -import misk.environment.Environment -import misk.environment.EnvironmentModule import misk.hibernate.Session import misk.inject.KAbstractModule import misk.jdbc.DataSourceClusterConfig @@ -34,10 +30,9 @@ import misk.web.MiskWebModule import misk.web.WebConfig import misk.web.dashboard.AdminDashboardModule import okio.ByteString.Companion.encodeUtf8 +import wisp.deployment.Deployment fun main(args: Array) { - val environment = Environment.DEVELOPMENT - val env = Env(environment.toString()) val deployment = Deployment(name = "backfila", isLocalDevelopment = true) MiskApplication( @@ -60,7 +55,10 @@ fun main(args: Array) { override fun validateExtraData(connectorExtraData: String?) { } - override fun clientFor(serviceName: String, connectorExtraData: String?): BackfilaClientServiceClient { + override fun clientFor( + serviceName: String, + connectorExtraData: String? + ): BackfilaClientServiceClient { return object : BackfilaClientServiceClient { override fun prepareBackfill(request: PrepareBackfillRequest): PrepareBackfillResponse { return PrepareBackfillResponse( @@ -88,8 +86,7 @@ fun main(args: Array) { }) } }, - EnvironmentModule(environment = environment), - DeploymentModule(deployment, env), + DeploymentModule(deployment), BackfilaServiceModule( deployment, BackfilaConfig( diff --git a/service/src/main/kotlin/app/cash/backfila/service/BackfilaServiceModule.kt b/service/src/main/kotlin/app/cash/backfila/service/BackfilaServiceModule.kt index b55df049d..39bcea12c 100644 --- a/service/src/main/kotlin/app/cash/backfila/service/BackfilaServiceModule.kt +++ b/service/src/main/kotlin/app/cash/backfila/service/BackfilaServiceModule.kt @@ -21,7 +21,7 @@ import java.util.concurrent.Executors import javax.inject.Qualifier import javax.inject.Singleton import misk.config.ConfigModule -import misk.environment.Deployment +import wisp.deployment.Deployment import misk.inject.KAbstractModule import misk.security.authz.AccessAnnotationEntry import misk.slack.SlackModule diff --git a/service/src/main/kotlin/app/cash/backfila/service/SlackHelper.kt b/service/src/main/kotlin/app/cash/backfila/service/SlackHelper.kt index af35c8d3c..1aa90965a 100644 --- a/service/src/main/kotlin/app/cash/backfila/service/SlackHelper.kt +++ b/service/src/main/kotlin/app/cash/backfila/service/SlackHelper.kt @@ -2,18 +2,18 @@ package app.cash.backfila.service import app.cash.backfila.service.persistence.BackfilaDb import app.cash.backfila.service.persistence.DbBackfillRun -import misk.environment.Env import misk.hibernate.Id import misk.hibernate.Transacter import misk.hibernate.load import misk.slack.SlackClient +import wisp.deployment.Deployment import javax.inject.Inject class SlackHelper @Inject constructor( @BackfilaDb private val transacter: Transacter, private val slackClient: SlackClient, private val backfilaConfig: BackfilaConfig, - private val env: Env + private val deployment: Deployment ) { fun runStarted(id: Id, user: String) { val (message, channel) = transacter.transaction { session -> @@ -52,7 +52,8 @@ class SlackHelper @Inject constructor( } private fun nameAndId(run: DbBackfillRun) = - "[${env.name}] ${run.service.registry_name} `${run.registered_backfill.name}` (${idLink(run.id)})" + "[${deployment.name}] ${run.service.registry_name} `${run.registered_backfill.name}` " + + "(${idLink(run.id)})" private fun dryRunEmoji(run: DbBackfillRun) = if (run.dry_run) { diff --git a/service/src/main/kotlin/app/cash/backfila/service/runner/statemachine/BatchAwaiter.kt b/service/src/main/kotlin/app/cash/backfila/service/runner/statemachine/BatchAwaiter.kt index 47f8dae0b..f6fe4c698 100644 --- a/service/src/main/kotlin/app/cash/backfila/service/runner/statemachine/BatchAwaiter.kt +++ b/service/src/main/kotlin/app/cash/backfila/service/runner/statemachine/BatchAwaiter.kt @@ -108,8 +108,10 @@ class BatchAwaiter( matchingRecordsPerMinute = matchingRateCounter.projectedRate() if (backfillRunner.metadata.precomputingDone && matchingRecordsPerMinute!! > 0) { - val remaining = (backfillRunner.metadata.computedMatchingRecordCount - - backfilledMatchingRecordCount) + val remaining = ( + backfillRunner.metadata.computedMatchingRecordCount - + backfilledMatchingRecordCount + ) val etaMinutes = remaining.toDouble() / matchingRecordsPerMinute!! val etaMillis = etaMinutes * 60 * 1000 backfillRunner.factory.metrics.eta diff --git a/service/src/test/kotlin/app/cash/backfila/BackfilaTestingModule.kt b/service/src/test/kotlin/app/cash/backfila/BackfilaTestingModule.kt index 0fae55a53..bf479d664 100644 --- a/service/src/test/kotlin/app/cash/backfila/BackfilaTestingModule.kt +++ b/service/src/test/kotlin/app/cash/backfila/BackfilaTestingModule.kt @@ -50,7 +50,7 @@ internal class BackfilaTestingModule : KAbstractModule() { slack = null ) bind().toInstance(config) - install(DeploymentModule.forTesting()) + install(DeploymentModule(wisp.deployment.TESTING)) install(LogCollectorModule()) install(MiskTestingServiceModule())