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:
A server is provided as described in Installing Smartfacts for Proof of Concepts | Provide a Server.
The necessary certificates as described in the help page Creating and testing the certificates are created.
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.
Smartfacts and with it the genOSLC connector for Smartfacts is installed (see PoC Deployment on Kubernetes platforms with Keycloak as OIDC provider).
Make sure that all necessary proxies are configured to allow the communication from the Smartfacts server to the target Jama instance.
Set up an application/client in your OIDC provider.
The OAuth2.0 client MUST fulfil the following requirements:
has to be a private client (so it has a key and secret)
has to be OIDC
grant type must be authorization code flow
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.yamlwith 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: trueReplace 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.yamlfile.
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-namespaceNext 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.