* chore: update task tests to use the tenant service
After the introduction of the tenant system we need to switch the testing frameworks
to use it instead of the old kv system
* chore: update onboarding to allow injected middleware
Tenant services often need to make function calls to other services inside the tenant system. This can cause a problem when a external system needs to inject middleware into the call stack for the secondary system call. For instance when a bucket is created we may need to alert the storage system of the change. To accomplish this we need a way for the org svc to call a middleware influxdb.BucketService that is a tenant type service wrapped with a middleware piece. This is accomplished by allowing the individual services access to the tenant system that was generated. If a middleware is wrapping one of the systems the embedded system can still make internal calls
* fix(tenant): use rand org bucket id generator over snowflake in tenant service
* fix(tenant): update bucket test harness to create org via store instead of service
* feat(task): Add new permission lookup pattern for executor
We can now use the user service to populate task owners permissions.
This should improve the task lookup time and decouple the task system
from the URM system. In the future we will have the ability to better isolate
tenant pieces from the rest of the service.
* feat: add feature flagging
We can now use the user service to populate task owners permissions.
This should improve the task lookup time and decouple the task system
from the URM system. In the future we will have the ability to better isolate
tenant pieces from the rest of the service.
* refactor: migrator and introduce Store.(Create|Delete)Bucket
feat: kvmigration internal utility to create / managing kv store migrations
fix: ensure migrations applied in all test cases
* chore: update kv and migration documentation
* feat: start using the new org handler from the tenant service.
The rest of the tenant system is in place except the org http api handler and the
user api handler.
* fix: update the label service in org handler and add links
Switch to use the new user handler. We have been using the tenant backend for some
time now and just need to switch over to using tenant front to back.
This commit checks http.Request.Context().Err() to see if the context
has been canceled before writing an error code. It uses the non-standard
Nginx 499 error code for client disconnection.
Tenant bucket look up needs route a action to storage to use indexes.
I added an error condtion into the storage code to ensure this was working
but the tests did not exercise this piece of code. Both have been remedied.
This new session service has the ability to work independant of other systems
it relies on having its own store type which should allow us to be more flexible
then using the built in kv system.
I have included an in mem session store.
We have reached the stage wehre the new tenant service is being used and
is stable but we want to get it in more hands and used as the default service.
this fix is necessary to avoid the superflour write header error. When the
write fails, we log it, this shoudl never happen unless the connection gets
corrupted. In that case there is nothing for the server to do except log