Skip to content

imec-int/disco-connector-k8s

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

DISCO Sovity Connector

Includes a simple deployment of a sovity Connector that uses https://daps.disco.ai-data.imec.be/ as the authority server.

Prerequisites

  • A Managed Kubernetes cluster
  • Helm
  • DNS record for the domain you want to use
  • Keystore issued by the authority server

Installation

Connect to the Kubernetes cluster

kubectl config use-context <your-cluster-name>

Infrastructure

  1. 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
  2. Add DNS record for the LoadBalancer service.

  3. 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
  4. Apply a ClusterIssuer cluster-issuer.yaml

    kubectl apply -f cluster/infrastructure/cluster-issuer.yaml

Application

  1. 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
  2. Create a connector.sec.yaml from the template connector.sec.template.yaml. Update keystore-password with the password provided by the authority server. Adjust the api-auth-key if needed.

  3. Copy your keystore file keystore.p12 to the cluster/connector/secrets directory.

  4. Update the connector.env and connector-ui.env files with the correct values.

    • ${client} - your client id
    • ${domain} - the domain you have set up
  5. Adjust the ingress.yaml file with the correct domain.

  6. Apply the connector resources

    kubectl apply -k cluster

Registration

  1. 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"
        }
    }'

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published