1
0
Fork 0
Commit Graph

368 Commits

Author SHA1 Message Date
Alan Plum 0df237393c Better Foxx errors (3.3) (#6269)
* Fix codeFrame formatting

Pushing the codeFrame first results in ugly line breaks or extra spaces.

* Include cause in MODULE_FAILURE message

The error is always a wrapper for an underlying cause so it should be easier to determine what caused it.

* Add a codeFrame for failed _install

We normally only want this in dev mode but service CRUD should always provide detailed info.

* Expose codeFrame in Foxx CRUD

The codeFrame can only come from a failed _install, so let's make it visible to Foxx CLI and friends.

* Add codeFrame to runScript

Scripts can also only be executed with access to the Foxx API so we can provide the same info as during CRUD.

* Trim codeFrame fileName to basePath

If we have a basePath, we don't need to expose the full path to the user for the codeFrame to be meaningful.

* Fix getReadableName

Previously 'catch-fire' would become 'Catch  Ire'.

* Add to changelog
2018-08-28 14:32:31 +02:00
Mark 620269e6cd Bug-fix Foxx empty json request body (3.3) (#5305) 2018-05-16 15:30:21 +02:00
Mark 911b1d1ce1 Fix Foxx queues (3.3) (#5353) 2018-05-16 15:28:25 +02:00
Tobias Gödderz 02675b96a9 [3.3] Fix race condition between foxx install and selfHeal (#5306) 2018-05-11 12:28:07 +02:00
Alan Plum cbd9fce10f Ignore manifest field (#5158) 2018-04-20 12:54:40 +02:00
Simon 1d57a46168 Refactor Authentication Layer (3.3) (#4588)
* added tests for revokeCollection and revokeDatabase

* optimized user permission test

* ui selection bugfix

* fixed ldap ui login

* login view

* Authentication refactoring

* localstorage fallback if user config is not available

* Fixing permission resolution test

* Adding missing import

* local storage queries now supported

* disabled collection task check for ldap

* added internal ldapEnabled function and ldap config to the ui

* more db creation tests

* removed console logs

* render fix

* Various authentication related fixes

* exec ldap test also for cluster

* Adding support to refresh user rights from external auth sources

* ldap test howto comment

* Handling roles more correctly

* jwt

* login view

* First part of rework of LDAP documentation.

* test roles in a ldap environment

* Changing role handling

* Finish revision of the LDAP chapter in the manual.

* Fixing user header

* Fixing some slight issues with LDAP users and roles

* Removing unused code

* Removing unused code

* added ldap test

* fixing a bug in restuserhandler

* more ldap tests

* ldap tests

* ldap tests

* optimized ldap testing, added cluster support, fixed some auth tests

* ldap cleanup test

* ldap tests

* auth tests

* ldap test

* Changing permission defaults

* revert change

* updated user helper test

* rm of try catch block connection

* Removing FeatureCacheFeature

* Changed permission resolution according to discussion

* updated the docs to clarify the permission resolution and the intricacies of LDAP users

* Fixing wrong permissions check in handling of PUT in ResUserHandler

* Using revision ID when replacing users

* Adding basic replace test

* tests

* Fixing some outstanding issues

* Fixing test setup, optimizing some stuff

* Fixing permission resolution rules, testsuite setup, etc

* Fix deadlock

* Adding error message for keyspace, slightly changing test setup

* Removing remaining mentions of FeatureCacheFeature

* Fix jslint

* Fixing some failed tests

* Fixing cluster authentication issue, red tests

* Fixing ldap testsuite, adding trace logging

* Fixint ldap tesuite setup and LDAP recognition

* Fixing an assert

* Cleanup, adding changelog entry

* fix typo

* Fixing dump_authentication test

* improvements found during code review

* oops

* updated CHANGELOG

* Fixing broken handling, disallowing adding of local users when disabled

* added tests for ldap search mode

* Fixing testInvalidGrants

(cherry picked from commit bc7ea2aaa29a9ed0974898f487e8a318f24912f1)

* Removing undefined auth level externally

(cherry picked from commit 70859f43ae6fd694fdbf70f669fbfdafc58e7913)

* Fixing previous commit

(cherry picked from commit 2fbcffd2ed657862ef9fb5e6d45201a6ec8ada69)

* more use of sessionstorage

* intentionally removed `after` methods from tests

because they are executed before the tests start
no cleanup is performed right now after the authentication tests
however, a cleanup is done at start of every test

* ldap tests all modes

* fix LDAP test invocation

* Added roles transformation to ldap test suite

* Fix compilation of community version.

* Imrpved the ldap testsuites by unifying their options

* fix permission problems for system collections

* Improved LDAP configuration documentation.

* Grunt.

* fixed some ro/rw display issues

* fixed some ro/rw display issues part 2

* grunt build

* bump version number

* Fixed typos in LDAP manual
2018-02-28 13:24:18 +01:00
Mark 0679bb043c Fix Foxx API (#4616) 2018-02-20 10:10:51 +01:00
Simon e96e899fd3 Active Failover for Foxx Services (3.3) (#4593) 2018-02-15 09:36:25 +01:00
Alan Plum 111cb3054d Don't greedily delete legit app folders (#4439)
See #4395
2018-02-05 12:31:43 +01:00
Alan Plum 5bdd212fc4 Bugfix Foxx API tests (#4472) 2018-02-05 11:32:13 +01:00
Alan Plum 28f4e3970f More consistent config/deps output in Foxx API (3.3) (#4440)
* Correctly expose parsed/raw config

This makes accessing the configuration more consistent by distinguishing between the raw (assigned) and parsed (validated/default) values.
Previously there was no way to recognise default values for unset config options and the "current" value did not actually reflect what the service sees.

* Add minimal option to config/deps routes

The default values are backwards compatible with the existing behaviour but can be overridden to consistently get more/less output.

* Actually merge warnings into non-mininal response
2018-01-30 16:50:25 +01:00
Alan Plum ce9dfe8558 Fix legacy Foxx HTTP API compat layer (#4265) Part 2 (#4469)
* Fix store support in foxx-manager legacy API
* Move store refresh logic into legacy Foxx API
The 'refresh' option is not actually exposed by the new API and the behaviour was incompatible with the old implementation.
* issue #4393 part two
2018-01-30 16:29:10 +01:00
Jan 68a2f331e9 Bug fix 3.3/foxx queues (#3930)
* fix issue #3858

* added tests and updated documentation for Foxx queues
2017-12-07 10:21:01 +01:00
Jan 9eb5e1545f Bug fix/fix cluster foxx queue startup (#3507)
* slightly clean up indexes

* proper stringification of error code

* do not run AQL queries during Foxx queue startup

* always create keyspace
2017-10-25 18:07:27 +02:00
Simon Grätzer 7c31960cf2 Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
Simon Grätzer a7903495a5 Fix createQueue silent unique constraint violation, Fix asan detection in clang, (#3421) 2017-10-18 12:21:31 +02:00
Wilfried Goesgens c662dfc863 Cleanup after each testrun (#3109)
* Cleanup after each testrun

 - add a success testsuite next to the fail testsuite
 - create temporary directories in the fail & success testsuites
 - add a function to cleanup the last unshifted directory
 - don't say we're crashed when exiting with the help message

* Specify temp path for SUT so its files will be removed after cleanup.

 - cleanup
 - don't use getTempFile(), it will create another subdirectory that we don't clean up afterwards...

* Fix temp path usage

 - creating a 'bundles' directory wherein we would keep our temporary bundle files would collide if we'd clean it up.
 - create 'bundles-tmpxxxx' instead so its individual to us and we can remove it when done without problems.

* properly create & pass in a temporary directory - as we now require this.

* Remove intermediate directory recursive - for some unknown reason there may be temp files created.

* we need to unify tempfilenames here too.

* use individual suite names

* use the standart performTests to run the backup tests - so we have the proper directory and server handling from the infrastructure.

* fix temporary directory handling in the recovery tests.

* script to build debugging debian packages

* Improve test shutdown

 - handle a set of options globally per testsuite, so they don't need to clone them inside.
 - properly cleanup the slave instance of the replication tests after each run.
 - The per testsuite options vector will fix the behaviour that after one failed testsuite
   all other suites won't be cleaned up anymore.

* don't call the overal cleanup if anything failed.

* fix cleaning up of directories.

* cleanup, fix directory creation / deletion / dummy creation.

* cleanup, fix directory creation / deletion / dummy creation.

* fix tempdir handling for the recovery tests
2017-08-30 10:48:24 +02:00
Wilfried Goesgens d0f159e848 Don't use global static variables as collection caches - this may cau… (#3150)
* Don't use global static variables as collection caches - this may cause troubles.

* cleanup: remove old cluster kickstarter UI remaints.

* cleanup - remove references to long gone tests
2017-08-28 15:04:05 +02:00
Wilfried Goesgens 0c2261445b use indices on our foxx queues queries; Migrate queries away from aqb… (#3101)
* use indices on our foxx queues queries; Migrate queries away from aqb; style guide cleanup.

* update CHANGELOG
2017-08-24 17:06:03 +02:00
Mark 136faad9b8 Fix issue #3037: Foxx, internal server error when I try to add a new service (#3056) 2017-08-17 21:47:27 +02:00
Simon Grätzer 3f58a44e3b Fix cases where the root user has access to excluded collections (#2856) 2017-08-03 21:16:08 +02:00
Mark 3a59ea553b Add catch when propagateSelfHeal (#2839) 2017-07-19 17:03:52 +02:00
Mark a033eef12d Fix issue 2684: Legacy service UI not working (#2685) 2017-06-28 12:09:15 +02:00
Mark 50ad6fbd76 Foxx service CRUD optimizations (#2657)
* Pass config/deps on _install so setup can see them

* Only register service when install succeeded

* Don't throw after point of no return: breaky install is breaky

* Delete service files during install if service validation fail

* Delete service files during install if service execution fails

* Fix commitLocalState with invalide services

* Remove deprecated test
2017-06-26 09:28:59 +02:00
Mark 7743db32b9 Fix #2613 (#2614)
Reduce log level when Foxx manager tries to self heal missing database
2017-06-20 12:41:45 +02:00
Alan Plum 4b4b9f8c55 Fix Foxx API error (#2517)
* Fix Foxx API error
* Manager should distinguish between errors and services
* Foxx API should not require service to exist for uninstall
  if force option is used
* Respect options.force in FM _install
2017-06-01 11:59:04 +02:00
Mark f832dd0388 Implement endpoint "commit coordinator state" (#2513)
Implement endpoint "commit coordinator state" (also see #2479)
2017-05-31 18:21:50 +02:00
Alan Plum 7608cde674 Implement clusterfoxx mounting logic (#2514)
* Serve error when service is out of sync
* Don't check system services for bundles
* Use appropriate errorNum if Foxx blows up
* Only check checksum when file exists
* Don't expose stack traces
2017-05-31 18:21:40 +02:00
Alan Plum 83310c12d7
Move FM.listJson into aardvark 2017-05-30 20:19:58 +02:00
Alan Plum 5fc4a17b24
Make sure the bundle doesn't exist before loading it from db 2017-05-30 20:09:58 +02:00
Alan Plum cceccf59da Simplified Foxx self healing (#2511)
* Implement new self-heal
* Add error codes for 503, service missing/outdated
* Detect changes to service via rev
* Pretty print incoming response object in log
2017-05-30 18:27:32 +02:00
Andreas Streichardt d8dc3c85e7 Call version instead of foxx status to save a v8 context 2017-05-22 19:07:24 +02:00
Andreas Streichardt 49328dcecb Add authorizedflag fixing cluster internal foxx requests 2017-05-17 18:14:11 +02:00
Jan Christoph Uhde d7a1b98117 fix liniting errors 2017-05-17 12:47:37 +02:00
Alan Plum 819a1194ba
Throw correct errors in Foxx management internals 2017-05-17 12:22:16 +02:00
Alan Plum 5d017d733c Improve Foxx cluster resilience (#2479)
* Improve Foxx cluster resilience

Fixes #2083
Fixes #2384
Fixes #2408
Addresses #1892

* Port old Foxx API

* Implement single-file services

* Add console.errorStack/warnStack/infoStack helpers

* Simplify serviceInfo validation

* Extract github/upload logic into Aardvark and old FM API
* Move generator logic into Aardvark
* Move zip/js buffer logic into FM core

* Add Foxxmanager tests

* Send empty response when no README

* Disambiguate script arg format

Historically we allow passing an array of positional arguments or an arbitrary first argument.
This is surprising behaviour, so we should just always treat the value as a first argument.

* Rebuild bundle in development mode

* Nicer HTTP docs formatting

* Create Foxx HTTP docs

* Simplify service upload handling

* Remove inline swagger docs

* Implement public download route

* Consistency

* Rebuild aardvark

* Move bundle route into /_api/foxx/_local

* Rebuild Swagger API docs

* Add changes to CHANGELOG

* More docs
2017-05-16 17:41:29 +02:00
jsteemann 499491bee9 use exclusive locks for some transactions 2017-05-15 22:47:50 +02:00
Frank Celler 34fb4768b5 Merge pull request #2401 from de3/devel
Fix result value from queue worker
2017-04-26 14:03:33 +02:00
Edi 32b150f7b1 add comment on update code 2017-04-04 11:01:22 +07:00
Alan Plum 373eade2f9
Let ArangoDB handle the allow-credentials header 2017-03-30 13:08:37 +02:00
mpv1989 59e000b743 Foxx: Fix CORS blowing up when headers are not set 2017-03-29 13:43:06 +02:00
mpv1989 f3ebf247b0 automatically add CORS response headers 2017-03-28 19:48:46 +02:00
Edi f88a0e9b1e Fix result value from queue worker 2017-03-28 08:05:06 +07:00
Alan Plum 4920ef8b41
Implement tap/xunit reporters in Foxx 2017-03-15 20:09:31 +01:00
Alan Plum c919cb7be8
Add Foxx res.type helper 2017-03-15 20:09:27 +01:00
Frank Celler ab49f6c1b4 fixed variables parsing in GraphQL 2017-03-05 23:31:38 +01:00
Alan Plum 705273bdab
Allow passing own graphql-sync module to Foxx 2017-02-28 14:47:17 +01:00
Alan Plum 90c538b7a4
Not undefined
[skip ci]
2017-02-15 18:32:56 +01:00
Alan Plum 622b4fac4b
JWT uses seconds
Fixes #2249.
2017-02-14 19:20:41 +01:00
Alan Plum 7471f94fa7
Linting 2017-02-14 19:20:41 +01:00