2
0
mirror of https://github.com/VinylDNS/vinyldns synced 2025-08-22 02:02:14 +00:00

32 Commits

Author SHA1 Message Date
Rebecca Star
3216aa5bbe
fix sonotype command (#378) 2018-12-03 11:35:18 -05:00
Rebecca Star
ad99525cdf
portal rely on mysql (#361) 2018-11-19 17:41:58 -05:00
Rebecca Star
9d58713f92
fix portal configuration for local run (#358) 2018-11-19 09:35:47 -05:00
Paul Cleary
5832fcbb73
Add MySqlRecordSetRepository (#309)
* Add MySqlRecordSetRepository
* Updated docker for mysql to use general_log for fun sql debug times
* Made sure to use rewriteBatchStatements to acheive new hights for bulk inserts
* `MySqlDataStoreProvider` support for the record set repo
2018-10-30 15:29:41 -04:00
Rebecca Star
bfb8aa7117
Mysql queue loader (#303)
* mysql queue loader

* use namedDB

* cleanup, make logging tweeaks
2018-10-29 11:27:43 -04:00
Varsha Chnadrashekar
b5f059a6fd Adding shutdown to DataStoreProvider (#293)
* Adding shutdown to DataStore

* Calling shutdown from Boot
2018-10-23 09:28:58 -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
Nima Eskandary
3c4c5f2e99
exclude filter for local.conf (#267)
* exclude `modules/portal/conf/local.conf` from packaging
2018-10-09 13:05:21 -04:00
David Margolin
0161676a56 update scala (#253)
Update scala to 2.12.7
2018-10-03 17:17:36 -04:00
Britney Wright
f58748e454
Portal lock users and check lock status
* Create custom action for loading user account

* implement user locked status check

* refactor VinylDNSSpec

* code coverage modifications
2018-10-02 11:04:34 -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
e3fd1bc43a
Parallelizing the build (#230)
Using the `all` command in sbt allows us to run certain tasks
in parallel.  Not everything can be done in parallel, so we have to use
judgement here.  Some things like dockerCompose cannot be done in parallel.

With the adjustments, local `;validate;verify` went from 12 minutes to 9
minutes, a savings of 3 full minutes!

**build.sbt**
Most changes are here.

Allow parallelExecution by default.  The reason is that test suites will be run
in parallel.  The play framework by default turns this off.  Some of the changes
made in here around the `InMemoryBatchChangeRepository` were necessary when I
flipped this on.

We cannot run in parallel by default for IntegrationTest.  The reason is that
several of the api integration tests use the same zone repo, so they wind up
stomping on each other.

Added a `killDocker` task that is much faster to run than `dockerComposeStop`

Enabled parallelExecution in IntegrationTest in dynamodb.  The integration tests
do not conflict with each other here.

Changed the command aliases to use parallel `all`

**InMemoryBatchCHangeRepository**
This used to be a singleton, which prevents running unit tests in parallel.
Made this a class, and updated unit tests to use the class instead.

**logback-test.xml**
We were still logging in odd ways in places.  Removed this to turn logging off
by default for tests.

**.jvmopts**
Kept running out of metaspace.  Increased the memory needed to help slow that
down.
2018-09-21 16:24:49 -04:00
Paul Cleary
e9796ab3d6
Fix portal build (#218)
* Fixing portal build

The dynamodb sub module is not automatically packaged with the
portal universal distribution.

Need to modify sbt to make sure it is.

* Setting organization on dynamodb

Since this will be published to sonatype, has to be io.vinyldns
2018-09-19 09:34:31 -04:00
Paul Cleary
d608390f62
Quiet build output (#211)
* Quiet build output

* set the traceLevel in the build to -1, which means no exceptions
will be output when running
* set the akka.logLevel in a few files to `OFF` so we don't
log anything during tests
* Quiet portal exceptions
2018-09-18 16:04:39 -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
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
Nima Eskandary
13405e66cc
change api docker entrypoint (#115) 2018-08-17 14:40:53 -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
Nima Eskandary
7d3481f743
supress error from dynamic doc link (#98) 2018-08-15 13:36:50 -04:00
Britney Wright
7544c787fe
reorganize documentation site (#66)
* reorganize documentation site

* move contributing and developer doc links

* reorganize doc nav
2018-08-08 15:59:05 -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
Nima Eskandary
ac95162f4d
Merge pull request #33 from nimaeskandary/portal-docker
Add portal docker image
2018-08-01 13:31:10 -04:00
Nima Eskandary
a65dfbd724 docker update latest for api and portal images 2018-08-01 09:35:01 -04:00
Michael Ly
ebaf8c0326 Add integration tests to Travis CI. 2018-07-31 17:40:48 -04:00
Nima Eskandary
ed02cbb378 portal docker image 2018-07-31 16:22:47 -04:00
Michael Ly
68dcde94e3 Get portal and API build to run (except API func/integration tests) 2018-07-31 14:26:14 -04:00
Paul James Cleary
f0726ecb37 Initial code release 2018-07-31 14:26:07 -04:00