aboutsummaryrefslogtreecommitdiff
path: root/zen/zen.cpp
Commit message (Collapse)AuthorAgeFilesLines
* moved source directories into `/src` (#264)Stefan Boberg2023-05-021-421/+0
| | | | | | * moved source directories into `/src` * updated bundle.lua for new `src` path * moved some docs, icon * removed old test trees
* fixed dashboard file serving bug (#255)Stefan Boberg2023-04-241-1/+1
| | | | | a recent change which introduced support for specifying accept: implicitly via the file extension in the URI caused fallout in the dashboard which would fail to serve any content because the extension was stripped from the RelativeUri accessor. This change fixes that by retaining a copy of the Uri string view which includes the suffix additionally, in order to test this change with both asio/http.sys paths I made the path used for all tests configurable in zenserver-test which involved pulling in a change from sb/proto which makes testing configuration a bit more flexible
* oplog and cache stats (#244)Dan Engelbrecht2023-04-211-1/+8
| | | | | | | | | | | | | | | | * basic oplog stats * add GetValueStats to cache store * RwLock::ExclusiveLockScope -> RwLock::SharedLockScope * add rawhash and attachment count to CacheValueStats * added cache-stats and project-stats commands * add cast to make Mac overload detection happy * fix accept type in cache-stats command * Add options to project-stats command * use resource paths for stats in project store * use resource paths for stats in cache * fix cache-info and project-info url discriminator * more control over details$ output * cleanup * changelog
* mergeStefan Boberg2023-04-041-30/+35
|\
| * zen: sorted commands to reduce potential for merge conflictsStefan Boberg2023-03-301-54/+37
| |
| * minor: FormatResponse -> FormatHttpResponseStefan Boberg2023-03-301-1/+1
| |
* | minor ZenCmdBase cleanupStefan Boberg2023-04-041-22/+2
|/ | | | | FormatResponse -> FormatHttpResponse GetReturnCode -> MapHttpToCommandReturnCode
* Fix alignment for zen command listingStefan Boberg2023-03-271-27/+27
|
* Enhanced rpc request recording (#229)Dan Engelbrecht2023-02-171-21/+28
| | | | | | | | | | | | | * rpc replay zen command * fix replay sessions for thread * recording start/stop as zen commands * move rpcrecording code to zenutil to remove code duplication * simplify recording http request threading * added more data logging to rpc replay * NotFound is an acceptable response for an rpc request * fix rpc replay command line parsing * rpc replay stats * Allow spawning of sub-process workers when replaying rpc recording * changelog
* oplog upload/download (#214)Dan Engelbrecht2023-02-091-2/+5
| | | | | | | | | | | | - Feature: Zen server endpoint `prj/{project}/oplog/{log}/chunks` to post multiple attachments in one request. - Feature: Zen server endpoint `prj/{project}/oplog/{log}/save` to save an oplog container. Accepts `CbObject` containing a compressed oplog and attachment references organized in blocks. - Feature: Zen server endpoint `prj/{project}/oplog/{log}/load` to request an oplog container. Responds with an `CbObject` containing a compressed oplog and attachment references organized in blocks. - Feature: Zen server endpoint `{project}/oplog/{log}/rpc` to initiate an import to or export from an external location and other operations. Use either JSon or CbPackage as payload. - CbObject/JSon RPC format for `import` and `export` methods: - CbObject RPC format for `getchunks` method, returns CbPackage with the found chunks, if all chunks are found the number of attachments matches number of chunks requested. - Feature: Zen server `{project}/oplog/{log}/{hash}` now accepts `HttpVerb::kPost` as well as `HttpVerb::kGet`. - Feature: Zen command line tool `oplog-export` to export an oplog to an external target using the zenserver oplog export endpoint. - Feature: Zen command line tool `oplog-import` to import an oplog from an external source using the zenserver oplog import endpoint.
* remove legacy `export-project` and `import-project` (#222)Dan Engelbrecht2023-02-021-4/+0
|
* Add `project-create` and `oplog-create` to zen command line tool (#221)Dan Engelbrecht2023-02-021-0/+66
| | | * Add `project-create` and `oplog-create` to zen command line tool
* Clean up project store file structure (#218)Dan Engelbrecht2023-02-011-3/+2
| | | | * move project store to separate folder * moved import/export project commands into projectstore cmd files
* removed HttpLaunchService and related codeStefan Boberg2023-01-241-11/+4
| | | | this was used for testing but is no longer wanted in this form
* zen command line tool improvements (#212)Dan Engelbrecht2023-01-131-34/+66
| | | | | | | | | | | | - Feature: zen command line tool `cache-info` to show cache, namespace or bucket info - Feature: zen command line tool `project-info` to show store, project or oplog info - Feature: zen command line tool `project-drop` to drop project or oplog - Feature: zen command line tool `gc` to trigger a GC run - Feature: zen command line tool `gc-info` to check status of GC - Improvement: zen command line tool now fails on any unrecognized arguments - Improvement: zen command line tool now displays extra help for all sub-commands - Improvement: host address can now be configured for zen command line tool `drop` command changelog
* Zen cmd fixes (#201)Dan Engelbrecht2022-12-071-1/+1
| | | | | | | * updated drop command to support namespaces * fixed hash command error message * fix output of status (and top) command * Use ZEN_CONSOLE for output in zen commands * changelog
* add "version" command with "detailed" option (#192)Dan Engelbrecht2022-11-211-0/+3
| | | specify host url to query running service version, otherwise you get zen command version
* Add `import-project` and `export-project` (#183)Dan Engelbrecht2022-11-181-7/+14
| | | * Add `import-project` and `export-project` command line parsing
* Make cas storage an hidden implementation detail of CidStore (#130)v0.1.4-pre6v0.1.4-pre5Dan Engelbrecht2022-06-171-8/+10
| | | | | | | | | | | | | | | | | | - Bumped ZEN_SCHEMA_VERSION - CasStore no longer a public API, it is hidden behind CidStore - Moved cas.h from public header folder - CidStore no longer maps from Cid -> Cas, we store entries in Cas under RawHash - CasStore now decompresses data to validate content (matching against RawHash) - CasChunkSet renames to HashKeySet and put in separate header/cpp file - Disabled "Chunk" command for now as it relied on CAS being exposed as a service - Changed CAS http service to Cid http server - Moved "Run" command completely inside ZEN_WITH_EXEC_SERVICES define - Removed "cas.basic" test - Uncommented ".exec.basic" test and added return-skip at start of test - Moved ScrubContext to separate header file - Renamed CasGC to GcManager - Cleaned up configuration passing in cas store classes - Removed CAS stuff from GcContext and clarified naming in class - Remove migration code
* Merge from mainStefan Boberg2022-04-251-0/+2
|\
| * Add pre-commit config (#69)Joe Kirchoff2022-04-051-0/+2
| | | | | | | | | | | | | | * Add .pre-commit-config.yaml * format all using pre-commit clang-format hook * Add pre-commit to inject unreal header comment * Remove prepare_commit.bat & update CODING.md * Remove check-added-large-files, add headers before clang-format
* | Added option to use Catch2 framework for testsStefan Boberg2022-04-051-3/+2
|/
* Fixed up compile errors if mimalloc use is disabledMartin Ridgers2022-01-141-1/+5
|
* Merged main.Per Larsson2021-12-141-2/+8
|\
| * Only Windows-based terminals need VT100/ANSI support enablingMartin Ridgers2021-12-021-0/+2
| |
| * Missing return statementMartin Ridgers2021-12-021-1/+5
| |
| * Use StrCaseCompare() instead of Windows-only _stricmp()Martin Ridgers2021-10-251-1/+1
| |
* | zen: eliminated unused deploy commandStefan Boberg2021-11-171-3/+0
|/
* zen: added print/printpackage subcommands to help in debugging or inspecting ↵Stefan Boberg2021-10-011-12/+17
| | | | CbObject data generally
* clang-formatStefan Boberg2021-09-201-1/+1
|
* trivial: include cleanupStefan Boberg2021-09-201-2/+1
|
* It's not possible to compile out testsStefan Boberg2021-09-201-28/+28
| | | | Tests are now compiled in if `ZEN_WITH_TESTS=1`, and compiled out if not. Compiling tests out reduces the footprint of the resulting executables quite significantly.
* clang-formatStefan Boberg2021-09-171-3/+2
|
* Added namespace scopes to more includes for better consistencyStefan Boberg2021-09-171-32/+18
|
* Added explicit logging initialization to main() of standalone executables, ↵Stefan Boberg2021-09-151-0/+2
| | | | to make things work with the new default logger shadowing changes
* Changed direct includes of spdlog/spdlog.h into zencore/logging.h to make it ↵Stefan Boberg2021-09-151-1/+1
| | | | easier to tweak implementation
* added 'zen drop' command to drop cache buckets onlineStefan Boberg2021-08-171-0/+3
| | | | also cleaned up the server side implementation a bit
* Basic implementation of zen top/ps (currently identical but won't be) ↵Stefan Boberg2021-08-091-0/+2
| | | | functionality
* Added some new management commandsStefan Boberg2021-08-071-9/+23
|
* Added stub code for 'top' command (no implementation yet - awaiting some ↵Stefan Boberg2021-06-181-0/+3
| | | | vcpkg dependencies)
* Adding zenservice codeStefan Boberg2021-05-111-0/+300