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.
Section gitAuthentication
Specifies values required to connect to Git systems.
gitAuthentication: sshKey: "/opt/dm/mci/workbench.key" sshPassphrase: "MyPassPhrase" httpsEnabled: true commitSigningEnabled: true httpsProvider: "SunJSSE" secretsStore: type: "PKCS12" path: "/opt/dm/mci/.secrets/git-credentials.p12" password: ${file:UTF-8:/opt/dm/mci/.secrets/git-credentials-keystore-password}
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. Users upgrading their MettleCI Workbench installations without needing to alter their config.yml
file.
Section datastage
Tells MettleCI workbench about your DataStage installation.
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.
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
Section logging
Describes what, and how, the MettleCI service should log diagnostic information.
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.
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.
--- - 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. 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
.
--- - 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 Workbench. The general structure is as follows:
--- - 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
- 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
- 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
- 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
- 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