

actvity-pub server implementation
Version: 0.0.5-SNAPSHOT
Introduction
rdf-pub is an activity-pub server implementation, that is not limited to the activity-stream vocabulary, but supports RDF per se.
Features
Client to Server (C2S)
-
Authentication with OAuth2 (since 0.0.2)
-
Receive Activity
-
Create (since 0.0.2)
-
Update (since 0.0.2)
-
-
Internal delivery of activities (since 0.0.4)
-
Read Activity / Object (since 0.0.2)
-
Read Outbox (since 0.0.2)
-
Read Inbox (since 0.0.4)
-
Read Actor/Profile (since 0.0.2)
-
Query Actors Outbox with SPARQL (since 0.0.2)
How To’s
Starting rdf-pub with docker
A docker-compose.yml is provided which starts
-
Keycloak
-
identity provider https://www.keycloak.org/
-
-
MailHog
-
an email testing tool for developers https://github.com/mailhog/MailHog
-
-
user setup
-
create users in the identity provider for initial testing.
-
-
rdf-pub server
-
The real server
-
Preconditions
-
There should be a running docker/docker-compose installation on your system.
-
Provided docker-compose was tested on a ubuntu system.
git clone https://gitlab.com/linkedopenactors/rdf-pub.git
cd rdf-pub/
git checkout tags/0.0.2 -b main
cd devEnv/guest/independent/
docker-compose up
Note: Replace the tag with the newest availabe Release
Testing
-
rdf-pub server meta data: http://localhost:8081/actuator/info
-
rdf-pub server health endpoint: http://localhost:8081/actuator/health
-
keycloak: http://localhost:8080/auth/
-
MailHog: http://localhost:8025/
-
get the profile of the 'rdf-pub-admin' actor
-
NOTE: url/context will change in future
-
curl --location --request GET 'localhost:8081/camel/rdf-pub-admin' \ --header 'Accept: text/turtle'
-
Log in to the keycloak admin console
-
http://localhost:8080/auth/admin/
user: admin
pwd: admin
-
Change log level at runtime
Determine current log level
curl https://rdfpub.test.opensourceecology.de/actuator/loggers/de.naturzukunft.rdf4j curl https://rdfpub.test.opensourceecology.de/actuator/loggers/org.linkedopenactors
Set log level to TRACE
curl -i -X POST -H 'Content-Type: application/json' -d '{"configuredLevel": "TRACE"}' https://rdfpub.test.opensourceecology.de/actuator/loggers/de.naturzukunft.rdf4j curl -i -X POST -H 'Content-Type: application/json' -d '{"configuredLevel": "TRACE"}' https://rdfpub.test.opensourceecology.de/actuator/loggers/org.linkedopenactors
Set log level to DEBUG
curl -i -X POST -H 'Content-Type: application/json' -d '{"configuredLevel": "DEBUG"}' https://rdfpub.test.opensourceecology.de/actuator/loggers/de.naturzukunft.rdf4j curl -i -X POST -H 'Content-Type: application/json' -d '{"configuredLevel": "DEBUG"}' https://rdfpub.test.opensourceecology.de/actuator/loggers/org.linkedopenactors
Set log level to INFO
curl -i -X POST -H 'Content-Type: application/json' -d '{"configuredLevel": "INFO"}' https://rdfpub.test.opensourceecology.de/actuator/loggers/de.naturzukunft.rdf4j curl -i -X POST -H 'Content-Type: application/json' -d '{"configuredLevel": "INFO"}' https://rdfpub.test.opensourceecology.de/actuator/loggers/org.linkedopenactors
Technical Reports
The technical reposting is provided via maven site plugin
There is a gitlab-ci job called maven-all that executes also the site generation.
E.g. the site generated for the job 1933518716 is located here:
https://linkedopenactors.gitlab.io/-/rdf-pub/-/jobs/1933518716/artifacts/target/staging/rdf-pub/index.html
The link is unfortunately very unattractive, we will see if we make it more beautiful in the future. but this has rather a lower priority
Maven module spanning Javadoc for the above job.
About
Team
Fred Hauschel
Software Engineer
http://hauschel.de