Hansip: Supporting SQLite, S3 Storage and Multi Configuration Path Locations
Today I want to share about a new release that brings out many interesting features for Hansip!
If you are new here about Hansip, you may take a look the previous post that describes what is Hansip and How it's work
As the primary focus of the Hansip project is to support simple E2E file encryption, I don't want to get overwhelmed with the project setup, especially when it's required to use postgresql database.
Postgresql is Good...eventually 🐘
Don't get me wrong, I love postgres, so much... but as the main focus of this project is to show you the how the encryption works behind the scene, the most notably thing is the database itself, Postgres.
Postgresql is good, but not at the beginning. You want a simple steps (and resource) when start to play and do an experiment with Hansip, meaning users avoiding the "Big Effort" to setup from the start.
Now by default Hansip will using SQLite3 as a database. There's also some configuration available to adjust the location of the SQLite location storage.
AWS S3 Storage! 🗄
Another interesting update is now you can use S3 as a file storage!
You can set the
config.yaml for the S3 configuration.
The configuration tells Hansip to switch over from
filesystem storage to
s3 and by this change you must also set the required parameter for Hansip to connect with Your S3 bucket.
Multi Configuration Paths ⚙️
When working with Hansip, There's something that I want to be available on the feature, the multi configuration path.
This may a simple approach but it has big benefit when we want to deploy the application on the server. Hansip will look into these three paths for the configuration.
./config.yaml The current project directory
$HOME/.hansip/config.yaml User level configuration
/etc/hansip/config.yaml System level configuration
The configuration is ordered from top to bottom, so when we have a system level configuration, and starting another Hansip instance with
config.yaml within the project directory, it will not interfered by the system configuration.
That's it, hopefully these updates will make you happy and boost more productifity! also don't forget to visit the project repository!