-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #35 from zazuko/apps-blueprint-helm
Add some documentation for Blueprint
- Loading branch information
Showing
11 changed files
with
406 additions
and
180 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
--- | ||
displayed_sidebar: appsSidebar | ||
title: Data Centric Applications | ||
sidebar_label: Introduction | ||
sidebar_position: 0 | ||
--- | ||
|
||
A data-centric application is a software system primarily focused on managing, processing, and utilizing data. | ||
In such applications, data is the central component, and the application is designed to organize, store, analyze, and present this data effectively. | ||
The primary goal of a data-centric application is to ensure that data is easily accessible, accurate, and can be used to drive decision-making or automate processes. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
label: Zazuko Blueprint | ||
position: 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
--- | ||
displayed_sidebar: appsSidebar | ||
title: Deploy Zazuko Blueprint using Docker | ||
sidebar_label: Deploy using Docker | ||
sidebar_position: 1 | ||
--- | ||
|
||
We are providing a [container image](https://github.com/zazuko/blueprint/pkgs/container/blueprint) for Zazuko Blueprint, that gets built automatically on every push to the [main branch](https://github.com/zazuko/blueprint). | ||
We also tag some releases, so you can use a specific version of Blueprint. | ||
|
||
You can pull the latest version of the container image using the following command: | ||
|
||
```sh | ||
docker pull ghcr.io/zazuko/blueprint:latest | ||
``` | ||
|
||
The container exposes the Blueprint instance on port 80. | ||
|
||
When deploying the container in production, make sure to use a specific version of the container image, instead of `latest`. | ||
|
||
## Configuration | ||
|
||
You will need to provide some configuration to the container, using environment variables. | ||
|
||
The following environment variables are available: | ||
|
||
| Variable | Description | Default | | ||
| ------------------------ | ------------------------------------------- | ------------------------------------------- | | ||
| ENDPOINT_URL | SPARQL endpoint URL | **required** | | ||
| SPARQL_CONSOLE_URL | SPARQL console URL | http://example.com/sparql/#query | | ||
| GRAPH_EXPLORER_URL | Graph Explorer URL | http://example.com/graph-explorer/?resource | | ||
| FULL_TEXT_SEARCH_DIALECT | Full text search dialect | fuseki | | ||
| NEPTUNE_FTS_ENDPOINT | OpenSearch endpoint for the Neptune dialect | http://example.com/ | | ||
|
||
Currently, the supported full text search dialects are `stardog`, `fuseki` and `neptune`. | ||
|
||
If you are using `neptune` as the full text search dialect, you will need to provide the `NEPTUNE_FTS_ENDPOINT` environment variable. | ||
|
||
In case you are using a Trifid instance, which is deployed at `http://example.com`, that is configured over a Fuseki endpoint, you can use the following configuration: | ||
|
||
```env | ||
ENDPOINT_URL=http://example.com/query | ||
SPARQL_CONSOLE_URL=http://example.com/sparql/#query | ||
GRAPH_EXPLORER_URL=http://example.com/graph-explorer/?resource | ||
FULL_TEXT_SEARCH_DIALECT=fuseki | ||
``` | ||
|
||
## Running the container | ||
|
||
Using the configuration above, you can run the container with the following command: | ||
|
||
```sh | ||
docker run -d -p 8080:80 \ | ||
-e ENDPOINT_URL=http://example.com/query \ | ||
-e SPARQL_CONSOLE_URL=http://example.com/sparql/#query \ | ||
-e GRAPH_EXPLORER_URL=http://example.com/graph-explorer/?resource \ | ||
-e FULL_TEXT_SEARCH_DIALECT=fuseki \ | ||
ghcr.io/zazuko/blueprint:latest | ||
``` | ||
|
||
And open your browser at `http://localhost:8080`. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,128 @@ | ||
--- | ||
displayed_sidebar: appsSidebar | ||
title: Deploy Zazuko Blueprint on Kubernetes | ||
sidebar_label: Deploy on Kubernetes | ||
sidebar_position: 2 | ||
--- | ||
|
||
You can deploy Zazuko Blueprint on Kubernetes using the provided Helm chart. | ||
|
||
## Prerequisites | ||
|
||
- A running Kubernetes cluster | ||
- [Helm](https://helm.sh/docs/intro/install/) installed | ||
|
||
## Installation steps | ||
|
||
### Add the Zazuko Helm repository | ||
|
||
First, you will need to add the Zazuko Helm repository: | ||
|
||
```sh | ||
helm repo add zazuko https://charts.zazuko.com | ||
``` | ||
|
||
So that you can install any of the Zazuko Helm charts. | ||
|
||
### Create a `values.yaml` file | ||
|
||
You can take a look at the [Artifact Hub](https://artifacthub.io/packages/helm/zazuko/blueprint) to see the available configuration options. | ||
|
||
To get started, you can create a `values.yaml` file with the following content: | ||
|
||
```yaml | ||
endpointUrl: https://ld.example.com/query | ||
sparqlConsoleUrl: https://ld.example.com/sparql/#query | ||
graphExplorerUrl: https://ld.example.com/graph-explorer/?resource | ||
fullTextSearchDialect: fuseki | ||
neptuneFtsEndpoint: "" | ||
|
||
# Ingress configuration | ||
ingress: | ||
enabled: true | ||
className: "" | ||
annotations: | ||
kubernetes.io/tls-acme: "true" | ||
# kubernetes.io/ingress.class: nginx | ||
|
||
# Make sure to configure the following fields if you enable the Ingress | ||
hosts: | ||
- host: blueprint.example.com | ||
paths: | ||
- path: / | ||
pathType: ImplementationSpecific | ||
tls: | ||
- secretName: blueprint-example-com-tls | ||
hosts: | ||
- blueprint.example.com | ||
|
||
# Trifid configuration | ||
trifid: | ||
enabled: true # Let's deploy a Trifid instance | ||
|
||
# Information about the SPARQL endpoint | ||
sparql: | ||
endpoint: "http://blueprint-fuseki:3030/ds/query" # Feel free to change this to your own SPARQL endpoint | ||
# Uncomment the following lines if you need to authenticate | ||
# username: "" | ||
# password: "" | ||
|
||
# Set the base URL for the dataset, to allow some rewriting features | ||
dataset: | ||
baseUrl: "" # You can leave this empty if you don't need it | ||
|
||
# Ingress configuration | ||
ingress: | ||
enabled: true | ||
className: "" | ||
annotations: | ||
kubernetes.io/tls-acme: "true" | ||
# kubernetes.io/ingress.class: nginx | ||
|
||
# Make sure to configure the following fields if you enable the Ingress | ||
hosts: | ||
- host: ld.example.com | ||
paths: | ||
- path: / | ||
pathType: ImplementationSpecific | ||
tls: | ||
- secretName: ld-example-com-tls | ||
hosts: | ||
- ld.example.com | ||
|
||
# Fuseki configuration | ||
fuseki: | ||
enabled: true # Let's deploy a Fuseki instance also | ||
|
||
config: | ||
adminPassword: super-secret-password | ||
javaOpts: "-Xmx2048m -Xms2048m" | ||
|
||
storage: | ||
enabled: true | ||
size: 10Gi | ||
``` | ||
It assumes that the Trifid instance will be deployed at `ld.example.com` and the Blueprint instance at `blueprint.example.com`. | ||
You can change these values to match your domain. | ||
|
||
The Fuseki endpoint is not exposed, that's why you can see that Trifid is configured to use `blueprint-fuseki:3030/ds/query` as the endpoint. | ||
Feel free to change this to your own SPARQL endpoint, if you want to use a different one. | ||
|
||
Make sure to update the different ingress configurations to match your domain and TLS configuration. | ||
Relevant keys are `ingress` and `trifid.ingress`. | ||
You can disable them by setting `enabled: false`, and then you can access the services using port-forwarding or by creating the ingresses manually. | ||
|
||
You might want to see for more configuration options by checking the [Artifact Hub](https://artifacthub.io/packages/helm/zazuko/blueprint#values) page. | ||
|
||
### Install the chart | ||
|
||
Using the `values.yaml` file you created, you can install the chart: | ||
|
||
```sh | ||
helm install blueprint-release zazuko/blueprint --values values.yaml # --namespace default | ||
``` | ||
|
||
You can specify the namespace where you want to install the chart using the `--namespace` flag. | ||
|
||
You can also use another name for the release by changing `blueprint-release` to your desired name. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
--- | ||
displayed_sidebar: appsSidebar | ||
title: Zazuko Blueprint Presentation | ||
sidebar_label: Presentation | ||
sidebar_position: 0 | ||
--- | ||
|
||
Zazuko Blueprint is an enterprise knowledge graph frontend and browser, designed to make RDF Knowledge Graphs accessible and customizable for domain users. | ||
|
||
## Relevant links | ||
|
||
- [GitHub repository](https://github.com/zazuko/blueprint) | ||
- [Report an issue](https://github.com/zazuko/blueprint/issues) | ||
|
||
## Try it out | ||
|
||
We provide a very simple Docker Compose stack that can be used to try out Blueprint. | ||
|
||
Just go here and follow the instructions: https://github.com/zazuko/blueprint/tree/main/stack | ||
|
||
The stack includes the following: | ||
|
||
- a triplestore (Fuseki) | ||
- a Blueprint instance | ||
- a Trifid instance | ||
|
||
and comes with a small dataset to get you started. | ||
|
||
The dataset contains information about a Kubernetes cluster and OCI data. | ||
Instructions on how to generate those data for your own cluster are included in the repository. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.