Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clean up config #5208

Merged
merged 17 commits into from
May 3, 2021
Merged

Clean up config #5208

merged 17 commits into from
May 3, 2021

Conversation

fm3
Copy link
Member

@fm3 fm3 commented Feb 24, 2021

Cleaning up application.conf and its usages, as well as standalone-datastore.conf and standalone-tracingstore.conf.

Introduced conventions

  • prefer x.enabled for feature flags over x.active
  • prefer FiniteDuration or Duration data type for durations (no xInSeconds: Int anymore)
  • prefer uri over url except where really not applicable
  • x.cache.details for cache section of different blocks

TODO

  • gather feedback on naming/grouping
  • print warnings if old keys are still present
  • re-introduce http.port (play does not automatically listen to port supplied in http.uri)
  • run module health checks via http://localhost:${http.port} again
  • should we also tackle the features block? no, follow-up issue Clean up “features” config block #5423
  • include relevant subset of the table below to migration guide
  • double check that the old fields being present does not do harm
  • double check that the new fields being present does not do harm to old wK code

Steps to test:

  • start locally, should still run
  • CI should pass
  • test that airbrake still runs
  • standalone tracingstore should still run
  • standalone datastore should still run

Config key changes

old key new key notes
http.address removed used by play, default is 0.0.0.0, you can still overwrite it if necessary
actor.defaultTimeout removed was already unused
js.defaultTimeout removed was already unused
akka.loggers removed was already unused
application.name removed was already unused
application.branch removed was already unused
application.version removed was already unused
application.title webKnossos.tabTitle
application.insertInitialData webKnossos.sampleOrganization.enabled
application.insertLocalConnectDatastore removed feature removed, insert manually instead
application.authentication.defaultuser.email webKnossos.sampleOrganization.user.email
application.authentication.defaultUser.password webKnossos.sampleOrganization.user.password
application.authentication.defaultUser.token webKnossos.sampleOrganization.user.token
application.authentication.defaultUser.isSuperUser webKnossos.sampleOrganization.user.isSuperUser
application.authentication.ssoKey webKnossos.user.ssoKey
application.authentication.inviteExpiry webKnossos.user.inviteExpiry
webKnossos.user.time.tracingPauseInSeconds webKnossos.user.time.tracingPause type changed from Int to FiniteDuration, add seconds
webKnossos.query.maxResults removed was already unused
user.cacheTimeoutInMinutes webKnossos.cache.user.timeout type changed from Int to FiniteDuration, add minutes
tracingstore.enabled removed info contained in play.modules.enabled
datastore.enabled removed info contained in play.modules.enabled
datastore.webKnossos.pingIntervalMinutes datastore.webKnossos.pingInterval type changed from Int to FiniteDuration, add minutes
braingames.binary.cacheMaxSize datastore.cache.dataCube.maxEntries
braingames.binary.mappingCacheMaxSize datastore.cache.mapping.maxEntries
braingames.binary.agglomerateFileCacheMaxSize datastore.cache.agglomerateFile.maxFileHandleEntries
braingames.binary.agglomerateCacheMaxSize datastore.cache.agglomerateFile.maxSegmentIdEntries
braingames.binary.agglomerateStandardBlockSize datastore.cache.agglomerateFile.blockSize
braingames.binary.agglomerateMaxReaderRange datastore.cache.agglomerateFile.cumsumMaxReaderRange
braingames.binary.loadTimeout removed was already unused
braingames.binary.saveTimeout removed was already unused
braingames.binary.isosurfaceTimeout datastore.isosurface.timeout type changed from Int to FiniteDuration, add seconds
braingames.binary.isosurfaceActorPoolSize datastore.isosurface.actorPoolSize
braingames.binary.baseFolder datastore.baseFolder
braingames.binary.agglomerateSkeletonEdgeLimit datastore.agglomerateSkeleton.maxEdges
braingames.binary.changeHandler.enabled datastore.watchFileSystem.enabled
braingames.binary.tickerInterval datastore.watchFileSystem.interval type changed from Int to FiniteDuration, add minutes
mail.enabled removed now enabled if mail.host is non-empty
jobs.username jobs.user
braintracing.active braintracing.enabled
braintracing.url braintracing.uri
airbrake.apiKey removed was already unused
airbrake.ssl removed was already unused
airbrake.enabled removed was already unused
airbrake.endpoint removed was already unused
slackNotifications.url slackNotifications.uri
google.analytics.trackingId googleAnalytics.trackingId
operatorData webKnossos.operatorData

Issues:

Before merging:

  • after review, edit dev deployment values in kube so that it can handle the new config
  • then, also handle production deployment values.yaml

@fm3 fm3 self-assigned this Feb 24, 2021
@fm3 fm3 changed the title [WIP] clean up config Clean up config Apr 26, 2021
@fm3 fm3 marked this pull request as ready for review April 26, 2021 09:35
@fm3 fm3 requested a review from youri-k April 26, 2021 09:47
Copy link
Contributor

@youri-k youri-k left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM :shipit:

I really like the standardization and cleaner duration definitions. Well done 🎉

@fm3 fm3 merged commit ba814b3 into master May 3, 2021
@fm3 fm3 deleted the cleaner-config branch May 3, 2021 10:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Clean up Config Field Naming
2 participants