Includes a simple deployment of a sovity Connector that uses https://daps.disco.ai-data.imec.be/ as the authority server.
- A Managed Kubernetes cluster
- Helm
- DNS record for the domain you want to use
- Keystore issued by the authority server
Connect to the Kubernetes cluster
kubectl config use-context <your-cluster-name>
-
Install Ingress-Nginx controller (or any other ingress controller you prefer)
helm upgrade --install ingress-nginx ingress-nginx \ --repo https://kubernetes.github.io/ingress-nginx \ --namespace ingress-nginx --create-namespace
Confirm the installation by checking external IP of the LoadBalancer service
kubectl get svc -n ingress-nginx
-
Add DNS record for the LoadBalancer service.
-
Install cert-manager
helm repo add jetstack https://charts.jetstack.io --force-update helm install \ cert-manager jetstack/cert-manager \ --namespace cert-manager \ --create-namespace \ --version v1.16.3 \ --set crds.enabled=true
-
Apply a ClusterIssuer cluster-issuer.yaml
kubectl apply -f cluster/infrastructure/cluster-issuer.yaml
-
Install Postgres Operator
# add repo for postgres-operator helm repo add postgres-operator-charts https://opensource.zalando.com/postgres-operator/charts/postgres-operator # install the postgres-operator helm install postgres-operator postgres-operator-charts/postgres-operator --namespace postgres-operator --create-namespace
-
Create a connector.sec.yaml from the template connector.sec.template.yaml. Update
keystore-password
with the password provided by the authority server. Adjust theapi-auth-key
if needed. -
Copy your keystore file
keystore.p12
to thecluster/connector/secrets
directory. -
Update the connector.env and connector-ui.env files with the correct values.
${client}
- your client id${domain}
- the domain you have set up
-
Adjust the ingress.yaml file with the correct domain.
-
Apply the connector resources
kubectl apply -k cluster
-
Register the data plane of the connector with the control plane - update the
${domain}
and${api-auth-key}
:curl --location 'https://${domain}/api/management/v2/dataplanes' \ --header 'Content-Type: application/json' \ --header 'x-api-key: ${api-auth-key}' \ --data-raw '{ "@context": { "edc": "https://w3id.org/edc/v0.0.1/ns/" }, "edctype": "dataspaceconnector:dataplaneinstance", "id": "http-pull-dataplane", "url": "https://${domain}/api/management/transfer", "allowedSourceTypes": [ "HttpData" ], "allowedDestTypes": [ "HttpData", "HttpProxy" ], "properties": { "edc:publicApiUrl": "https://${domain}/public" } }'