The Secure Delete Object Store - part of the Micro Content Management system (MCM)
MCM consists of multiple components that form a small experimental content management system.
The Secure Delete Object Store (SDOS) implements a key management mechanism that enables cryptographic deletion of objects. SDOS is implemented as an API proxy for the Swift object store from the OpenStack project. SDOS can be used with any unmodified Swift client and server.
- -- Deploy Environment (set up everything) --
- Bluebox web-UI
- SDOS (Secure Delete Object Store) Cryptographic Deletion
- Metadata Extractor
- Retention Manager
- client and server support for Swift REST protocol
- transparent proxy operation between any swift client/server
- content encryption and secure deletion configurable per container
- pseudo-object API allows SDOS related special requests within the Swift protocol
- different cascade geometries per container
- different master-key security per container
- master key wrapped by static testing key
- master key wrapped by user defined pass phrase
- master key wrapped by Trusted Platform Module (TPM)
- multithreaded operation of key cascade
- caching for nodes and object mapping
- extensive logging/debugging
Always run the setenv.sh
script first to set the pythonpath and virtual environment.
Then you can either manually run one of the test/experimental classes:
. setenv.sh
python mcm/sdos/tester/PerfTest.py
python mcm/sdos/tester/GeomTest.py
...
or start a service that offers the Swift API proxy to which your Swift clients can connect:
. setenv.sh
python runService_Development.py
is currently done by setting parameters in
mcm/sdos/configuration.py
make sure to specify a python 3 or higher interpreter for your virtualenv (SDOS doesn't support python 2) in the main directory
virtualenv venvSDOS
. setenv.sh
(included in setenv) source venvSDOS/bin/activate
pip install -r requirements.txt
to leave venv
deactivate
just install the existing reqs
pip install -r requirements.txt
install new packages
pip install <package>
save new packages to requirements:
pip freeze --local > requirements.txt
update existing packages
pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs pip install -U
pip freeze --local > requirements.txt