Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel7

...

Note

Note that you should rarely, if ever, need to manually edit these configuration files as their contents are managed using the MettleCI Workbench user interface.

...

File config.yml

...

This is the primary MettleCI Workbench configuration file.e.g

Section gitAuthentication

Specifies values required to connect to Git systems.

Code Block
languageyaml
gitAuthentication:
  sshKey: "/opt/dm/mci/workbench.key"
  sshPassphrase: "MyPassPhrase"
  httpsEnabled: true
  commitSigningEnabled: true
  httpsProvider: "SunJSSE"
  httpsCredentialsStoresecretsStore:
    type: "PKCS12"
    path: "/opt/dm/mci/.secrets/git-credentials.p12"
    password: "${file:UTF-8:/opt/dm/mci/.secrets/git-credentials-keystore-password}"
Info

Note that in earlier versions of MettleCI Workbench which did not support Git commit signing, the secretsStore section above used the name httpsCredentialsStore which will continue to be accepted as an alias. This supports users upgrading their MettleCI Workbench installations without needing to alter their config.yml file.

Section datastage

Tells MettleCI workbench about your DataStage installation.

Code Block
languageyaml
datastage:
  installDir: "/opt/IBM/InformationServer/Server/DSEngine"
  domain: "demo115-svcs.dm-demo-datastage.datamigrators.io:59445"
  server: "demo115-engn.dm-demo-datastage.datamigrators.io"
  username: "isadmin"
  password: "{iisenc}W3ZIJYGenK408WMCS36N69SIFaSI9o1ikzRO4SJgjBU="

Section server

Specifies properties of the Workbench service running on your DataStage Engine tier.

Code Block
languageyaml
server:
  applicationConnectors:
    - type: https
      port: 8443
      keyStoreType: PKCS12
      keyStorePath: /opt/dm/mci/mettleci-trust.p12
      keyStorePassword: changeit
      trustStoreType: PKCS12
      trustStorePath: /opt/dm/mci/mettleci-trust.p12
      trustStorePassword: changeit
userInactiveTimeout: 0
featureToggles:
  projectRegistration: true
  issueManagement: true
  multipleWorkItemManagementEnabled: true

Section logging

The MettleCI Workbench service can log diagnostic information. This section specifies what information to log, and how the MettleCI service should log it.

Code Block
languageyaml
logging:
  type: "default"
  level: "INFO"
  appenders:
  - type: "file"
    threshold: "ALL"
    timeZone: "UTC"
    queueSize: 256
    discardingThreshold: -1
    currentLogFilename: "/opt/dm/mci/mci.log"
    archive: true
    archivedLogFilenamePattern: "/opt/dm/mci/mci-%d.log.gz"
    archivedFileCount: 5
    bufferSize: "8192 bytes"
    immediateFlush: true

Other entries in config.yml

Various other entries are present which, in general, should be left unmodified unless you are asked to alter them by your Data Migrators support team.

Code Block
languageyaml
userInactiveTimeout: 0
featureToggles:
  projectRegistration: true
  issueManagement: true
  multipleWorkItemManagementEnabled: true
admin:
  healthChecks:
    minThreads: 1
    maxThreads: 4
    workQueueSize: 1
  tasks: {}

...

File datastage-users.yaml

...

This MettleCI Workbench configuration file stores use-specific information.

e.g.

Code Block
languageyaml
---
- id: 1                                  # MettleCI internal user Id
  username: "peterparker"                # IIS username
  name: "Peter Parker"                   # The user's real name
  email: "peter.parker@mettleci.com"     # Used to identify users to most Git systems
  roles:                                 # IIS roles of this user
  - "ADMINISTRATOR"
  - "DEVELOPER"
  gitUsername: peter.parker              # The user's Git username (with which Git commits should be #performed)

...

File issuesmanagement-settings.yaml

...

This stores connection details for your registered Work Item Management systems. e.g.Each registered work item management system with have a separate entry, starting with the default ‘GENERIC’ system (which performs no remote work item lookup) with yaml key id: 0.

Code Block
languageyaml
---
- id: 0
  type: "GENERIC"                                           # The default 'generic' issue management system
  name: "Default Generic Issue Manager"
- id: 1
  type: "JIRA"                                              # A Jira instance and its required configuration properties
  name: "Demo Jira"
  url: "http://atlassian.dm-demo-alm.mettleci.io/jira"
  consumerKey: "WB@demo115-engn.dm-demo-datastage"
  consumerSecret: "-----BEGIN PRIVATE KEY-----
  <SNIP>
  ZgdaxMMXs5Mlg4Oo=\n-----END PRIVATE KEY-----"
- id: 2
  type: "GITLAB"                                            # A GitLab instance and its required configuration properties
  name: "gitlab-wwi-115"
  url: "https://gitlab.dm-demo-alm.mettleci.io/"
  appId: "a945fc88a3 <SNIP> 439b7228f70fc363e"
  secret: "c74aa75f2 <SNIP> c0e87620f2ec1b7d5"

...

File project-settings.yaml

...

This stores details of each of the DataStage Projects registered with MettleCI Workbenche.g.. The general structure is as follows:

Code Block
languageyaml
---
- id: {n}
  name: "some_name"
  repository:
    {details here}
  compliance:
    {details here}
  issueManagementId: {n}

The id is a unique integer starting at 0. The issueManagementId is a reference to the id of the issue management system defined in issuesmanagement-settings.yaml and which this project should use to perform work item lookuop.

Bamboo Example

Code Block
languageyaml
- id: 1
  name: "wwi_bamboo_ds115_dev"                                        # A project using Atlassian Bamboo
  repository:
    url: "ssh://git@atlassian.io:7999/ad/wwi_bamboo_ds115.git"
    branch: ""
    path: "datastage"
  compliance:
    url: "ssh://git@atlassian.io:7999/cr/compliance-rules.git"
    branch: ""
    path: ""
  issueManagementId: 1

Azure Example

Code Block
languageyaml
- id: 2
  name: "wwi_azure_ds115_dev"                                         # A project using Microsoft Azure Devops
  repository:
    url: "git@ssh.dev.azure.com:v3/mettleci/ADO-WWI/ADO-WWI-115"
    branch: "main"
    path: "datastage"
  compliance:
    url: "git@ssh.dev.azure.com:v3/mettleci/ADO-WWI/ADO-Compliance"
    branch: "main"
    path: "WORKBENCH"
  issueManagementId: 0

GitHub Example

Code Block
languageyaml
- id: 3
  name: "wwi_github_ds115_dev"                                        # A project using GitHub
  repository:
    url: "ssh://git@github.com:peterparker/demo1115.github.git"
    branch: "main"
    path: "datastage"
  compliance:
    url: "ssh://git@github.com:peterparker/Compliance.git"
    branch: "main"
    path: ""
  issueManagementId: 0

GitLab Example

Code Block
languageyaml
- id: 4
  name: "wwi_gitlab_ds115_dev"                                        # A project using GitLab
  repository:
    url: "ssh://git@gitlab.io:data-migrators/gitlab-wwi-115.git"
    branch: "main"
    path: "datastage"
  compliance:
    url: "ssh://git@gitlab.io:data-migrators/gitlab-compliance.git"
    branch: "main"
    path: "WORKBENCH"
  issueManagementId: 2