2
0
mirror of https://github.com/VinylDNS/vinyldns synced 2025-08-31 14:25:30 +00:00
Commit Graph

74 Commits

Author SHA1 Message Date
Rebecca Star
bfb8aa7117 Mysql queue loader (#303)
* mysql queue loader

* use namedDB

* cleanup, make logging tweeaks
2018-10-29 11:27:43 -04:00
Paul Cleary
5a02347cfb Update to latest cats and fs2 (#301)
Needed to add implicit `ContextShift` whenever we use `par` features in the codebase.

Needed to add implicit `Timer` whenever we need to use scheduling or races.
2018-10-25 10:15:55 -04:00
Rebecca Star
8adc4e6073 move logging dep to core (#294) 2018-10-19 10:58:39 -04:00
Michael Ly
db6412b0d1 Implement message queue in AWS SQS (#255)
* Move SQS to module.

* Implement SqsMessageQueue
2018-10-12 10:21:44 -04:00
Britney Wright
99214f9e35 add edit button to doc site (#275) 2018-10-10 14:31:43 -04:00
TATSUNO Yasuhiro
fc15590a55 Add JDK 11 support (#272)
* Add JDK 9+ support

* Update sbt-assembly to support JDK 11

* Update aws-sdk to support JDK 11

* Deduplicate jaxb module-info.

* Add jaxb-core that is depended by jaxb-impl
2018-10-09 11:30:16 -04:00
Paul Cleary
60b83c2bb0 MySQL Message Queue (#259)
Create a MySQL Message Queue implementation.

* Created a `MySqlMessageQueue` in the mysql sub module
* Created a `MySqlMessage` that implements `CommandMessage` from core
* Created a `MessageType` enum to determine which type of command is on the message
* Created a `MySqlMessageQueueIntegrationSpec` which exercises 100% code coverage on the queue, including hidden behavior in the SQL
2018-10-09 10:33:05 -04:00
Marco F
116975f6f2 Add SBT coursier plugin 2018-10-02 09:57:10 -04:00
Michael Ly
bc63c79e09 Externalize MySQL module (#205)
* Externalize mysql.

* Updates based on feedback (pauljamescleary).

* Update publish settings for mysql.

* WIP

* Updates based on feedback (rebstar6).

* Update reference to MySQL.

* Use config file for API integration tests.

* Fixed scalikejdbc version.

* Add back application.conf

* Be more specific with MySQL settings.

* Update test config for MySQL module.

* Updates based on feedback (rebstar6).
2018-09-24 15:37:58 -04:00
Paul Cleary
c34b07f612 Updating some dependencies (#227)
* Updated scalike to 3.3.1
* Updated play from 2.6.15 -> 2.6.19
* Updated akka-http from 10.1.3 -> 10.1.5
* Updated play-json from 2.1.9 -> 2.6.10
* Removed akka-remote dependency

Other changes:
* Renamed AkkaTestJawn -> ResultHelpers
* Removed the AkkaTestJawn (no longer used)
2018-09-20 16:32:44 -04:00
Rebecca Star
675cd110d0 Boot load repos in api (#214)
* conf changes to dynamically load

* have boot dynamically load repos based on config

* update sbt version
2018-09-20 10:58:04 -04:00
Paul Cleary
2e172a94bc Fix authentication error in the portal (#220)
The root cause for the authentication error is that the portal
was not decrypting the user secret key before signing requests.

This is solved via the following:

1. Update VinylDNS controller to decrypt user secret when needed
1. Make sure that the `encrypt-user-secrets` feature flag is `on`
in the API reference.conf.  This was why in testing locally we
did not hit the same issue that we saw in the development environment.
Because the flag was false, test users secrets were not encrypted.

* `portal application.conf` - set the crypto to match the API
* `Dependencies.scala` - eliminate some duplication of dependencies
* `api reference.conf` - set the encrypt-user-secrets flag to true
* `TestApplicationData.scala` - modify the mock play app to have a
CryptoAlgebra binding
* `VinylDNS` - add secret decryption in getUserCreds and processCSV
* `VinylDNSModule` - add binding for CryptoAlgebra for dependency
injection.
2018-09-19 10:47:51 -04:00
Paul Cleary
0f2fdc9c7b Replace the repos in the portal with dynamodb and core (#206)
Replace the repos in the portal with dynamodb and core

* Remove all data stores from the portal
* Use the user and user change repository from core and dynamodb
* Remove the UserAccount type, use core User instead
* Remove the UserChangeLog types, use core UserChange instead
* Clean up duplication in VinylDNS
* Moved `Module` to `modules.VinylDNSModule`.  The reason is that
you cannot disable the "default" module for unit tests.
* Use mock configuration for VinylDNSSpec and FrontendControllerSpec.
The mock app configuration is what allows us to run without dynamodb
* Added a TestApplicationData trait to cut down on duplication
2018-09-18 11:51:31 -04:00
Rebecca Star
475f0f2530 Make dynamo repos startup within IO (#187)
* IO startup for dynamodb stores (rather than unsafe throws)

* Update unit and integration tests in the dynamodb module

* update api module where dependent on dnamodb
2018-09-11 09:05:27 -04:00
Rebecca Star
6ca00d117e External dynamodb module (#170)
Externalize the dynamodb repository code into its own module
2018-09-07 12:02:25 -04:00
Nima Eskandary
a19f5d5d1f sbt release process (#75)
* bin/release.sh script to check for required env variables, run tests, then run `sbt release`
* MAINTAINERS.md that describes steps needed to release
* implemented sbt release to run our release to docker and sonatype
2018-09-06 14:44:17 -04:00
Rebecca Star
4b0feb5adf move required monitor classes to core (#168)
* move monitored to core

* external monitor and move tests

* update namespacing
2018-09-05 14:29:51 -04:00
Rebecca Star
d0bcb83bdd move core domain and repos to core (#160)
* move core domain, repositories, and some tests out to the core module
2018-09-05 09:48:31 -04:00
Rebecca Star
ed6144b805 MySql dynamic loader (#151)
* config file updates for mysql loading

* dynamic loading for mysql

* IT test changes for dynamic load

* rebase fixes

* move settings to own file

* conf cleanup

* missing headers

* cleanup, some testing

* pureconfig cats load

* error message fix
2018-08-30 16:20:30 -04:00
Paul Cleary
610ad2294a Update to sbt-protoc (#113)
The sbt protobuf plugin we were using forced developers to install
protoc version 2.6.1 on their local.  That makes it difficult
to onboard new developers.

sbt-protoc is an alternative plugin.  It has a lot of features we
are presently not using.  The biggest feature it brings is to
not require developers to install protoc.

* build.sbt - use the new protoc plugin
* VinylDNSProto.proto - add syntax = proto2 to ensure compile
to compatible protobuf version
* plugins.sbt - remove the old protobuf plugin
* protoc.sbt - add the new protoc plugin
* Removing ProtocPlugin as it is an auto-plugin
* Remove uneeded protoc lib dependency
* Update docs to remove protoc requirement
* Remove protobuf install from travis
2018-08-16 14:04:22 -04:00
Michael Smith
92f6b860f8 add scalac option for fatal warnings (#24) (#90) 2018-08-10 19:09:35 -04:00
Michael Ly
dada99d493 Enable code coverage and gh-pages publish on merge to master (#68)
* Consolidate verify step with coverage.

* Publish Github pages on merge.
2018-08-07 15:43:23 -04:00
Paul Cleary
d6a088c940 Move everything from scalaz to cats (#53)
* Modified JsonValidations to use cats instead of scalaz
* Modified the Json protocols accordingly
* Replaced scalaz ValidationNel with cats ValidatedNel
* Replaced all Disjunctions with Either
2018-08-05 10:49:28 -04:00
Paul James Cleary
f0726ecb37 Initial code release 2018-07-31 14:26:07 -04:00