Lenticularis-S3 is an AWS-S3 multiplexer to service multiple server instances at a single access point.
Lenticularis-S3 (Lens3) provides an AWS-S3 service at a single access point by running multiple server instances. An S3 service is usually owned by a single user (unix root), but it may not be acceptable by site's security policy. Lens3 starts multiple S3 servers (backend server instances) one for each user, which confines operations by user's permission.
| Fig. Lens3 overview. |
Lens3 works as a proxy and a manager of S3 server instances. It launches a server instance on an S3 request, redirects access requests to the instance, and manages the life-time of the instance. This service, called "Lenticularis-Mux", is started as a systemd service. Lens3 also provides a simple Web-UI for managing bucket pools. A "bucket pool" is a management unit in Lens3 which is associated to each server instance. A Web-UI is used to register S3 buckets to a pool. This service, called "Lenticularis-Reg", is integrated as a thread to Lenticularis-Mux.
Lens3 uses S3 Baby-server as a backend S3 server. Baby-server is a small subset server for AWS-S3 designed to share files stored in usual filesystems. It is available in github.com: https://github.com/RIKEN-RCCS/s3-baby-server.
Usually, installation can be done by an RPM binary package. The RPM package includes the "s3-baby-server" binary in addition to the binaries for Lens3 (i.e., "lenticularis-mux" and "lenticularis-admin"), and the installer installs them in "/usr/local/bin". Package details are described in rpm/README.md.
Uninstalling the package does not stop the serverces. Please manually stop the services "lenticularis-mux" and "lenticularis-valkey".
When the RPM binary package is not available, build binaries manually.
Running make in "v2" directory builds binaries "lenticularis-mux" and "lenticularis-admin". See installation-procedure.md for more details.
cd v2
make get
make
Lens3 needs a backend S3 server, such as S3 Baby-server. Baby-server is a separate software which is available in github.com, and you should build and install it, too.
- user-guide.md for users.
- admin-guide.md for administrators to maintain lens3 services.
- setting-guide.md for site managers to install lens3 services.
- installation.md also for site managers to install lens3 services step-by-step.
- configuration.md for site managers to change server configuration.
- design-notes.md for programmers to debug.
Lens3 is copyrighted by RIKEN R-CCS. Part of the results is obtained by using Fugaku at RIKEN R-CCS.
Lens3 is developed by RIKEN R-CCS and by the external authors S. Nishioka and T. Ishibashi. The code was reviewed by zzmatu and remaining bugs are his sole responsibility.
User interface of Lens3 is created with vuejs+vuetify. Please refer to https://vuejs.org and https://vuetifyjs.com.
The lists of third party software Lens3 depends on are: Third party software for v2 and Third party software for v1,