Palisade is no longer under active development.
Windows is not an explicitly supported environment, although where possible Palisade has been made compatible.
For Windows developer environments, we recommend setting up WSL.
For an overview of Palisade, start with the Palisade introduction and the accompanying guides: QuickStart Guide; and Developer Guide which are found in the Palisade README.
The Client implementations will need to send requests into Palisade and process the response.
The workflow for this is expected to follow the pattern of first sending in a request to register access for data.
This will return a response consisting of a token (a unique id) that can then be used in a second request to gather the resources.
With the resources gathered, the client is then in a position to read the data.
An implementation of a Client will need to conform to this workflow, but the technology that is used will be best suited to the intended use of the application.
The following examples demonstrate the use of different kinds of clients that can operate with the Palisade service:
- Java Client Java based RESTFul client using an API similar to the JDBC
- Shell Client Command Line Interface(CLI) client which provides interactive operations.
- Fuse Client Filesystem in Userspace (FUSE) client which uses a CLI for interactive operations and stores the results in a FUSE filesystem. This client is an extension of the Java Client.
- Akka Client Akka client which provides access to an interface using both Java and Akka types. This client is an extension of the Java Client.
- S3 Client
Akka Microservice which provides an endpoint for accessing resources stored in an Amazon Web Service (AWS) Simple Cloud Storage (S3) bucket.
The example uses Apache Sparkfor RESTful queries with the microservice.
To get started, clone the Palisade Clients repository:
git clone https://github.com/gchq/Palisade-clients.git
cd Palisade-clients
You should see the following modules:
>> ls
drwxrwxrwx client-akka
drwxrwxrwx client-fuse
drwxrwxrwx client-java
drwxrwxrwx client-shell
Now you can finally build the repository by running:
mvn clean install
Palisade-clients is licensed under the Apache 2.0 License and is covered by Crown Copyright.
We welcome contributions to the project. Detailed information on our ways of working can be found here.