The Ubiquity project enables persistent storage for CSI compliant container frameworks. It is a pluggable framework available for different storage systems. The framework interfaces with the storage systems, using their plugins. The Available Storage Systems section describes the storage system configuration and deployment options. Different container frameworks can use Ubiquity concurrently, allowing access to different storage systems.
Ubiquity supports the Kubernetes and Docker frameworks, using the following plugins:
- Ubiquity Docker volume plugin
- Ubiquity plugin for Kubernetes (Dynamic Provisioner and FlexVolume)
The code is provided as is, without warranty. Any issue will be handled on a best-effort basis.
- Install golang (>=1.6).
- Install git.
- Configure go. GOPATH environment variable must be set correctly before starting the build process. Create a new directory and set it as GOPATH.
- Build Ubiquity service from source.
mkdir -p $HOME/workspace
export GOPATH=$HOME/workspace
mkdir -p $GOPATH/src/github.com/midoblgsm
cd $GOPATH/src/github.com/midoblgsm
git clone git@github.com:midoblgsm/ubiquity.git
cd ubiquity
./scripts/run_glide_up
./scripts/build
The built binary will be in the bin directory inside the repository folder. To run it you need to setup ubiquity configuration in ubiquity-server.conf. After that start the server:
./bin/ubiquity
Install these go packages to test Ubiquity:
# Install ginkgo
go install github.com/onsi/ginkgo/ginkgo
# Install gomega
go install github.com/onsi/gomega
Run the tests:
./scripts/run_units.sh
Before running the Ubiquity service, you must create and configure the /etc/ubiquity/ubiquity-server.conf
file, according to your storage system type.
Follow the configuration procedures detailed in the Available Storage Systems section.
- Run the service.
./bin/ubiquity
To use the active Ubiquity service, install Ubiquity CSI plugin.
To contribute, follow the guidelines in Contribution guide
- Review the Ubiquity logs for any issues:
- [logPath]/ubiquity.log ([logPath] configured in the ubiquity-server.conf)
- /var/log/messages
For any questions, suggestions, or issues, use github.