An aggregator using uma: https://github.com/SolidLabResearch/user-managed-access as the authorization server.
This project requires a kubernetes cluster and a running uma server.
install a kubernetes cluster with minikube:
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikubewhen minikube is installed, initialize it:
make minikube-initThis will start the minikube cluster, build all the containers, and load them into the minikube cluster. To only build or load the containers without starting the cluster, you can run:
make containers-build # Build the containers
make containers-load # Load the containers into the minikube cluster
make containers-all # Build and load the containersIt is also possible to specify a certain container to build, load, or both by using the name parameter. For example, to build and load only the aggregator container, you can run:
make containers-all name=uma-proxyAnd to start or stop the minikube cluster, you can run:
make minikube-start
make minikube-cleanTo install the uma server, you first need to clone the uma repository:
git clone https://github.com/SolidLabResearch/user-managed-access
cd user-managed-access/packages/umaMake sure you have node.js and npm installed with a version of at least 20.0.0, and run corepack enable.
Then install the dependencies:
yarn installFinally, the uma server can be started with:
yarn startTo run the aggregator, you can use the following command:
make runAn easy way to test the aggregator is by running node client-test create-actor.js to create an actor.
Do make sure the uma server is running before you do this, and that it has the correct policies so you can access the correct endpoints.
After that, you can run node client-test get-actor.js to retrieve the info on the actor you just created and its results.