Deploying the OSLC connector for Jama Connect with internet connection

Deploying the OSLC connector for Jama Connect with internet connection

Prerequisites

The following steps should already have been done before you install the OSLC connector for Jama:

  1. A server is provided as described in Installing Smartfacts for Proof of Concepts | Provide a Server.

  2. The necessary certificates as described in the help page Creating and testing the certificates are created.

  3. The DNS entries for Smartfacts and the sub domain “genoslc-jama” as described in the section Installing Smartfacts for Proof of Concepts | Create the DNS entries for Smartfacts Server and Subdomains.

  4. Smartfacts and with it the genOSLC connector for Smartfacts is installed (see PoC Deployment on Kubernetes platforms with Keycloak as OIDC provider).

  5. Make sure that all necessary proxies are configured to allow the communication from the Smartfacts server to the target Jama instance.

  6. Set up an application/client in your OIDC provider.

The OAuth2.0 client MUST fulfil the following requirements:

  1. has to be a private client (so it has a key and secret)

  2. has to be OIDC

  3. grant type must be authorization code flow 

  4. the redirect URI must be https://<oslc connector url>/login/oauth2/code/custom

Prepare the Deployment

Enable OSLC Connector for Jama in Jama Connect

To enable the OSLC Connector in Jama, follow these steps:


 

Add library Repository for the OSLC Connector for Jama

You will need a username and password to download the helm chart and containers from MID's repository. You will receive username and password from your MID contact or from cops@mid.de.

sudo helm repo add library https://repo.secure.mid.de/chartrepo/library --username <USERNAME> --password <PASSWORD>
sudo helm repo update

 

Customize Values File

  • Change to your user's home directory on the server and create a new text file values-genoslc-jama.yaml with the following content:

    global: domain: "<your-domain>" registry: "repo.mid.de" repologin: <login provided by MID> cert: crtFullChain: "<FULL-CHAIN-CERT-BASE64>" key: "<CERT-KEY-BASE64>" oidc: clientId: "smartfacts" clientSecret: "<Smartfacts client secret>" hosts: genoslc: subdomain: "genoslc-jama" ingress: enabled: true # if you use nginx as ingress controller please comment in this line: #ingressClassType: "nginx" env: authorizationUri: "<Authorization URL of identity provider>" tokenUri: "<Token URI of identity provider>" userInfoUri: "<UserInfo URI of identity provider>" trsEnabled: false # Set to true if you use Smartfacts as data source for a link index tool: type: "jama" adaptedToolApiUri: "<URL of your Jama instance>" adaptedToolRootUri: "<URL of your Jama instance>" adaptedToolTechnicalUserAuthorizationHeader: "<base64 encoded credentials of the technical user in Jama>" configuration: # Give a list of up to 5 usernames of users which will have the administration right to change settings in Smartfacts. # At leas one administrator user must be stated here. administrators: - <administrator1> # replace this value with the username of the person who should configure the oauth10a information for the OSLC Connector for Smartfacts # key used to encrypt the oauth10a configuration data oauth10aEncryptionKey: "" # define the key which is used to encrypt the oauth10a informatin in the database knownContextRoots: "<URL of your Jama instance>" allowedCorsOrigins: "<URL of your Jama instance>,<URL of your Smartfacts instance>,<URL of your OIDC provider>" mongodb: enabled: true certtool: enabled: true
  • Replace the value of the domain property with your domain name.

  • Replace the value of the repologin property with the value provided from MID.

  • Replace the placeholder of the crtFullChain and key properties with the values copied from the values file used to deploy Smartfacts.

  • I you are using a nginx as the ingress controller, comment in the “ingressClassType” property.

  • Replace the placehoder for the OIDC clientSecret. You can retrieve this secret from your Smartfacts deployment using the following command:

    sudo kubectl get secret smartfacts-oidc-secrets -o 'go-template={{index .data "smartfactsSecret"}}' -n smartfacts | base64 -d; echo ""
  • Replace the placeholder “<URL of your Jama instance>“ in adaptedToolApiUri and adaptedToolRootUri with the URL of your Jama instance.

  • Replace the placehoders in allowedCorsOrigins with the corresponding URLs (just protocol an host) to the connected instances:

    • Jama

    • Smartfacts

    • Your identity provider

  • Save the values-genoslc-jama.yaml file.

Add external URLs in the Smartfacts deployment

 

Install the OSLC Connector for Jama

Execute the Installation

Enter the following command to execute the Installation:

sudo helm upgrade --install genoslc-jama library/genoslc -f values-genoslc-jama.yaml -n genoslc-jama --create-namespace

Next Steps

To configure Jama, please follow the instructions in the sections Using the OSLC Connector for Jama Connect and https://smartfacts.atlassian.net/l/cp/wafV7fmD.