Secure collaboration server using 0MQ and Curve.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
David Sugar 9d35b4dc65 Small cleanup 1 month ago
.gitlab/issue_templates Gitlab setup 1 year ago
cmake Small cleanup 1 month ago
db Improved ruby support 8 months ago
server Small cleanup 1 month ago
test Resolve "Update documentation" 11 months ago
vendor/headers Remove fmt vendoring (#10) 5 months ago
.clang-tidy Resolve "Improve Quality" 9 months ago
.gitattributes Prep for next tag 8 months ago
.gitignore Simplify ruby support 8 months ago
.gitlab-ci.yml Gitlab setup 1 year ago
.reek.yml Improved ruby support 8 months ago
.rubocop.yml Improved ruby support 8 months ago
CHANGELOG.md Prep for next release (0.0.5) (#11) 5 months ago
CMakeLists.txt Clean up args and diagnostics (#16) 4 months ago
CONTRIBUTING.md Resolve "Update documentation" 11 months ago
Doxyfile Initial quality work 9 months ago
LICENSE.md Initial checkin 1 year ago
README.md Resolve "Introduce schema migration" 10 months ago
TODO Initial checkin 1 year ago
config.hpp.in Resolve "Introduce schema migration" 10 months ago

README.md

About Calypso

Calypso provides a secure collaboration server using the ZMQ library and curve crypto sessions.

Documentation

Basic documentation, including an architecture overview, will be added as markdown files. User operation, server admin, and configuration should be similarly added here. An installation guide for various GNU/Linux distributions and BSD systems may also be added. Developer documentation can be generated from source file headers using Doxygen.

Installation

A typical "install" target is created to support local installation. This should include an example config file. On openrc systems this may install an init script. A logrotate config can also be added. All running directories that may be required are either made by "install" or created when the service executes. Execution in daemon mode is done by the init script.

When cmake is used to produce a Debug build this instance can be executed directly; no further install is required. The debug build uses the config file found in the test/ directory, and a test/custom.conf file can be added with configuration overrides for local developer testing. The preferred cmake build type for live installation and running of debug builds is RelWithDebugInfo.

Participation

A more complete overview of participation will be provided in CONTRIBUTING.md. This project uses cmake, and c++17 for core server development. I use the ctest framework for unit testing and gcovr for coverage reports. Calypso can be built with gcc or clang and can be tested on just about any posix platform, including bsd systems.

In addition to producing testable debug builds the project can also be built for running unit tests. This is enabled by default for debug builds. To produce coverage reports you can cmake a debug build with -DCOVERAGE_TYPE=gcov set. You can then use the make the "coverage" target and produce coverage reports with gcovr or lcov. The "lint" target will validate code using cppcheck.

The easiest way to begin participation is installing doxygen and graphviz, and then building the ``docgen'' target. This produces browsable code documentation and provides quick access to project resources, such as the issue tracker, merge requests, ci pipelines, milestones, the project development wiki, etc.

Support

Support is offered thru our issue tracker using calypso-bugs@tychosoft.com. I also have dyfet@jabber.org. Build support and packaging, especially for openSUSE and Debian GNU/Linux, will be found on the openSUSE build service (https://build.opensuse.org/project/show/home:dyfet). I have my own build infrastructure for Alpine using ProduceIt, and I publish binary packages thru https://public.tychosoft.com/alpine. In the future maybe other means of support will become possible.