├── .env ├── .github ├── dependabot.yml └── workflows │ ├── build-and-test.yml │ ├── check-links.yml │ ├── create-release.yml │ ├── detect-secrets.yml │ ├── lint.yml │ ├── publish.yml │ └── stale.yml ├── .gitignore ├── .md_check_config.json ├── .pre-commit-config.yaml ├── .secrets.baseline ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README-license-annotations.md ├── README.md ├── azuread ├── AzureADProvider.json ├── openIdParameters.properties ├── openIdWebSecurity.xml └── webSecurity.xml ├── build.sh ├── common ├── DO_NOT_REMOVE_DRIVERS_FOLDER.txt ├── config │ ├── auth │ │ ├── group-security-configurations.xml │ │ └── webSecurity.xml │ ├── authOidc │ │ ├── authFilters.xml │ │ ├── openIdParametersTemplate.properties │ │ ├── openIdWebSecurityTemplate.xml │ │ ├── resAdministrators.xml │ │ ├── resDeployers.xml │ │ ├── resExecutors.xml │ │ ├── resMonitors.xml │ │ ├── rtsAdministrators.xml │ │ ├── rtsConfigManagers.xml │ │ ├── rtsInstallers.xml │ │ └── rtsUsers.xml │ ├── jvm │ │ ├── enablefips-java-pkcs12.security │ │ ├── enablefips-java.security │ │ ├── enablefips-jvm.options │ │ ├── jvm.options │ │ └── pkcs11cfg.cfg │ ├── metering-template.properties │ ├── tlsSecurity.xml │ ├── tlsSecurityFIPS.xml │ └── welcomepage_application.xml ├── drivers │ └── .gitignore ├── features │ ├── disableDiagnosticWarning.sh │ ├── extractODMVersion.sh │ ├── features.properties │ ├── loadFeatures.sh │ ├── overrideDbSample.sh │ ├── overrideDbSample8103.sh │ ├── overrideDbSample8105.sh │ ├── overrideDbSample811.sh │ ├── overrideDbSample8111.sh │ ├── overrideDbSample812.sh │ ├── overrideDbSample900.sh │ └── packageJaxbRuntime.sh ├── resources │ └── .nodelete ├── script │ ├── changeParamValue.sh │ ├── checkLicense.sh │ ├── configureDatabase.sh │ ├── configureMetering.sh │ ├── configureSwidTag.sh │ ├── configureTlsSecurity.sh │ ├── diagnostic.sh │ ├── download.sh │ ├── enableFips.sh │ ├── enableMetering.sh │ ├── extractApp.sh │ ├── findOAuthServerUtilClass.sh │ ├── findServerExtClass.sh │ ├── fixWLPForProduction.sh │ ├── generateVersionFile.sh │ ├── initVariables.sh │ ├── installDerby.sh │ ├── installFeatures.sh │ ├── installMySQL.sh │ ├── installPostgres.sh │ ├── manageLicense.sh │ ├── rsyslog-start.sh │ ├── runLifecycleHookStart.sh │ ├── runLifecycleHookStop.sh │ ├── setTimeZone.sh │ ├── sidecar-liveness-probe.sh │ ├── sidecar-readiness-probe.sh │ ├── sidecar-startup-probe.sh │ └── updateDatasource.sh └── security │ ├── keystore.jks │ ├── ltpa.keys │ └── truststore.jks ├── contrib ├── populate-sample-db │ ├── README.md │ └── populate.sh ├── update-images │ ├── .env │ ├── DbserverDockerfile │ ├── Dockerfile │ ├── README.md │ └── docker-compose.yml └── validate-odm │ ├── .env.template │ ├── README.md │ ├── images │ ├── script-logs.gif │ └── script-logs.png │ ├── test-ruleset │ ├── loan_validation_test.json │ └── loan_validation_test_response.json │ └── validate-odm.sh ├── databases ├── derby │ ├── Dockerfile │ ├── data-8.10.0.tar.gz │ ├── data-8.10.3.tar.gz │ ├── data-8.9.tar.gz │ └── script │ │ └── rundb.sh ├── mysql │ └── Dockerfile └── postgresql │ ├── Dockerfile │ ├── config │ └── ssl │ │ ├── datasource-dc.xml │ │ ├── datasource-ds.xml │ │ ├── odm.crt │ │ ├── odm.key │ │ ├── odmcrt.der │ │ ├── odmkey.pk8 │ │ ├── odmroot.crt │ │ ├── pg_hba.conf │ │ ├── pg_ident.conf │ │ └── postgresql.conf │ ├── data-8.10.next.dump │ ├── data-8.11.next.dump │ ├── data-8.12.next.dump │ ├── data-9.0.next.dump │ ├── script │ ├── checkdb.sh │ ├── restore.sh │ └── rundb.sh │ ├── update-usersetting.sql │ └── verify-usersetting.sql ├── decisioncenter ├── Dockerfile ├── config │ ├── OdmOidcProviders.json │ ├── OdmOidcProvidersRD.json │ ├── app.properties │ ├── application-decisioncenter-api.xml │ ├── application-decisioncenter.xml │ ├── application-teamserver-dbdump.xml │ ├── datasource-db2.xml │ ├── datasource-derby.xml │ ├── datasource-mysql.xml │ ├── datasource-oracle.xml │ ├── datasource-postgres.xml │ ├── datasource-sqlserver.xml │ ├── decisioncenter-configuration.properties │ ├── featureManager.xml │ ├── httpSessionHttp.xml │ ├── httpSessionHttps.xml │ ├── jvm.options │ ├── logging │ │ └── logging.xml │ ├── new-decisioncenter-configuration.properties │ ├── new-server-configurations.json │ ├── server-configurations.json │ ├── server.xml │ └── solr-preferences.properties └── script │ ├── addDCApplications.sh │ ├── generateRDFiles.sh │ ├── rundc.sh │ ├── setUTF8Locale.sh │ ├── updateDCConfigurations.sh │ ├── updateDemoServers.sh │ └── updatePersistenceLocale.sh ├── decisionserver ├── config │ ├── datasource-db2.xml │ ├── datasource-derby.xml │ ├── datasource-mysql.xml │ ├── datasource-oracle.xml │ ├── datasource-postgres.xml │ ├── datasource-sqlserver.xml │ ├── httpSessionHttp.xml │ └── httpSessionHttps.xml ├── decisionrunner │ ├── Dockerfile │ ├── config │ │ ├── app.properties │ │ ├── application.xml │ │ ├── application_standalone.xml │ │ ├── featureManager.xml │ │ ├── logging │ │ │ └── logging.xml │ │ └── server.xml │ └── script │ │ ├── enableDRMetering.sh │ │ ├── rundr.sh │ │ └── updateDRConfigurations.sh ├── decisionserverconsole │ ├── Dockerfile │ ├── config │ │ ├── app.properties │ │ ├── application.xml │ │ ├── basicAuth.xml │ │ ├── featureManager.xml │ │ ├── logging │ │ │ └── logging.xml │ │ ├── oAuth.xml │ │ └── server.xml │ └── script │ │ ├── run.sh │ │ └── updateDSCConfigurations.sh └── decisionserverruntime │ ├── Dockerfile │ ├── config │ ├── app.properties │ ├── application.xml │ ├── basicAuth.xml │ ├── featureManager.xml │ ├── logging │ │ └── logging.xml │ └── server.xml │ └── script │ ├── configureTcpipNotification.sh │ ├── runds.sh │ └── updateDSRConfigurations.sh ├── docker-compose.yml ├── docs ├── README_cluster.md ├── README_standalone.md ├── README_standard.md ├── images │ ├── Architecture.png │ ├── ClusterFig01.png │ ├── Fig1.png │ ├── Fig2.png │ ├── StandaloneFig01.png │ └── StandardFig02.png └── schema.pptx ├── ldap ├── Dockerfile ├── auth │ ├── ldap-configurations.xml │ └── webSecurity.xml └── bootstrap │ └── ldif │ └── example.ldif ├── licenses └── .gitignore ├── odm-azuread.yml ├── odm-cluster.yml ├── odm-oidcwithbasicauthonruntime.yml ├── odm-oracle.yml ├── odm-postgres-ssl.yml ├── odm-rolegroupmapping.yml ├── odm-standalone-postgres.yml ├── odm-standalone-tomcat.yml ├── odm-standalone.yml ├── odm-ums-override-config.yml ├── odm-ums.yml ├── oidc-with-basicauthonruntime ├── group-security-configurations.xml ├── keystore.jks ├── openIdParameters.properties ├── openIdWebSecurity.xml ├── runtimeWebSecurity.xml ├── truststore.jks └── webSecurity.xml ├── override-derby.yml ├── override-mysql.yml ├── override-openldap.yml ├── resources ├── .dockerignore └── translation │ └── .dockerignore ├── rolegroupmapping ├── group-security-configurations.xml ├── keystore.jks ├── ldap-configurations.xml ├── truststore.jks └── webSecurity.xml ├── settings.xml ├── standalone-tomcat ├── Dockerfile ├── config │ ├── decisioncenter-configuration.properties │ ├── new-decisioncenter-configuration.properties │ ├── server-configurations.json │ ├── server.xml │ └── tomcat-users.xml ├── data-8.10.0.tar.gz ├── data-8.9.tar.gz └── script │ └── runserver.sh ├── standalone ├── Dockerfile ├── config │ ├── app.properties │ ├── datasource-h2.xml │ ├── datasource-postgres.xml │ ├── decisioncenter-configuration.properties │ ├── featureManager.xml │ ├── group-security-configurations.xml │ ├── httpSession.xml │ ├── loan-server_application.xml │ ├── logging │ │ └── logging.xml │ ├── new-decisioncenter-configuration.properties │ ├── resources │ │ └── h2-2.2.224.jar │ ├── server-configurations.json │ ├── server.xml │ ├── tlsSecurity.xml │ ├── webSecurity.xml │ └── welcomepage_application.xml ├── dockerhub │ ├── full-description.md │ └── short-description.txt ├── licenses │ ├── Lic_cs.txt │ ├── Lic_de.txt │ ├── Lic_el.txt │ ├── Lic_en.txt │ ├── Lic_es.txt │ ├── Lic_fr.txt │ ├── Lic_in.txt │ ├── Lic_it.txt │ ├── Lic_ja.txt │ ├── Lic_ko.txt │ ├── Lic_lt.txt │ ├── Lic_pl.txt │ ├── Lic_pt.txt │ ├── Lic_ru.txt │ ├── Lic_sl.txt │ ├── Lic_tr.txt │ ├── Lic_zh.txt │ ├── Lic_zh_TW.txt │ ├── non_ibm_license │ └── notices.txt ├── resdb-8.11.1.zip ├── resdb-8.11.zip ├── resdb-8.12.zip ├── resdb-9.0.zip ├── rtsdb-8.11.1.zip ├── rtsdb-8.11.zip ├── rtsdb-8.12.zip ├── rtsdb-9.0.zip ├── samples │ ├── loan-server │ │ └── pom.xml │ ├── loan-validation-xom │ │ └── src │ │ │ └── loan │ │ │ ├── Borrower.java │ │ │ ├── DateUtil.java │ │ │ ├── LoanRequest.java │ │ │ ├── LoanUtil.java │ │ │ ├── Messages.java │ │ │ ├── Report.java │ │ │ ├── messages.properties │ │ │ ├── messages_de.properties │ │ │ ├── messages_es.properties │ │ │ ├── messages_fr.properties │ │ │ ├── messages_it.properties │ │ │ ├── messages_ja.properties │ │ │ ├── messages_ko.properties │ │ │ ├── messages_nl.properties │ │ │ ├── messages_pl.properties │ │ │ ├── messages_pt_BR.properties │ │ │ ├── messages_ru.properties │ │ │ ├── messages_sq.properties │ │ │ ├── messages_sv.properties │ │ │ ├── messages_zh.properties │ │ │ └── messages_zh_TW.properties │ ├── miniloan-xom │ │ └── pom.xml │ └── pom.xml └── script │ └── runserver.sh ├── test └── suite.sh ├── ums ├── group-security-configurations.xml ├── keystore.jks ├── openIdParameters.properties ├── openIdWebSecurity.xml ├── truststore.jks └── webSecurity.xml └── welcomepage ├── README.md ├── pom.xml └── src └── main ├── java └── com │ └── ibm │ └── odm │ └── ondocker │ ├── AppExceptionHandler.java │ └── RedirectServlet.java └── webapp ├── WEB-INF └── web.xml ├── error.jsp ├── favicon.ico ├── images ├── ODM-icon.png └── ibm-white-logo-small.png └── index.jsp /.env: -------------------------------------------------------------------------------- 1 | # ODM product version 2 | ODMVERSION=9.0.0.1 3 | 4 | # CP4BA product version 5 | CP4BAVERSION=24.1.0 6 | 7 | # ODM database schema version 8 | ODMDBVERSION=9.0.next 9 | 10 | # Directory name of the odm-ondocker checkout 11 | ODMDOCKERDIR=odm-ondocker 12 | 13 | # Image use to do multistage build 14 | FROMDOCKERBUILD=maven:3.9.3-ibm-semeru-17-focal 15 | 16 | # Repository name of the images 17 | REPOSITORY=ibmcom 18 | 19 | # Image prefix 20 | PREFIXIMAGE=odm 21 | 22 | # Liberty Version 23 | FROMLIBERTY=icr.io/appcafe/websphere-liberty:24.0.0.9-kernel-java17-openj9-ubi 24 | 25 | PACKAGELIST="audit-2.0 logstashcollector-1.0 mpMetrics-3.0 openidconnectclient-1.0 collectiveMember-1.0 sessionCache-1.0 ldapRegistry-3.0 localConnector-1.0 mpOpenAPI-2.0 mpOpenTracing-2.0 microProfile-4.0 microProfile-1.0 microProfile-1.2 microProfile-1.3 microProfile-1.4 monitor-1.0 restConnector-1.0 requestTiming-1.0 restConnector-2.0 sessionDatabase-1.0 ssl-1.0 transportSecurity-1.0 webCache-1.0 webProfile-7.0" 26 | 27 | # Postgres Version 28 | FROMPOSTGRES=postgres:15 29 | POSTGRESUID=999 30 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # Set update schedule for GitHub Actions 2 | 3 | version: 2 4 | updates: 5 | 6 | - package-ecosystem: "github-actions" 7 | directory: "/" 8 | schedule: 9 | # Check for updates to GitHub Actions every weekday 10 | interval: "daily" 11 | -------------------------------------------------------------------------------- /.github/workflows/check-links.yml: -------------------------------------------------------------------------------- 1 | name: Check Markdown links 2 | 3 | #on: 4 | # push: 5 | # branches: 6 | # - master 7 | # pull_request: 8 | # branches: [master] 9 | on: push 10 | jobs: 11 | markdown-link-check: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v4 15 | - uses: technote-space/get-diff-action@v6 16 | with: 17 | PATTERNS: | 18 | **/**.md 19 | 20 | - uses: gaurav-nelson/github-action-markdown-link-check@v1 21 | with: 22 | use-quiet-mode: 'yes' 23 | use-verbose-mode: 'yes' 24 | config-file: '.md_check_config.json' 25 | 26 | -------------------------------------------------------------------------------- /.github/workflows/create-release.yml: -------------------------------------------------------------------------------- 1 | name: Create release and add asset 2 | on: 3 | push: 4 | tags: 5 | - 'v*' 6 | 7 | jobs: 8 | create-release: 9 | name: Create release 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Checkout code 13 | uses: actions/checkout@v4 14 | - name: Get version from tag 15 | run: | 16 | tag_name="${{ github.ref_name }}" 17 | echo "odm_version=${tag_name##*v}" >> $GITHUB_ENV 18 | - name: Create Release 19 | id: create-release 20 | uses: actions/create-release@v1 21 | env: 22 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 23 | with: 24 | tag_name: ${{ github.ref_name }} 25 | release_name: ODM ${{ env.odm_version }} Release 26 | body: | 27 | - First Change 28 | - Second Change 29 | draft: true 30 | prerelease: false 31 | outputs: 32 | upload_url: ${{ steps.create-release.outputs.upload_url }} 33 | deliver-src-test-script: 34 | name: Deliver validate-odm-script.zip 35 | runs-on: ubuntu-latest 36 | needs: create-release 37 | steps: 38 | - name: Check out repository code 39 | uses: actions/checkout@v4 40 | - name: Create zip file 41 | run: | 42 | cd contrib 43 | zip -r validate-odm-script validate-odm -x "validate-odm/images/*" 44 | cd - 45 | - name: Upload Asset 46 | id: upload-release-asset 47 | uses: actions/upload-release-asset@v1 48 | env: 49 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 50 | with: 51 | upload_url: ${{ needs.create-release.outputs.upload_url }} 52 | asset_path: contrib/validate-odm-script.zip 53 | asset_name: validate-odm-script.zip 54 | asset_content_type: application/zip 55 | -------------------------------------------------------------------------------- /.github/workflows/detect-secrets.yml: -------------------------------------------------------------------------------- 1 | name: detect secrets 2 | 3 | on: push 4 | 5 | # A workflow run is made up of one or more jobs that can run sequentially or in parallel 6 | jobs: 7 | # This workflow contains a single job called "detect-secrets" 8 | detect-secrets: 9 | runs-on: ubuntu-latest 10 | 11 | # Steps represent a sequence of tasks that will be executed as part of the job 12 | steps: 13 | 14 | # Checks-out your repository under ${{github.workspace}}, so your job can access it 15 | - uses: actions/checkout@v4 16 | 17 | - name: scan all the files (not just the ones committed), generate a report, and check that there are no actual or potential secret 18 | run: | 19 | docker run --pull=always -a stdout \ 20 | -v ${{github.workspace}}:/code \ 21 | --entrypoint /bin/sh \ 22 | icr.io/git-defenders/detect-secrets:0.13.1.ibm.61.dss-redhat-ubi \ 23 | -c "detect-secrets --version; 24 | detect-secrets scan --all-files --exclude-files "^.git/.*" --update .secrets.baseline; 25 | detect-secrets audit --report --fail-on-unaudited --fail-on-live --fail-on-audited-real .secrets.baseline" 26 | - name: Report Status 27 | if: always() 28 | uses: ravsamhq/notify-slack-action@master 29 | with: 30 | status: ${{ job.status }} 31 | notify_when: 'failure' 32 | env: 33 | SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} 34 | -------------------------------------------------------------------------------- /.github/workflows/lint.yml: -------------------------------------------------------------------------------- 1 | 2 | ########################### 3 | ########################### 4 | ## Linter GitHub Actions ## 5 | ########################### 6 | ########################### 7 | name: Lint Code Base 8 | 9 | # 10 | # Documentation: 11 | # https://help.github.com/en/articles/workflow-syntax-for-github-actions 12 | # 13 | 14 | ############################# 15 | # Start the job on all push # 16 | ############################# 17 | on: 18 | push: 19 | branches-ignore: 20 | - 'master' 21 | 22 | ############### 23 | # Set the Job # 24 | ############### 25 | jobs: 26 | build: 27 | # Name the Job 28 | name: Lint Code Base 29 | # Set the agent to run on 30 | runs-on: ubuntu-latest 31 | 32 | ################## 33 | # Load all steps # 34 | ################## 35 | steps: 36 | ########################## 37 | # Checkout the code base # 38 | ########################## 39 | - name: Checkout Code 40 | uses: actions/checkout@v4 41 | 42 | ################################ 43 | # Run Linter against code base # 44 | ################################ 45 | - name: Lint Code Base 46 | uses: docker://github/super-linter:v2.1.1 47 | env: 48 | VALIDATE_ALL_CODEBASE: false 49 | VALIDATE_ANSIBLE: false 50 | -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- 1 | name: Create branch from release 2 | on: 3 | release: 4 | types: [published] 5 | 6 | jobs: 7 | create-branch: 8 | name: Create branch and update Download link in README 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Check out repository code 12 | uses: actions/checkout@v4 13 | - name: Get branch name to create 14 | run: | 15 | tag_name="${{ github.event.release.tag_name }}" 16 | echo "branch_name=${tag_name##*v}" >> $GITHUB_ENV 17 | - name: Create branch 18 | run: | 19 | git checkout -b ${{ env.branch_name }} 20 | - name: Udpate Download link in README 21 | run: | 22 | search="releases/latest/download" 23 | replace="releases/download/${{ github.event.release.tag_name }}" 24 | sed -i "s|${search}|${replace}|" contrib/validate-odm/README.md 25 | - name: Setup git config 26 | run: | 27 | git config user.name "GitHub Actions Bot" 28 | git config user.email "<>" 29 | - name: Commit 30 | run: | 31 | git add contrib/validate-odm/README.md 32 | git commit -m "Update Download link with tagged asset url for validate-odm script" 33 | git push origin refs/heads/${{ env.branch_name }} 34 | -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- 1 | name: Close inactive issues 2 | on: 3 | schedule: 4 | - cron: "35 1 * * *" 5 | 6 | jobs: 7 | close-issues: 8 | runs-on: ubuntu-latest 9 | permissions: 10 | issues: write 11 | pull-requests: write 12 | steps: 13 | - uses: actions/stale@v9 14 | with: 15 | operations-per-run: 300 16 | days-before-issue-stale: 30 17 | days-before-issue-close: 14 18 | stale-issue-label: "stale" 19 | stale-issue-message: "This issue is stale because it has been open for 30 days with no activity." 20 | close-issue-message: "This issue was closed because it has been inactive for 14 days since being marked as stale." 21 | days-before-pr-stale: -1 22 | days-before-pr-close: -1 23 | repo-token: ${{ secrets.GITHUB_TOKEN }} 24 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /.idea 3 | /wlp 4 | .jazzignore 5 | ds-ei-distrib-bundles.iml 6 | pom-local.xml 7 | docker-compose-ctc.yml 8 | odm-ondocker.zip 9 | welcomepage/target/ 10 | welcomepage/.idea/ 11 | welcomepage/odm-ondocker-welcomepage.iml 12 | /.project 13 | /.vscode 14 | -------------------------------------------------------------------------------- /.md_check_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "ignorePatterns": [ 3 | { 4 | "pattern": "^http://localhost" 5 | } 6 | ], 7 | "replacementPatterns": [ 8 | { 9 | "pattern": "^/LICENSE", 10 | "replacement": "{{BASEURL}}/LICENSE" 11 | } 12 | ], 13 | "timeout": "20s" 14 | } -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | repos: 2 | - repo: https://github.com/ibm/detect-secrets 3 | # If you desire to use a specific version of detect-secrets, you can replace with other git revisions such as branch, tag or commit sha. 4 | # You are encouraged to use static refs such as tags, instead of branch name 5 | # 6 | # Running "pre-commit autoupdate" automatically updates rev to latest tag 7 | rev: 0.13.1+ibm.62.dss 8 | hooks: 9 | - id: detect-secrets # pragma: whitelist secret 10 | # Add options for detect-secrets-hook binary. You can run `detect-secrets-hook --help` to list out all possible options. 11 | # You may also run `pre-commit run detect-secrets` to preview the scan result. 12 | # when "--baseline" without "--use-all-plugins", pre-commit scan with just plugins in baseline file 13 | # when "--baseline" with "--use-all-plugins", pre-commit scan with all available plugins 14 | # add "--fail-on-unaudited" to fail pre-commit for unaudited potential secrets 15 | args: [--baseline, .secrets.baseline] 16 | 17 | -------------------------------------------------------------------------------- /azuread/AzureADProvider.json: -------------------------------------------------------------------------------- 1 | { 2 | "providers": [ 3 | { 4 | "grantType": "password", 5 | "authorizationURL": "https://login.microsoftonline.com//oauth2/v2.0/authorize", 6 | "tokenURL": "https://login.microsoftonline.com//oauth2/v2.0/token", 7 | "logoutURL": "https://login.microsoftonline.com//oauth2/v2.0/logout", 8 | "clientId": "", 9 | "scope": "/.default", 10 | "name": "azure_ad" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /azuread/openIdParameters.properties: -------------------------------------------------------------------------------- 1 | OPENID_SERVER_URL=https://login.microsoftonline.com/ 2 | OPENID_PROVIDER=azure_ad 3 | OPENID_AUTHORIZATION_URL=https://login.microsoftonline.com//oauth2/v2.0/authorize 4 | OPENID_TOKEN_URL=https://login.microsoftonline.com//oauth2/v2.0/token 5 | OPENID_CLIENT_ID= 6 | OPENID_LOGOUT_URL=https://login.microsoftonline.com//oauth2/v2.0/logout 7 | OPENID_ALLOWED_DOMAINS=login.microsoftonline.com,login.w3.ibm.com 8 | -------------------------------------------------------------------------------- /azuread/openIdWebSecurity.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 15 | 16 | 17 | 25 | 26 | -------------------------------------------------------------------------------- /azuread/webSecurity.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | echo "start building odm-ondocker..." 4 | echo "current build directory:" 5 | pwd 6 | cd .. 7 | 8 | mkdir ${HOME}/.cache 9 | 10 | echo "ODM distribution: Starting download..." 11 | ODM_ZIP_URL=${ODM_URL}/${ODM_VERSION}/icp-docker-compose-build-images-${ODM_VERSION}.zip 12 | curl ${ODM_ZIP_URL} -u "${ARTIFACTORY_USER}:${ARTIFACTORY_PASSWORD}" -o ${HOME}/.cache/${ODM_FILE_NAME} 13 | echo "ODM distribution: download finished..." 14 | 15 | echo "unzip odm distribution..." 16 | unzip -q ${HOME}/.cache/${ODM_FILE_NAME} 17 | 18 | echo "copy odm-ondocker into ODM distribution..." 19 | cp -R odm-ondocker install 20 | 21 | cd install/odm-ondocker 22 | cp resources/.dockerignore ../ 23 | # Optimizing the build to download webprofile package. 24 | source .env 25 | echo "Using this properties from .env file." 26 | cat .env 27 | docker run --user 'root' -v $PWD/wlp:/opt/wlp $FROMLIBERTY /bin/sh -c "mkdir -p /opt/wlp ;\ 28 | installUtility download $PACKAGELIST --location=/opt/wlp" 29 | 30 | echo "build ODM standard docker images..." 31 | DOCKER_BUILDKIT=1 docker compose -f docker-compose.yml build 32 | 33 | echo "build ODM standalone docker image..." 34 | DOCKER_BUILDKIT=1 docker compose -f odm-standalone.yml build 35 | 36 | # echo "build ODM standalone tomcat8 docker image..." 37 | # docker-compose -f odm-standalone-tomcat.yml build 38 | 39 | echo "build ODM cluster docker images..." 40 | DOCKER_BUILDKIT=1 docker compose -f odm-cluster.yml build 41 | -------------------------------------------------------------------------------- /common/DO_NOT_REMOVE_DRIVERS_FOLDER.txt: -------------------------------------------------------------------------------- 1 | The `drivers` folder is used to add additional drivers. These drivers will be copied to the `/config/resources` folder of the ODM Docker images at build time. -------------------------------------------------------------------------------- /common/config/auth/group-security-configurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /common/config/auth/webSecurity.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /common/config/authOidc/openIdParametersTemplate.properties: -------------------------------------------------------------------------------- 1 | OPENID_SERVER_URL=__OPENID_SERVER_URL__ 2 | OPENID_PROVIDER=__OPENID_PROVIDER__ 3 | OPENID_GRANT_TYPE=__OPENID_GRANT_TYPE__ 4 | OPENID_AUTHORIZATION_URL=__OPENID_SERVER_URL__/oidc/endpoint/__OPENID_PROVIDER__/authorize 5 | OPENID_TOKEN_URL=__OPENID_SERVER_URL__/oidc/endpoint/__OPENID_PROVIDER__/token 6 | OPENID_INTROSPECTION_URL=__OPENID_SERVER_URL__/oidc/endpoint/__OPENID_PROVIDER__/introspect 7 | OPENID_CLIENT_ID=__OPENID_CLIENT_ID__ 8 | OPENID_CLIENT_SECRET=__OPENID_CLIENT_SECRET__ 9 | OPENID_TOKEN_FORMAT=__OPENID_TOKEN_FORMAT__ 10 | OPENID_LOGOUT_URL=__OPENID_SERVER_URL__/oidc/endpoint/__OPENID_PROVIDER__/logout 11 | OPENID_LOGOUT_TOKEN_PARAM=__OPENID_LOGOUT_TOKEN_PARAM__ 12 | OPENID_ALLOWED_DOMAINS=__OPENID_ALLOWED_DOMAINS__ 13 | -------------------------------------------------------------------------------- /common/config/authOidc/openIdWebSecurityTemplate.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 15 | 16 | 17 | 25 | 26 | -------------------------------------------------------------------------------- /common/config/authOidc/resAdministrators.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /common/config/authOidc/resDeployers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /common/config/authOidc/resExecutors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /common/config/authOidc/resMonitors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /common/config/authOidc/rtsAdministrators.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /common/config/authOidc/rtsConfigManagers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /common/config/authOidc/rtsInstallers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /common/config/authOidc/rtsUsers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /common/config/jvm/enablefips-java-pkcs12.security: -------------------------------------------------------------------------------- 1 | RestrictedSecurity1.jce.provider.5 = SunJCE [{AlgorithmParameters, PBEWithSHA1AndDESede, *}, \ 2 | {AlgorithmParameters, PBEWithMD5AndDES, *}, \ 3 | {SecretKeyFactory, PBEWithMD5AndDES, *}, \ 4 | {Cipher, PBEWithSHA1AndDESede, *}, \ 5 | {Mac, HmacPBESHA1, *}] -------------------------------------------------------------------------------- /common/config/jvm/enablefips-jvm.options: -------------------------------------------------------------------------------- 1 | -Duser.timezone=Europe/Paris 2 | -Dcom.ibm.jsse2.overrideDefaultTLS=true 3 | -Dcom.ibm.jsse2.usefipsprovider=true 4 | -Dcom.ibm.jsse2.sp800-131=transition 5 | -Dcom.ibm.jsse2.usefipsProviderName=IBMJCEFIPS 6 | -Dsecurity.overridePropertiesFile=true 7 | -Djava.security.properties==file://localhost/opt/ibm/wlp/usr/servers/defaultServer/jvm/enablefips-java.security 8 | -------------------------------------------------------------------------------- /common/config/jvm/jvm.options: -------------------------------------------------------------------------------- 1 | -Duser.timezone=Europe/Paris 2 | -Dcom.ibm.jsse2.overrideDefaultTLS=true 3 | -------------------------------------------------------------------------------- /common/config/jvm/pkcs11cfg.cfg: -------------------------------------------------------------------------------- 1 | name = NSS-FIPS 2 | library = /usr/lib64/libsoftokn3.so 3 | slot = 3 4 | showInfo=true -------------------------------------------------------------------------------- /common/config/metering-template.properties: -------------------------------------------------------------------------------- 1 | ### Metering properties ### 2 | com.ibm.rules.metering.server.url=METERING_SERVER_URL 3 | # API key to identify the user in IBM Connect to Cloud service 4 | # Mandatory 5 | com.ibm.rules.metering.api.key=None 6 | # Identifier to use to identifier the Decision Center instance 7 | # Optional: If not specified, the value is automatically computed 8 | com.ibm.rules.metering.instance.identifier=METERING_INSTANCE_ID 9 | # Period of time to wait between two usage reports to send to IBM Connect to Cloud service (en milliseconds) 10 | # Optional: If not specified, the value is 15 minutes 11 | com.ibm.rules.metering.send.period=METERING_SEND_PERIOD 12 | # If true, send usages to the IBM Connect to Cloud service 13 | com.ibm.rules.metering.send.usages=true 14 | # If true, log usages on the filesystem 15 | com.ibm.rules.metering.log.usages=true 16 | ### End of metering properties ### 17 | -------------------------------------------------------------------------------- /common/config/tlsSecurity.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /common/config/tlsSecurityFIPS.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /common/config/welcomepage_application.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /common/drivers/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore everything in this directory 2 | * 3 | # Except this file 4 | !.gitignore -------------------------------------------------------------------------------- /common/features/disableDiagnosticWarning.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ ! "$SCRIPT" ] 4 | then 5 | echo "ERROR: the environment variable SCRIPT needs to be defined." 6 | return 0 7 | fi 8 | 9 | if [ ! "$APPS" ] 10 | then 11 | echo "ERROR: the environment variable APPS needs to be defined." 12 | return 0 13 | fi 14 | echo "running disableDiagnosticWarning.sh" 15 | 16 | if [ -d "$APPS/res.war" ]; then 17 | resDir=$APPS/res.war 18 | $SCRIPT/changeParamValue.sh onDocker false true $resDir/WEB-INF/web.xml 19 | fi 20 | -------------------------------------------------------------------------------- /common/features/extractODMVersion.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ ! "$APPS" ] 4 | then 5 | echo "ERROR: the environment variable APPS needs to be defined." 6 | return 0 7 | fi 8 | 9 | engineJarFile=$(ls $APPS/*/WEB-INF/lib/*engine*.jar | sed -n 1p) 10 | odmVersion=$(java -cp $engineJarFile ilog.rules.tools.IlrVersion | sed -ne "s/Decision Server \(.*\)/\1/p") 11 | echo $odmVersion 12 | -------------------------------------------------------------------------------- /common/features/features.properties: -------------------------------------------------------------------------------- 1 | 8.11.0.0=overrideDbSample811 2 | 8.11.1.0=overrideDbSample8111 3 | 8.12.0.0=overrideDbSample812 4 | 9.0.0.0=overrideDbSample900 5 | -------------------------------------------------------------------------------- /common/features/overrideDbSample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ ! "$SCRIPT" ] 4 | then 5 | echo "ERROR: the environment variable SCRIPT needs to be defined." 6 | return 0 7 | fi 8 | 9 | if [ ! "$APPS" ] 10 | then 11 | echo "ERROR: the environment variable APPS needs to be defined." 12 | return 0 13 | fi 14 | 15 | echo "running overrideDbSample.sh" 16 | export DBVERSIONTOCOPY=9.0 17 | if [ -d "/db90" ] 18 | then 19 | rm /upload/* 20 | cp /db90/* /upload/ 21 | fi 22 | -------------------------------------------------------------------------------- /common/features/overrideDbSample8103.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ ! "$SCRIPT" ] 4 | then 5 | echo "ERROR: the environment variable SCRIPT needs to be defined." 6 | return 0 7 | fi 8 | 9 | if [ ! "$APPS" ] 10 | then 11 | echo "ERROR: the environment variable APPS needs to be defined." 12 | return 0 13 | fi 14 | 15 | echo "running overrideDbSample8103.sh" 16 | export DBVERSIONTOCOPY=8.10.3 17 | if [ -d "/db8103" ] 18 | then 19 | rm /upload/* 20 | cp /db8103/* /upload/ 21 | fi 22 | -------------------------------------------------------------------------------- /common/features/overrideDbSample8105.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ ! "$SCRIPT" ]; then 4 | echo "ERROR: the environment variable SCRIPT needs to be defined." 5 | return 0 6 | fi 7 | 8 | if [ ! "$APPS" ]; then 9 | echo "ERROR: the environment variable APPS needs to be defined." 10 | return 0 11 | fi 12 | 13 | echo "running overrideDbSample8105.sh" 14 | export DBVERSIONTOCOPY=8.10.5 15 | if [ -d "/db8105" ]; then 16 | rm /upload/* 17 | cp /db8105/* /upload/ 18 | fi 19 | -------------------------------------------------------------------------------- /common/features/overrideDbSample811.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ ! "$SCRIPT" ]; then 4 | echo "ERROR: the environment variable SCRIPT needs to be defined." 5 | return 0 6 | fi 7 | 8 | if [ ! "$APPS" ]; then 9 | echo "ERROR: the environment variable APPS needs to be defined." 10 | return 0 11 | fi 12 | 13 | echo "running overrideDbSample811.sh" 14 | export DBVERSIONTOCOPY=8.11 15 | if [ -d "/db811" ]; then 16 | rm /upload/* 17 | cp /db811/* /upload/ 18 | fi 19 | -------------------------------------------------------------------------------- /common/features/overrideDbSample8111.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ ! "$SCRIPT" ]; then 4 | echo "ERROR: the environment variable SCRIPT needs to be defined." 5 | return 0 6 | fi 7 | 8 | if [ ! "$APPS" ]; then 9 | echo "ERROR: the environment variable APPS needs to be defined." 10 | return 0 11 | fi 12 | 13 | echo "running overrideDbSample8111.sh" 14 | export DBVERSIONTOCOPY=8.11.1 15 | if [ -d "/db8111" ]; then 16 | rm /upload/* 17 | cp /db8111/* /upload/ 18 | fi 19 | -------------------------------------------------------------------------------- /common/features/overrideDbSample812.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ ! "$SCRIPT" ]; then 4 | echo "ERROR: the environment variable SCRIPT needs to be defined." 5 | return 0 6 | fi 7 | 8 | if [ ! "$APPS" ]; then 9 | echo "ERROR: the environment variable APPS needs to be defined." 10 | return 0 11 | fi 12 | 13 | echo "running overrideDbSample812.sh" 14 | export DBVERSIONTOCOPY=8.12 15 | if [ -d "/db812" ]; then 16 | rm /upload/* 17 | cp /db812/* /upload/ 18 | fi 19 | -------------------------------------------------------------------------------- /common/features/overrideDbSample900.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ ! "$SCRIPT" ]; then 4 | echo "ERROR: the environment variable SCRIPT needs to be defined." 5 | return 0 6 | fi 7 | 8 | if [ ! "$APPS" ]; then 9 | echo "ERROR: the environment variable APPS needs to be defined." 10 | return 0 11 | fi 12 | 13 | echo "running overrideDbSample900.sh" 14 | export DBVERSIONTOCOPY=9.0 15 | if [ -d "/db90" ]; then 16 | rm /upload/* 17 | cp /db90/* /upload/ 18 | fi 19 | -------------------------------------------------------------------------------- /common/features/packageJaxbRuntime.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Since Liberty 18.0.O.2 RES console require to package jaxb implementaton. 3 | echo "Running packageJaxbRuntime.sh " 4 | 5 | # Process only for clustered topology 6 | 7 | # Process RES Console if needed 8 | if [ -d "$APPS/res.war" ] && [ -d "$APPS/DecisionService.war" ]; then 9 | JAXBPATTERN="$APPS/res.war/WEB-INF/lib/jaxb*.jar" 10 | if ! ls $JAXBPATTERN 1> /dev/null 2>&1; then 11 | cp $APPS/DecisionService.war/WEB-INF/lib/jaxb*.jar $APPS/res.war/WEB-INF/lib 12 | fi 13 | fi 14 | 15 | # Process Decision Runner if needed 16 | if [ -d "$APPS/DecisionRunner.war" ]; then 17 | JAXBPATTERN="$APPS/DecisionRunner.war/WEB-INF/lib/jaxb*.jar" 18 | if ! ls $JAXBPATTERN 1> /dev/null 2>&1; then 19 | cp $THIRDPARTY/jaxb*.jar $APPS/DecisionRunner.war/WEB-INF/lib 20 | fi 21 | fi 22 | 23 | # Process Decision Center if needed 24 | if [ -d "$APPS/decisioncenter.war" ]; then 25 | JAXBPATTERN="$APPS/decisioncenter.war/WEB-INF/lib/jaxb*.jar" 26 | if ! ls $JAXBPATTERN 1> /dev/null 2>&1; then 27 | cp $THIRDPARTY/jaxb*.jar $APPS/decisioncenter.war/WEB-INF/lib 28 | cp $THIRDPARTY/jaxb*.jar $APPS/teamserver.war/WEB-INF/lib 29 | cp $THIRDPARTY/jaxb*.jar $APPS/decisioncenter-api.war/WEB-INF/lib 30 | fi 31 | fi 32 | -------------------------------------------------------------------------------- /common/resources/.nodelete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/common/resources/.nodelete -------------------------------------------------------------------------------- /common/script/changeParamValue.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | paramName=$1 4 | oldValue=$2 5 | newValue=$3 6 | file=$4 7 | 8 | echo "Change the value of parameter $paramName from $oldValue to $newValue in $file" 9 | 10 | # . matches any value 11 | if [ $oldValue = "." ] 12 | then 13 | oldValue=".*?" 14 | fi 15 | 16 | sed -i '/'$paramName'<\/param-name>/{n;s/'$oldValue'/'$newValue'/;}' $file 17 | -------------------------------------------------------------------------------- /common/script/checkLicense.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ "$LICENSE" = "accept" ]; then 4 | exit 0 5 | elif [ "$LICENSE" = "view" ]; then 6 | licenseFileBaseName="licenses/Lic" 7 | licenseFile="" 8 | 9 | case "$LANG" in 10 | zh_TW*) licenseFile="${licenseFileBaseName}_zh_TW.txt" ;; 11 | zh*) licenseFile="${licenseFileBaseName}_zh.txt" ;; 12 | cs*) licenseFile="${licenseFileBaseName}_cs.txt" ;; 13 | en*) licenseFile="${licenseFileBaseName}_en.txt" ;; 14 | fr*) licenseFile="${licenseFileBaseName}_fr.txt" ;; 15 | de*) licenseFile="${licenseFileBaseName}_de.txt" ;; 16 | el*) licenseFile="${licenseFileBaseName}_el.txt" ;; 17 | in*) licenseFile="${licenseFileBaseName}_in.txt" ;; 18 | it*) licenseFile="${licenseFileBaseName}_it.txt" ;; 19 | ja*) licenseFile="${licenseFileBaseName}_ja.txt" ;; 20 | ko*) licenseFile="${licenseFileBaseName}_ko.txt" ;; 21 | lt*) licenseFile="${licenseFileBaseName}_lt.txt" ;; 22 | pl*) licenseFile="${licenseFileBaseName}_pl.txt" ;; 23 | pt*) licenseFile="${licenseFileBaseName}_pt.txt" ;; 24 | ru*) licenseFile="${licenseFileBaseName}_ru.txt" ;; 25 | sl*) licenseFile="${licenseFileBaseName}_sl.txt" ;; 26 | es*) licenseFile="${licenseFileBaseName}_es.txt" ;; 27 | tr*) licenseFile="${licenseFileBaseName}_tr.txt" ;; 28 | *) licenseFile="${licenseFileBaseName}_en.txt" ;; 29 | esac 30 | 31 | cat $APPS/$licenseFile 32 | 33 | echo -e "Set environment variable LICENSE=accept to indicate acceptance of license terms and conditions. Ex: docker run -e LICENSE=accept ..." 34 | exit 1 35 | else 36 | echo -e "Set environment variable LICENSE=accept to indicate acceptance of license terms and conditions.Ex: docker run -e LICENSE=accept...\n\nLicense agreements and information can be viewed by running this image with the environment variable LICENSE=view. You can also set the LANG environment variable to view the license in a different language.Ex: docker run -e LICENSE=view .." 37 | exit 1 38 | fi 39 | -------------------------------------------------------------------------------- /common/script/configureMetering.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -s "/config/pluginconfig/plugin-configuration.properties" ] 4 | then 5 | echo "Configure metering using /config/pluginconfig/plugin-configuration.properties provided config" 6 | elif [ -n "$METERING_SERVER_URL" ] 7 | then 8 | echo "Configure metering using /config/metering-template.properties template" 9 | echo "Set METERING_SERVER_URL with $METERING_SERVER_URL" 10 | sed -i 's|METERING_SERVER_URL|'$METERING_SERVER_URL'|g' /config/metering-template.properties 11 | if [ -n "$RELEASE_NAME" ] 12 | then 13 | echo "Set METERING_INSTANCE_ID with $RELEASE_NAME" 14 | sed -i 's|METERING_INSTANCE_ID|'$RELEASE_NAME'|g' /config/metering-template.properties 15 | else 16 | echo "Set METERING_INSTANCE_ID with $HOSTNAME" 17 | sed -i 's|METERING_INSTANCE_ID|'$HOSTNAME'|g' /config/metering-template.properties 18 | fi 19 | 20 | if [ -n "$METERING_SEND_PERIOD" ] 21 | then 22 | echo "Set METERING_SEND_PERIOD with $METERING_SEND_PERIOD milliseconds" 23 | sed -i 's|METERING_SEND_PERIOD|'$METERING_SEND_PERIOD'|g' /config/metering-template.properties 24 | else 25 | echo "Set METERING_SEND_PERIOD with 900000 milliseconds" 26 | sed -i 's|METERING_SEND_PERIOD|900000|g' /config/metering-template.properties 27 | fi 28 | 29 | mkdir /config/pluginconfig 30 | cp /config/metering-template.properties /config/pluginconfig/plugin-configuration.properties 31 | fi 32 | -------------------------------------------------------------------------------- /common/script/configureSwidTag.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | function removeSwidTag () { 4 | local swidtagToRemove=$1 5 | if [ -f $swidtagToRemove ]; then 6 | echo "remove $swidtagToRemove" 7 | rm $swidtagToRemove 8 | fi 9 | } 10 | 11 | function removeAllSwidTag () { 12 | local swidtagToRemove=$1 13 | removeSwidTag /config/apps/decisioncenter.war/META-INF/swidtag/$swidtagToRemove 14 | removeSwidTag /config/apps/decisionmodel.war/META-INF/swidtag/$swidtagToRemove 15 | removeSwidTag /config/apps/decisioncenter-api.war/META-INF/swidtag/$swidtagToRemove 16 | removeSwidTag /config/apps/teamserver.war/META-INF/swidtag/$swidtagToRemove 17 | 18 | removeSwidTag /config/apps/DecisionRunner.war/META-INF/swidtag/$swidtagToRemove 19 | removeSwidTag /config/apps/DecisionService.war/META-INF/swidtag/$swidtagToRemove 20 | removeSwidTag /config/apps/res.war/META-INF/swidtag/$swidtagToRemove 21 | } 22 | 23 | if [ -n "$KubeVersion" ] 24 | then 25 | if [[ $KubeVersion =~ "icp" ]] || [[ $KubeVersion =~ "ODM on K8s" ]] 26 | then 27 | if [ -n "$DEPLOY_FOR_PRODUCTION" ] 28 | then 29 | if [[ "$DEPLOY_FOR_PRODUCTION" =~ "TRUE" ]] 30 | then 31 | echo "DEPLOY_FOR_PRODUCTION is true then ODM production configuration : remove ODM non production Swidtag" 32 | removeAllSwidTag ibm.com_IBM_ODM_Server_for_Non-Production-*.swidtag 33 | else 34 | echo "DEPLOY_FOR_PRODUCTION is false then ODM non production configuration : remove ODM production Swidtag" 35 | removeAllSwidTag ibm.com_IBM_ODM_Server-*.swidtag 36 | fi 37 | else 38 | echo "DEPLOY_FOR_PRODUCTION not set then ODM production configuration : remove ODM non production Swidtag" 39 | removeAllSwidTag ibm.com_IBM_ODM_Server_for_Non-Production-*.swidtag 40 | fi 41 | else 42 | echo "DBAMC configuration : remove all ODM Swidtag" 43 | removeAllSwidTag ibm.com_IBM_ODM_Server*.swidtag 44 | removeAllSwidTag ibm.com_IBM_ODM_Server_for_Non-Production*.swidtag 45 | fi 46 | fi 47 | -------------------------------------------------------------------------------- /common/script/download.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -n "$DOWNLOAD_URL" ] 4 | then 5 | echo "Use DOWNLOAD_URL: $DOWNLOAD_URL" 6 | 7 | if [ ! -d /config/download ]; then 8 | mkdir /config/download 9 | fi 10 | 11 | cd /config/download 12 | 13 | # Download files from each urls 14 | IFS=',' 15 | read -a download_urls <<< "$DOWNLOAD_URL" 16 | for url in "${download_urls[@]}"; 17 | do 18 | curl -O -k -s -L $url 19 | done 20 | 21 | # Unzip download if necessary 22 | if [ -f /config/download/*.zip ]; then 23 | unzip -q *.zip 24 | rm *.zip 25 | fi 26 | 27 | # Untar download if necessary (.tgz, .tar, .tar.gz, .tar.bz2, .tar.xz are supported) 28 | if [ -f /config/download/*.tar* ]; then 29 | for arch in "/config/download"/*.tar* 30 | do 31 | tar -xaf $arch 32 | rm $arch 33 | done 34 | fi 35 | if [ -f /config/download/*.tgz* ]; then 36 | for arch in "/config/download"/*.tgz 37 | do 38 | tar -xaf $arch 39 | rm $arch 40 | done 41 | fi 42 | fi 43 | -------------------------------------------------------------------------------- /common/script/enableFips.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -n "$ENABLE_FIPS" ] 4 | then 5 | if [[ $ENABLE_FIPS =~ "true" ]] 6 | then 7 | echo "Enable FIPS" 8 | fi 9 | fi 10 | -------------------------------------------------------------------------------- /common/script/enableMetering.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -n "$COM_IBM_RULES_METERING_ENABLE" ] 4 | then 5 | echo "enable rules metering" 6 | cd /config/apps/DecisionService.war/WEB-INF/classes; 7 | sed -i 's/{pluginClass=HTDS}/{pluginClass=Metering,enable=true},{pluginClass=HTDS}/g' ra.xml 8 | 9 | $SCRIPT/configureMetering.sh 10 | fi 11 | -------------------------------------------------------------------------------- /common/script/extractApp.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ ! "$1" ] 4 | then 5 | echo "ERROR: Please specify the file name to extract." 6 | return 0 7 | fi 8 | 9 | if [ ! "$APPS" ] 10 | then 11 | echo "ERROR: the environment variable APPS needs to be defined." 12 | return 0 13 | fi 14 | 15 | appFile=$1 16 | 17 | if [ "$2" ] 18 | then 19 | targetDir=$2 20 | else 21 | targetDir=$appFile 22 | fi 23 | 24 | echo "Extracting $appFile to $APPS/$targetDir..." 25 | 26 | cd $APPS 27 | mkdir extract 28 | unzip -q $appFile -d extract 29 | rm -rf $appFile 30 | mv extract $targetDir 31 | -------------------------------------------------------------------------------- /common/script/findOAuthServerUtilClass.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ ! "$APPS" ] 4 | then 5 | echo "ERROR: the environment variable APPS needs to be defined." 6 | return 0 7 | fi 8 | 9 | classOAuthServerUtilFind=$(grep com.ibm.rules.decisioncenter.model.oauth.OAuthServerUtil $APPS/**/WEB-INF/lib/*teamserver-model*.jar) 10 | echo ${classOAuthServerUtilFind##* } 11 | -------------------------------------------------------------------------------- /common/script/findServerExtClass.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ ! "$APPS" ] 4 | then 5 | echo "ERROR: the environment variable APPS needs to be defined." 6 | return 0 7 | fi 8 | 9 | classServerExtFind=$(grep com.ibm.rules.decisioncenter.model.ServerExt $APPS/**/WEB-INF/lib/*teamserver-model*.jar) 10 | echo ${classServerExtFind##* } 11 | -------------------------------------------------------------------------------- /common/script/fixWLPForProduction.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # This script allow to use setup a liberty ready for production liberty profile 3 | 4 | 5 | WLPPATTERN="/wlp-embeddable/wlp-*.zip" 6 | if ls $WLPPATTERN 1> /dev/null 2>&1; 7 | then 8 | printf "Setup the liberty for production" 9 | mkdir -p /wlp-embeddable/work 10 | mkdir -p /wlp-embeddable/wlp 11 | cd /wlp-embeddable/work/ 12 | unzip -q $WLPPATTERN 13 | cp -R /wlp-embeddable/work/wlp/bin /wlp-embeddable/wlp/ 14 | cp -R /wlp-embeddable/work/wlp/lib /wlp-embeddable/wlp/ 15 | cp -R /wlp-embeddable/work/wlp/dev /wlp-embeddable/wlp/ 16 | else 17 | mkdir /wlp-embeddable/wlp 18 | fi 19 | -------------------------------------------------------------------------------- /common/script/generateVersionFile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | VERSIONFILE="/opt/ibm/version.txt" 3 | echo "IBM Operational Decision Manager (CloudPak) : "$CP4BAVERSION > $VERSIONFILE 4 | echo "IBM Operational Decision Manager (ODM on Certified Kubernetes) : "$ODMVERSION >> $VERSIONFILE 5 | LIBERTY_VERSION=$(/opt/ibm/wlp/bin/server version) 6 | echo "Liberty : "${LIBERTY_VERSION} >> $VERSIONFILE 7 | JAVA_VERSION=$(java --version | head -2 | tail -1) 8 | echo "Java : "${JAVA_VERSION} >> $VERSIONFILE 9 | echo "Date : " $(date) >> $VERSIONFILE 10 | echo "Arch : " $(uname -m) >> $VERSIONFILE -------------------------------------------------------------------------------- /common/script/initVariables.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ ! "$HTTP_PORT" ] 4 | then 5 | echo "HTTP_PORT unset : set $1" 6 | export HTTP_PORT=$1 7 | fi 8 | 9 | if [ ! "$HTTPS_PORT" ] 10 | then 11 | echo "HTTPS_PORT unset : set $2" 12 | export HTTPS_PORT=$2 13 | fi 14 | 15 | echo "HTTPS_PORT : $HTTPS_PORT" 16 | echo "HTTP_PORT : $HTTP_PORT" 17 | 18 | if [ ! "$ODM_CONTEXT_ROOT" ] 19 | then 20 | echo "ODM_CONTEXT_ROOT unset : set blank" 21 | export ODM_CONTEXT_ROOT="" 22 | fi 23 | 24 | if [ ! "$ENABLED_CIPHERS" ] 25 | then 26 | echo "ENABLED_CIPHERS unset : set TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS_RSA_WITH_AES_256_GCM_SHA384 TLS_RSA_WITH_AES_128_GCM_SHA256 TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256" 27 | export ENABLED_CIPHERS="TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS_RSA_WITH_AES_256_GCM_SHA384 TLS_RSA_WITH_AES_128_GCM_SHA256 TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256" 28 | fi 29 | 30 | if [ -s "$SCRIPT/init/container.env" ] 31 | then 32 | set -o allexport 33 | source $SCRIPT/init/container.env 34 | set +o allexport 35 | fi 36 | -------------------------------------------------------------------------------- /common/script/installDerby.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Install the driver for Derby 4 | echo "Install the driver for Derby" 5 | cd /tmp 6 | curl -O -s http://central.maven.org/maven2/org/apache/derby/derbyclient/10.12.1.1/derbyclient-10.12.1.1.jar 7 | mv derby* /config/resources 8 | -------------------------------------------------------------------------------- /common/script/installFeatures.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Install the driver for Derby 4 | echo "Install the feature list for ODM on Liberty" 5 | ROOTFEATUREDIR=/opt/wlppackage 6 | 7 | if [ ! -d $ROOTFEATUREDIR/features ]; then 8 | mkdir -p $ROOTFEATUREDIR 9 | echo "Downloading features list : $PACKAGELIST" 10 | installUtility download $PACKAGELIST --location=$ROOTFEATUREDIR; 11 | fi 12 | installUtility install $PACKAGELIST --from=$ROOTFEATUREDIR 13 | -------------------------------------------------------------------------------- /common/script/installMySQL.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Install the driver for MySQL 4 | echo "Install the driver for MySQL" 5 | cd /tmp 6 | curl -O -k -s https://repo1.maven.org/maven2/com/mysql/mysql-connector-j/9.1.0/mysql-connector-j-9.1.0.jar 7 | mv mysql* /config/resources 8 | -------------------------------------------------------------------------------- /common/script/installPostgres.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Install the driver for PostgreSQL 6 | echo "Install the driver for postgreSQL" 7 | cd /tmp 8 | curl --fail --insecure --remote-name --remote-time --silent https://jdbc.postgresql.org/download/postgresql-42.7.4.jar 9 | mv postgres* /config/resources 10 | 11 | set +e 12 | -------------------------------------------------------------------------------- /common/script/manageLicense.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | rm -rf /licenses/.gitignore || true 4 | -------------------------------------------------------------------------------- /common/script/rsyslog-start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export ZENAUDITURL="zen-audit-svc.$(echo $NAMESPACE).svc.cluster.local" 4 | rsyslogd -dn -i /tmp/rsyslog.pid 5 | -------------------------------------------------------------------------------- /common/script/runLifecycleHookStart.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | if [ -f "/config/lifecycleHook/start.sh" ]; 3 | then 4 | echo "Running PreStart Hook" 5 | /config/lifecycleHook/start.sh 6 | fi 7 | 8 | -------------------------------------------------------------------------------- /common/script/runLifecycleHookStop.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -f "/config/lifecycleHook/stop.sh" ]; 4 | then 5 | echo "Running PreStop Hook" 6 | /config/lifecycleHook/stop.sh 7 | fi 8 | 9 | -------------------------------------------------------------------------------- /common/script/setTimeZone.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -n "$TZ" ] 4 | then 5 | echo "Use TimeZone set to $TZ" 6 | sed -i 's|Europe/Paris|'$TZ'|g' /config/configDropins/overrides/jvm.options 7 | fi 8 | -------------------------------------------------------------------------------- /common/script/sidecar-liveness-probe.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -f "/tmp/sidecarconf/sidecar-liveness-probe.sh" ]; 4 | then 5 | /tmp/sidecarconf/sidecar-liveness-probe.sh 6 | else 7 | exit 0; 8 | fi 9 | -------------------------------------------------------------------------------- /common/script/sidecar-readiness-probe.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -f "/tmp/sidecarconf/sidecar-readiness-probe.sh" ]; 4 | then 5 | /tmp/sidecarconf/sidecar-readiness-probe.sh 6 | else 7 | exit 0; 8 | fi 9 | -------------------------------------------------------------------------------- /common/script/sidecar-startup-probe.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -f "/tmp/sidecarconf/sidecar-startup-probe.sh" ]; 4 | then 5 | /tmp/sidecarconf/sidecar-startup-probe.sh 6 | else 7 | exit 0; 8 | fi 9 | -------------------------------------------------------------------------------- /common/security/keystore.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/common/security/keystore.jks -------------------------------------------------------------------------------- /common/security/ltpa.keys: -------------------------------------------------------------------------------- 1 | #Fri Aug 18 16:34:44 CEST 2017 2 | com.ibm.websphere.CreationDate=Fri Aug 18 16\:34\:44 CEST 2017 3 | com.ibm.websphere.ltpa.version=1.0 4 | com.ibm.websphere.ltpa.3DESKey=GBnAYLem0lKBrhYQWJpx3wADu2OsMb5c3/cGjIn+mR4\= 5 | com.ibm.websphere.CreationHost=localhost 6 | com.ibm.websphere.ltpa.PrivateKey=roQcr4hL02teYu/t4VD7yJ9n1AAgyj6WSzY9RuIJN6tvEg5zGFSQ3i+IfofCiNIPXkTepJKtaHA0V1gSgq3XKYqZUNq50/+oFdOc4o7XswxvoD8XLKbrCaUaN29IB8nq/DnMvH5BYxc+Ifw4ZR2X4kMBy5ppBApkJtVSnnKOMdb7JxEnpZc2sr3lj5HqmMcP0eGRbMCbFgScqRGYMht8uiizX0MiVXHHE+HEMatc5m3mmgYNzSsaqx07F2VhZEpc4QcG6rvXSem9VRhm/iba9qSOQXzQM+uLD0WuJkjTDJKTAw1KDudZcChtCDY++vbjGSNBkO+D1ZcIHnS5Xw8KZoE7AwLxaw9YfuwZym5+M2g\= 7 | com.ibm.websphere.ltpa.Realm=defaultRealm 8 | com.ibm.websphere.ltpa.PublicKey=AO/MSlEP0ZxyC3pFmXkzlSvqlRHB3xaEUD1Li988UkaeOQrtb2H7PAu4IvRGXjPc0lQ2cDQqNqf4emwo4qPQd8MbVQKKMmJBLXas4UPK0FL0u/SelLFUlP9qdy/dOI/y859y9AYHyFqZr3HFLVvfHMqeVGOURGeALuJBI1bkI3WDAQAB 9 | 10 | -------------------------------------------------------------------------------- /common/security/truststore.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/common/security/truststore.jks -------------------------------------------------------------------------------- /contrib/populate-sample-db/README.md: -------------------------------------------------------------------------------- 1 | Before running populate.sh, please make sure that: 2 | 3 | 1. DC is up and running on a new DB instance; default URL is http://localhost:9060 (if you ran the full ODM stack with docker-compose.) 4 | 5 | 2. The 'jq' utility is also required. (On macOS you can install it with 'brew install jq'; on Linux it is provided as a standard package.) 6 | 7 | After running the populate script, you should be able to stop all services but the database server (run this command in the same directory as the docker-compose.yml file you used): 8 | 9 | docker-compose rm -f -s odm-decisioncenter odm-decisionrunner odm-decisionserverconsole odm-decisionserverruntime 10 | 11 | and to export the DB contents; for instance, when running PostgreSQL: 12 | 13 | PGPASSWORD= pg_dump -C -Fc -h localhost -U odmusr odmdb > odmdb.dump 14 | -------------------------------------------------------------------------------- /contrib/update-images/.env: -------------------------------------------------------------------------------- 1 | # Liberty Version 2 | SOURCEREGISTRY=cp.icr.io/cp/cp4a/odm 3 | SOURCETAG=8.12.0.1-amd64 4 | TARGETREGISTRY=myrepo 5 | TARGETTAG=8.12.0.1-amd64 6 | -------------------------------------------------------------------------------- /contrib/update-images/DbserverDockerfile: -------------------------------------------------------------------------------- 1 | ARG SOURCEIMAGE 2 | FROM ${SOURCEIMAGE} 3 | ARG USERID 4 | USER 0 5 | RUN set -ex; \ 6 | dnf upgrade --assumeyes --disableplugin=subscription-manager --nodocs; \ 7 | dnf install --assumeyes nss nss-tools unzip procps-ng net-tools --disableplugin=subscription-manager --nodocs; \ 8 | dnf clean all --disableplugin=subscription-manager; \ 9 | rm -rf /var/cache/dnf; \ 10 | /usr/libexec/fix-permissions /var/lib/pgsql; \ 11 | /usr/libexec/fix-permissions /var/run/postgresql; \ 12 | set +ex 13 | USER 26 -------------------------------------------------------------------------------- /contrib/update-images/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG SOURCEIMAGE 2 | FROM ${SOURCEIMAGE} 3 | ARG USERID 4 | 5 | USER root 6 | 7 | RUN set -ex; \ 8 | dnf erase -y python3-subscription-manager-rhsm --disableplugin=subscription-manager; \ 9 | dnf -y upgrade --disableplugin=subscription-manager; \ 10 | dnf -y install nss nss-tools unzip procps-ng net-tools --disableplugin=subscription-manager; \ 11 | dnf clean all --disableplugin=subscription-manager; \ 12 | rm -rf /var/cache/dnf; 13 | 14 | USER $USERID -------------------------------------------------------------------------------- /contrib/update-images/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | services: 3 | 4 | dbserver: 5 | image: $TARGETREGISTRY/dbserver:$TARGETTAG 6 | build: 7 | context: ./ 8 | dockerfile: ./DbserverDockerfile 9 | args: 10 | - SOURCEIMAGE=$SOURCEREGISTRY/dbserver:$SOURCETAG 11 | - USERID=26 12 | 13 | odm-decisionserverconsole: 14 | image: $TARGETREGISTRY/odm-decisionserverconsole:$TARGETTAG 15 | build: 16 | context: ./ 17 | dockerfile: ./Dockerfile 18 | args: 19 | - SOURCEIMAGE=$SOURCEREGISTRY/odm-decisionserverconsole:$SOURCETAG 20 | - USERID=1001 21 | 22 | odm-decisionrunner: 23 | image: $TARGETREGISTRY/odm-decisionrunner:$TARGETTAG 24 | build: 25 | context: ./ 26 | dockerfile: ./Dockerfile 27 | args: 28 | - SOURCEIMAGE=$SOURCEREGISTRY/odm-decisionrunner:$SOURCETAG 29 | - USERID=1001 30 | 31 | odm-decisionserverruntime: 32 | image: $TARGETREGISTRY/odm-decisionserverruntime:$TARGETTAG 33 | build: 34 | context: ./ 35 | dockerfile: ./Dockerfile 36 | args: 37 | - SOURCEIMAGE=$SOURCEREGISTRY/odm-decisionserverruntime:$SOURCETAG 38 | - USERID=1001 39 | 40 | odm-decisioncenter: 41 | image: $TARGETREGISTRY/odm-decisioncenter:$TARGETTAG 42 | build: 43 | context: ./ 44 | dockerfile: ./Dockerfile 45 | args: 46 | - SOURCEIMAGE=$SOURCEREGISTRY/odm-decisioncenter:$SOURCETAG 47 | - USERID=1001 48 | -------------------------------------------------------------------------------- /contrib/validate-odm/.env.template: -------------------------------------------------------------------------------- 1 | ## ODM Components Endpoints 2 | DC_URL= 3 | RES_URL= 4 | DSR_URL= 5 | ## Basic Authentication 6 | ODM_CREDS=: 7 | ## OpenID Authentication 8 | # ODM_CREDS=: 9 | # OPENID_URL= 10 | -------------------------------------------------------------------------------- /contrib/validate-odm/images/script-logs.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/contrib/validate-odm/images/script-logs.gif -------------------------------------------------------------------------------- /contrib/validate-odm/images/script-logs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/contrib/validate-odm/images/script-logs.png -------------------------------------------------------------------------------- /contrib/validate-odm/test-ruleset/loan_validation_test.json: -------------------------------------------------------------------------------- 1 | { 2 | "loan": { 3 | "numberOfMonthlyPayments": 3, 4 | "startDate": "2006-08-19T19:27:14.000+0200", 5 | "amount": 3, 6 | "loanToValue": 10517320 7 | }, 8 | "__DecisionID__": "string", 9 | "borrower": { 10 | "firstName": "string", 11 | "lastName": "string", 12 | "birth": "2008-09-29T03:49:45.000+0200", 13 | "SSN": { 14 | "areaNumber": "string", 15 | "groupCode": "string", 16 | "serialNumber": "string" 17 | }, 18 | "yearlyIncome": 3, 19 | "zipCode": "string", 20 | "creditScore": 3, 21 | "spouse": { 22 | "birth": "2022-12-08T15:13:09.850+0100", 23 | "SSN": { 24 | "areaNumber": "", 25 | "groupCode": "", 26 | "serialNumber": "" 27 | }, 28 | "yearlyIncome": 0, 29 | "creditScore": 0, 30 | "latestBankruptcy": { 31 | "chapter": 0 32 | } 33 | }, 34 | "latestBankruptcy": { 35 | "date": "2014-09-19T01:18:33.000+0200", 36 | "chapter": 3, 37 | "reason": "string" 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /contrib/validate-odm/test-ruleset/loan_validation_test_response.json: -------------------------------------------------------------------------------- 1 | { 2 | "report": { 3 | "borrower": { 4 | "firstName": "string", 5 | "lastName": "string", 6 | "birth": "2008-09-29T01:49:45.000+0000", 7 | "SSN": { 8 | "areaNumber": "string", 9 | "groupCode": "string", 10 | "serialNumber": "string" 11 | }, 12 | "yearlyIncome": 3, 13 | "zipCode": "string", 14 | "creditScore": 3, 15 | "spouse": { 16 | "birth": "2022-12-08T14:13:09.850+0000", 17 | "SSN": { 18 | "areaNumber": "", 19 | "groupCode": "", 20 | "serialNumber": "" 21 | }, 22 | "yearlyIncome": 0, 23 | "creditScore": 0, 24 | "latestBankruptcy": { 25 | "chapter": 0 26 | } 27 | }, 28 | "latestBankruptcy": { 29 | "date": "2014-09-18T23:18:33.000+0000", 30 | "chapter": 3, 31 | "reason": "string" 32 | } 33 | }, 34 | "loan": { 35 | "numberOfMonthlyPayments": 3, 36 | "startDate": "2006-08-19T17:27:14.000+0000", 37 | "amount": 3, 38 | "loanToValue": 1.051732E7 39 | }, 40 | "validData": true, 41 | "insuranceRequired": true, 42 | "insuranceRate": 0.02, 43 | "approved": true, 44 | "messages": [], 45 | "yearlyInterestRate": 0.0, 46 | "monthlyRepayment": 0.0, 47 | "insurance": "2%", 48 | "message": "", 49 | "yearlyRepayment": 0.0 50 | }, 51 | "__DecisionID__": "string" 52 | } 53 | -------------------------------------------------------------------------------- /databases/derby/Dockerfile: -------------------------------------------------------------------------------- 1 | # Pull base image. 2 | FROM java:7 3 | ARG ODMDOCKERDIR 4 | ARG ODMDBVERSION 5 | LABEL maintainer="ODMDev odmdev_open_source_user@wwpdl.vnet.ibm.com, Laurent GRATEAU " 6 | MAINTAINER ODMDev odmdev_open_source_user@wwpdl.vnet.ibm.com, Laurent GRATEAU 7 | 8 | # Retrieve Recent zip file from H2 site 9 | ENV DERBY_INSTALL=/db-derby-10.12.1.1-bin 10 | ENV DERBY_HOME=/db-derby-10.12.1.1-bin 11 | ENV CLASSPATH=/$DERBY_INSTALL/lib/derby.jar:$DERBY_INSTALL/lib/derbytools.jar:. 12 | ENV DOWNLOAD=http://archive.apache.org/dist/db/derby/db-derby-10.12.1.1/db-derby-10.12.1.1-bin.tar.gz 13 | ENV DERBY_INSTALL=/opt/db-derby-10.12.1.1-bin 14 | ENV CLASSPATH=/$DERBY_INSTALL/lib/derby.jar:$DERBY_INSTALL/lib/derbytools.jar:. 15 | 16 | 17 | RUN \ 18 | apt-get update &&\ 19 | apt-get install -y wget supervisor &&\ 20 | wget -nv $DOWNLOAD &&\ 21 | tar xzf db-derby-10.12.1.1-bin.tar.gz &&\ 22 | rm -Rf /db-derby-10.12.1.1-bin.tar.gz &&\ 23 | mkdir -p /dbs &&\ 24 | mkdir -p /dbbackup &&\ 25 | mkdir -p /upload &&\ 26 | rm -rf /var/lib/apt/lists/* 27 | 28 | ADD $ODMDOCKERDIR/databases/derby/data-$ODMDBVERSION.tar.gz /upload/ 29 | COPY $ODMDOCKERDIR/databases/derby/script/rundb.sh /db-derby-10.12.1.1-bin/bin/ 30 | RUN \ 31 | rm -Rf /etc/supervisor/supervisord.conf &&\ 32 | chmod a+x /db-derby-10.12.1.1-bin/bin/rundb.sh &&\ 33 | touch /etc/supervisor.conf &&\ 34 | echo "[supervisord]" >> /etc/supervisor.conf &&\ 35 | echo "user=root" >> /etc/supervisor.conf &&\ 36 | echo "nodaemon=true" >> /etc/supervisor.conf &&\ 37 | echo "[rpcinterface:supervisor]" >> /etc/supervisor.conf &&\ 38 | echo "supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface" >> /etc/supervisor.conf &&\ 39 | echo "[unix_http_server]" >> /etc/supervisor.conf &&\ 40 | echo "file=/var/run/supervisor.sock" >> /etc/supervisor.conf &&\ 41 | echo "chmod=0700 " >> /etc/supervisor.conf &&\ 42 | echo "[supervisorctl]" >> /etc/supervisor.conf &&\ 43 | echo serverurl=unix:///var/run/supervisor.sock >> /etc/supervisor.conf &&\ 44 | echo "[program:derbydb]" >> /etc/supervisor.conf &&\ 45 | echo "command=/bin/bash -c \"cd /dbs && /db-derby-10.12.1.1-bin/bin/rundb.sh\"" >> /etc/supervisor.conf &&\ 46 | echo "stopwaitsecs=30" >> /etc/supervisor.conf &&\ 47 | echo "stopsignal=KILL" >> /etc/supervisor.conf &&\ 48 | echo "killasgroup=true" >> /etc/supervisor.conf 49 | VOLUME ["/dbs"] 50 | EXPOSE 1527 51 | CMD supervisord -c /etc/supervisor.conf 52 | -------------------------------------------------------------------------------- /databases/derby/data-8.10.0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/databases/derby/data-8.10.0.tar.gz -------------------------------------------------------------------------------- /databases/derby/data-8.10.3.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/databases/derby/data-8.10.3.tar.gz -------------------------------------------------------------------------------- /databases/derby/data-8.9.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/databases/derby/data-8.9.tar.gz -------------------------------------------------------------------------------- /databases/derby/script/rundb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | if [ ! -f initialized.flag ] ; then 6 | if [ "$SAMPLE" = "true" ] ; then 7 | cp -R /upload/* /dbs/ 8 | fi; 9 | touch initialized.flag 10 | fi; 11 | 12 | /db-derby-10.12.1.1-bin/bin/NetworkServerControl start -h 0.0.0.0 -p 1527 -------------------------------------------------------------------------------- /databases/mysql/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM mysql:5.7 -------------------------------------------------------------------------------- /databases/postgresql/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG FROMPOSTGRES 2 | ARG POSTGRESUID 3 | ARG FROMDOCKERBUILD 4 | 5 | FROM ${FROMDOCKERBUILD} AS builder 6 | ARG ODMDOCKERDIR 7 | ARG ODMDBVERSION 8 | ARG CP4BAVERSION 9 | ARG ODMVERSION 10 | ENV ODMDOCKERDIR $ODMDOCKERDIR 11 | ENV CP4BAVERSION $CP4BAVERSION 12 | ENV ODMVERSION $ODMVERSION 13 | RUN echo "Using this ID to build the Postgresql image : ${POSTGRESUID} ${FROMPOSTGRES}" 14 | 15 | COPY $ODMDOCKERDIR/databases/postgresql/script/ /usr/local/bin 16 | COPY $ODMDOCKERDIR/licenses /licenses 17 | # Manage License 18 | COPY $ODMDOCKERDIR/databases/postgresql/script/restore.sh /tmp 19 | COPY $ODMDOCKERDIR/common/script//generateVersionFile.sh /tmp 20 | RUN rm -rf /licenses/.gitignore || true 21 | RUN chmod 755 /usr/local/bin/*.sh /tmp/restore.sh /tmp/generateVersionFile.sh && mkdir /opt/ibm && /tmp/generateVersionFile.sh 22 | 23 | COPY $ODMDOCKERDIR/databases/postgresql/data-${ODMDBVERSION}.dump /upload/data.dump 24 | COPY $ODMDOCKERDIR/databases/postgresql/*.sql /upload/ 25 | FROM ${FROMPOSTGRES} 26 | 27 | LABEL maintainer="Rachel ORTI , ODMDev odmdev_open_source_user@wwpdl.vnet.ibm.com" 28 | MAINTAINER "Rachel ORTI , ODMDev odmdev_open_source_user@wwpdl.vnet.ibm.com" 29 | 30 | ARG ODMDOCKERDIR 31 | ARG ODMDBVERSION 32 | ARG ODMVERSION 33 | ARG POSTGRESUID 34 | LABEL name="DBServer" 35 | LABEL io.k8s.display-name="DBServer" 36 | LABEL description="The Database server stores decision service artifacts." 37 | 38 | 39 | LABEL summary="Database server to store decisions artifacts." 40 | LABEL io.k8s.description="Database server to store decisions artifacts." 41 | 42 | LABEL vendor="IBM" 43 | LABEL version=${ODMVERSION} 44 | LABEL product-version=${ODMVERSION} 45 | LABEL product-id="IBM Operational Decision Manager for production" 46 | LABEL io.openshift.tags="odm,dba,dbamc" 47 | 48 | 49 | COPY --from=builder --chown=999:999 /upload /upload 50 | COPY --from=builder --chown=999:999 /opt/ibm /opt/ibm 51 | 52 | COPY --from=builder --chown=999:999 /usr/local/bin/*db.sh /usr/local/bin/ 53 | COPY --from=builder --chown=999:999 /tmp/restore.sh /opt/app-root/src/postgresql-start/restore.sh 54 | COPY --from=builder --chown=999:999 /tmp/restore.sh /docker-entrypoint-initdb.d/restore.sh 55 | # License 56 | COPY --from=builder --chown=999:0 /licenses /licenses 57 | COPY --from=builder --chown=999:0 /licenses /licenses 58 | USER 999 59 | ENTRYPOINT ["/usr/local/bin/rundb.sh"] 60 | 61 | CMD ["postgres"] 62 | -------------------------------------------------------------------------------- /databases/postgresql/config/ssl/datasource-dc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 16 | 27 | 28 | 29 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /databases/postgresql/config/ssl/datasource-ds.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 11 | 22 | 23 | 24 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /databases/postgresql/config/ssl/odm.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDOTCCAiGgAwIBAgIEWl4BqDANBgkqhkiG9w0BAQsFADBZMQswCQYDVQQGEwJV 3 | UzELMAkGA1UECAwCTlkxDzANBgNVBAcMBkFybW9uazEMMAoGA1UECgwDSUJNMQww 4 | CgYDVQQLDANPRE0xEDAOBgNVBAMMB29kbXJvb3QwHhcNMTgwMTE2MTM0NDA4WhcN 5 | MjgwMTE2MTM0NDA4WjBkMQswCQYDVQQGEwJVUzELMAkGA1UECAwCTlkxDzANBgNV 6 | BAcMBkFybW9uazEMMAoGA1UECgwDSUJNMQwwCgYDVQQLDANPRE0xGzAZBgNVBAMM 7 | Eioub2RtaWNwc2VydmVyLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC 8 | ggEBALMJZ2dgAP6MTEH5aoooDVNid8468rUzyC2Tt3RGJ7gG/sP5n3NDlw5rp6Zv 9 | cohUALO+JakkbbdLaekFpF0Ua4uGijuW6oKP20pcNPTR5E0wQ6OyOuSvbenPo2Zr 10 | S1oZVmbqQUYHQVqxwbZRSP7fS5m6X8603MBvgrOX23qjh2SqoiRFHaeqb9yewzh0 11 | m4Xo/A9WD22CnRoa9Gl5AnsPkA1rNruUqVp1Mloraskjg3Yg/8PEgKw0pFR9FlBN 12 | gnrxrCM8pTTWqRnoyIcaV8LfszoLApdxywaqn0qndh1Nqk1lNKE12d5zhTY/k3ac 13 | NTZjps8nC/Xk6qyOBkXUIyjhb+MCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAiISX 14 | 9oA7lk5cRL50e532uLeaqSjnW0NpRPhdnLW2adnVlTiiCSXjx1dAg/fyZv21IPkE 15 | fQ/A3/GcgftA6/ByJT6ryQkROgwxyziHYasfFawyipzKH5yVTHbtnjeHO7PkMg2f 16 | kwWGfGYYRIlV6Y27Bq0H4PYnzNMoRE5wwggM2MZMsUqQhxMvROfmdCJqnUas85fP 17 | U5jWlaZKzrOOpCFniT6WhGDgyr1hik05u8h2HzCk9GeNfwwIBO3jozXEMuVyj+MA 18 | x5rqrZSQNTRe42ey4/7hPsvJPOjKpvEDKNApXd5c/PX6FsD6VBazLurlu0pCLfu7 19 | GL9rXItdg9+ia/fJJw== 20 | -----END CERTIFICATE----- 21 | -------------------------------------------------------------------------------- /databases/postgresql/config/ssl/odm.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCzCWdnYAD+jExB 3 | +WqKKA1TYnfOOvK1M8gtk7d0Rie4Bv7D+Z9zQ5cOa6emb3KIVACzviWpJG23S2np 4 | BaRdFGuLhoo7luqCj9tKXDT00eRNMEOjsjrkr23pz6Nma0taGVZm6kFGB0FascG2 5 | UUj+30uZul/OtNzAb4Kzl9t6o4dkqqIkRR2nqm/cnsM4dJuF6PwPVg9tgp0aGvRp 6 | eQJ7D5ANaza7lKladTJaK2rJI4N2IP/DxICsNKRUfRZQTYJ68awjPKU01qkZ6MiH 7 | GlfC37M6CwKXccsGqp9Kp3YdTapNZTShNdnec4U2P5N2nDU2Y6bPJwv15OqsjgZF 8 | 1CMo4W/jAgMBAAECggEABeBOI4d0IOar7hJom8Y6wbzen8cxhh7/9/b8M3XGAfVA 9 | 0V/VCuxx/cgsxXqs8KqJJ10bUVTfwP9Zp4tG3MM50GeHC/OlGMnt8Z/bIRnue1YV 10 | Mj88TZswaVcmTstAuuFQA6q2n7zHOVnSONCsK6lait4iHN+0yyAd0xUt3/WUEQq2 11 | dEGHvrd7Jw6OUuyqJufIsG5Oq437Zt//vwR/G9m35zL7c4hXX8KL1sQJOOHGQJQa 12 | n4+Bce3zdAXzPFc+6Eg/LJN2TCNMRJiZmgJPTSdJmmiFJyeee9XqYVBBT4qB3h9p 13 | L8ZqjooLiVECUDnewi9HSEjyvHDNkfCvMLbifsgCEQKBgQD6K7pRHr4TQH3gnK7U 14 | h2ogwOGcHQzX9q8UG2GdY4vtdfP+lpOPIB5yYvOOz5NHPXcBCqPNhSx/7bPUdbgP 15 | pYa4McWsBUZZ4NGwn5daJIpZRuxSrafuufjs4NCt8lm+c9Cz/aLZ/HDAuNu4IYVy 16 | X28wLHnEIx5NW9p5IMiY/6lNmQKBgQC3NVxDo448pmX8vAbefbrE5/vgd4nFCU89 17 | ImJb4u4urnL59S9pAN1IrRZMdAeXObFZkjHWVDXMVXsnKPT809otVEo9MM1QyGY2 18 | 5QXenp7P7d5aQvUbFcftTF3oceg1kFpi+3RBG6lCe6iw723DMK/5e/hB04t2jA8t 19 | Smgbouk+2wKBgH+Tfx9RKyNMNyUtIecV62QqmKLxGZSkoyIA2KXXlwsQpM4G4dcS 20 | TRSOK6B/cJ7a1G4+i8wKBuhyQsutAKFSC0KxdxnDUt4QzT5iFGAO1FK03V1IW6Rd 21 | SHkcKK8cMPHzw9GWHc9GcgWF/96FkbUCwAP0GmCQfCp9FgvBUSrc7ey5AoGAKvMz 22 | ghfhzI4l8q4R3i8Tjf3kqqbbgXnBPc/Fx0zYEdGL2tWEG9W8CsGpLJs2/FjmHt2L 23 | GXf8dL7FdFTBulPgHihYjyfVuk6Ax/XA/oOpL43QRtDTrVnZ2OPCUDAEBCqnRfU1 24 | N95IO/HJhlFbJhtP5ekONkBlvZDwLen3piL3E2kCgYEAxN23YgBOdycIXWFEdlNx 25 | 1hnTe6/4siZf2tf9q/Jrjdt1nH5z5uqLNxFdd2/l3eQ8JQTK/PZHwq45xbRsEb4O 26 | AOUtZlwsSCwi1aZBXfeavI8HNiDE2yDE9vTvZ18950e5TLcDp8OjI/j/yjKgcScj 27 | RCEbYuY6A9RxVwxQVhRrVIc= 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /databases/postgresql/config/ssl/odmcrt.der: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/databases/postgresql/config/ssl/odmcrt.der -------------------------------------------------------------------------------- /databases/postgresql/config/ssl/odmkey.pk8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/databases/postgresql/config/ssl/odmkey.pk8 -------------------------------------------------------------------------------- /databases/postgresql/config/ssl/odmroot.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDXzCCAkegAwIBAgIEWl3/5zANBgkqhkiG9w0BAQsFADBZMQswCQYDVQQGEwJV 3 | UzELMAkGA1UECAwCTlkxDzANBgNVBAcMBkFybW9uazEMMAoGA1UECgwDSUJNMQww 4 | CgYDVQQLDANPRE0xEDAOBgNVBAMMB29kbXJvb3QwHhcNMTgwMTE2MTMzNjM5WhcN 5 | MjgwMTE2MTMzNjM5WjBZMQswCQYDVQQGEwJVUzELMAkGA1UECAwCTlkxDzANBgNV 6 | BAcMBkFybW9uazEMMAoGA1UECgwDSUJNMQwwCgYDVQQLDANPRE0xEDAOBgNVBAMM 7 | B29kbXJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCetpzju6mw 8 | EEeb9EPA2yu1RiiF9Rb7y082bTQ8hwNtyOdYVpWzcA9ARQ+KAzpHdxLq+XdCkSPj 9 | 65c4alOIASbe6M65w/3BTSCr2p85oKziZWPTEBuxvBxtdbIHqJOb9qzXsGXgJs6o 10 | 8l64lhreifeN5zVDu8eEWRHE3TxF2J3s/pbhixnsHRH07Q7obzmZDI2Kt51CrDz1 11 | KNayVdX1L5KhKu/5jqD099n1MU8LRCU0HdQMm6a1VgItYCMqaGGw54uCkBwnK+xw 12 | M3lz/iUUuVel9yDF4EQVoCnHZD9tKDxkO3vKlMERUzTG8jVYa0o1gmjlT+/W1iSH 13 | 9zhlR9GAu4pBAgMBAAGjLzAtMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFIqdlF1z 14 | mxBIE1Em9TT/3pXA4n20MA0GCSqGSIb3DQEBCwUAA4IBAQACRyFR/9xGa1fYx8JK 15 | cn2YqZ3uknnTSig3+yRqeMwuoRZtbusaMlazpqoamm/8EGKwpLZNSK4hSBmqRSvM 16 | 6snNxxPoLuunD5Rew+2GnR0O2g5bUcc+kSFJXUIRmHao+ZaNeNynxvU2cV/g56Gq 17 | CY91zoCTMT/sSQ24C7jiNUfZ+IZ38cwsCLEMf14Zx+L7/wjA85FUgsCHoALnWrIJ 18 | fujf4HgL9deGbQvF0iLBQVXoyH65ORqxiKrxx1f0tc3e9eBxDcm9d0ozdbYG92rT 19 | rf3xETaIAZAYRg/f6b9PVjBhwHg2lqV1A8mz3Dg8jrwlXtzISestXr34lbBj12ia 20 | AMe6 21 | -----END CERTIFICATE----- 22 | -------------------------------------------------------------------------------- /databases/postgresql/config/ssl/pg_ident.conf: -------------------------------------------------------------------------------- 1 | ssl-odmusr *.odmicpserver.com odmusr 2 | -------------------------------------------------------------------------------- /databases/postgresql/data-8.10.next.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/databases/postgresql/data-8.10.next.dump -------------------------------------------------------------------------------- /databases/postgresql/data-8.11.next.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/databases/postgresql/data-8.11.next.dump -------------------------------------------------------------------------------- /databases/postgresql/data-8.12.next.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/databases/postgresql/data-8.12.next.dump -------------------------------------------------------------------------------- /databases/postgresql/data-9.0.next.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/databases/postgresql/data-9.0.next.dump -------------------------------------------------------------------------------- /databases/postgresql/script/checkdb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | [ -n "$PGUSER_FILE" ] && export PGUSER=$(cat $PGUSER_FILE) 4 | [ -n "$PGPASSWORD_FILE" ] && export PGPASSWORD=$(cat $PGPASSWORD_FILE) 5 | 6 | CHECK_DB_SERVER=2 7 | 8 | until [ $CHECK_DB_SERVER -eq 0 ] 9 | do 10 | echo "Test connection to $PGHOST on port 5432 state $CHECK_DB_SERVER" 11 | CHECK_DB_SERVER=$(psql -q -h $PGHOST -d $PGDATABASE -c "select 1" -p 5432 >/dev/null;echo $?) 12 | echo "Check $CHECK_DB_SERVER" 13 | sleep 2 14 | done 15 | -------------------------------------------------------------------------------- /databases/postgresql/script/restore.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set +u 4 | 5 | [ -z ${PGDATA} ] && PGDATA=/var/lib/pgsql/data/userdata 6 | 7 | # Depending on the postgresql implementation the directory to write is not the same. 8 | if [ -d /var/lib/pgsql ]; then 9 | INITFLAG=/var/lib/pgsql/initialized.flag 10 | else 11 | INITFLAG=/var/lib/postgresql/initialized.flag 12 | fi 13 | 14 | if [ ! -f $INITFLAG ] ; then 15 | if [ "${SAMPLE}" = "true" ] ; then 16 | echo "$(date) - Restore ODM sample database" 17 | if [[ -f /run/postgresql/secrets/db-user ]]; then 18 | PG_RESTORE_USER=$(cat /run/postgresql/secrets/db-user) 19 | else 20 | PG_RESTORE_USER=odmusr 21 | fi 22 | pg_restore --dbname=odmdb --format=c --no-owner --role=${PG_RESTORE_USER} /upload/data.dump 23 | 24 | echo "$(date) - Database restored successfully" 25 | echo "" 26 | if [ -n "$ODM_CONTEXT_ROOT" ] ; then 27 | echo "Updating Decision Center endpoint user setting with $ODM_CONTEXT_ROOT context." 28 | cp /upload/update-usersetting.sql /tmp/ 29 | sed -i 's|ODM_CONTEXT_ROOT|'$ODM_CONTEXT_ROOT'|g' /tmp/update-usersetting.sql 30 | psql -U $POSTGRES_USER -d $POSTGRES_DB -f /tmp/update-usersetting.sql 31 | echo "Change committed." 32 | echo "Verifying values:" 33 | psql -U $POSTGRES_USER -d $POSTGRES_DB -f /upload/verify-usersetting.sql 34 | fi; 35 | fi; 36 | touch $INITFLAG 37 | fi; 38 | 39 | if [ -s "/etc/postgresql/pg_hba.conf" ] 40 | then 41 | echo "copy all .conf files to ${PGDATA}" 42 | cp /etc/postgresql/*.conf ${PGDATA} 43 | fi 44 | -------------------------------------------------------------------------------- /databases/postgresql/script/rundb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | [ -n "$POSTGRESQL_USER_FILE" ] && export POSTGRES_USER=$(cat $POSTGRESQL_USER_FILE) && export POSTGRESQL_USER=$POSTGRES_USER 6 | [ -n "$POSTGRESQL_PASSWORD_FILE" ] && export POSTGRES_PASSWORD=$(cat $POSTGRESQL_PASSWORD_FILE) && export POSTGRESQL_PASSWORD=$POSTGRES_PASSWORD 7 | 8 | if type "run-postgresql" >& /dev/null ; then 9 | exec "run-postgresql" 10 | else 11 | exec "docker-entrypoint.sh" "$@" 12 | fi 13 | -------------------------------------------------------------------------------- /databases/postgresql/update-usersetting.sql: -------------------------------------------------------------------------------- 1 | update usersetting set value = 'http://localhost:9060/ODM_CONTEXT_ROOT/decisioncenter-api' where ilrkey = 'decisioncenter-api.server.url'; 2 | 3 | 4 | -------------------------------------------------------------------------------- /databases/postgresql/verify-usersetting.sql: -------------------------------------------------------------------------------- 1 | select value from usersetting where ilrkey= 'decisioncenter-api.server.url'; 2 | 3 | 4 | -------------------------------------------------------------------------------- /decisioncenter/config/OdmOidcProviders.json: -------------------------------------------------------------------------------- 1 | { 2 | "providers": [ 3 | { 4 | "grantType": "OPENID_GRANT_TYPE", 5 | "authorizationURL": "OPENID_AUTHORIZATION_URL", 6 | "tokenURL": "OPENID_TOKEN_URL", 7 | "introspectionURL": "OPENID_INTROSPECTION_URL", 8 | "logoutTokenParam": "OPENID_LOGOUT_TOKEN_PARAM", 9 | "tokenFormat": "OPENID_TOKEN_FORMAT", 10 | "logoutURL": "OPENID_LOGOUT_URL", 11 | "clientId": "OPENID_CLIENT_ID", 12 | "clientSecret": "OPENID_CLIENT_SECRET", 13 | "clientAssertionAliasName": "OPENID_CLIENT_ASSERTION_ALIAS_NAME", 14 | "name": "OPENID_PROVIDER" 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /decisioncenter/config/OdmOidcProvidersRD.json: -------------------------------------------------------------------------------- 1 | { 2 | "providers": [ 3 | { 4 | "name": "OPENID_PROVIDER", 5 | "authorizationURL": "OPENID_AUTHORIZATION_URL", 6 | "tokenURL": "OPENID_TOKEN_URL", 7 | "clientId": "OPENID_CLIENT_ID", 8 | "clientSecret": "OPENID_CLIENT_SECRET", 9 | "callbackPort": "9081", 10 | "callbackHttps": true 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /decisioncenter/config/app.properties: -------------------------------------------------------------------------------- 1 | 2 | dashboard=false 3 | redirect_url=/decisioncenter 4 | -------------------------------------------------------------------------------- /decisioncenter/config/application-decisioncenter-api.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /decisioncenter/config/application-decisioncenter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /decisioncenter/config/application-teamserver-dbdump.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /decisioncenter/config/datasource-db2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 13 | 18 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /decisioncenter/config/datasource-derby.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 14 | 19 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /decisioncenter/config/datasource-mysql.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | 19 | 24 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /decisioncenter/config/datasource-oracle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 14 | 15 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /decisioncenter/config/datasource-postgres.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 16 | 24 | 32 | 33 | 34 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /decisioncenter/config/datasource-sqlserver.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 16 | 21 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /decisioncenter/config/featureManager.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | servlet-4.0 5 | jndi-1.0 6 | jsp-2.3 7 | jdbc-4.1 8 | appSecurity-3.0 9 | ldapRegistry-3.0 10 | openidConnectClient-1.0 11 |          transportSecurity-1.0 12 | monitor-1.0 13 | mpMetrics-3.0 14 | logstashCollector-1.0 15 | audit-2.0 16 | 17 | 18 | -------------------------------------------------------------------------------- /decisioncenter/config/httpSessionHttp.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /decisioncenter/config/httpSessionHttps.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 15 | 16 | -------------------------------------------------------------------------------- /decisioncenter/config/jvm.options: -------------------------------------------------------------------------------- 1 | -Duser.language=en 2 | -Duser.country=US 3 | -------------------------------------------------------------------------------- /decisioncenter/config/logging/logging.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /decisioncenter/config/new-server-configurations.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "Decision Service Execution", 4 | "kind": "RES", 5 | "url": "protocol://odm-decisionserverconsole:decisionserverconsole-port/res", 6 | "authenticationKind": "BASIC_AUTH", 7 | "authenticationProvider": "OPENID_PROVIDER", 8 | "loginServer": "odmAdmin", 9 | "loginPassword": "odmAdmin", 10 | "builtIn": "false", 11 | "description": "Use this server to deploy decision services that you want to execute.", 12 | "groups": [ 13 | "*" 14 | ] 15 | }, 16 | { 17 | "name": "Test and Simulation Execution", 18 | "kind": "DECISION_RUNNER", 19 | "url": "protocol://odm-decisionrunner:decisionrunner-port/DecisionRunner", 20 | "authenticationKind": "BASIC_AUTH", 21 | "authenticationProvider": "OPENID_PROVIDER", 22 | "loginServer": "odmAdmin", 23 | "loginPassword": "odmAdmin", 24 | "builtIn": "false", 25 | "description": "Use this server to run tests and simulations for decision services.", 26 | "groups": [ 27 | "*" 28 | ] 29 | } 30 | ] 31 | -------------------------------------------------------------------------------- /decisioncenter/config/server-configurations.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "Decision Service Execution", 4 | "kind": "RES", 5 | "url": "protocol://odm-decisionserverconsole:decisionserverconsole-port/res", 6 | "loginServer": "odmAdmin", 7 | "loginPassword": "odmAdmin", 8 | "builtIn": "false", 9 | "description": "Use this server to deploy decision services that you want to execute.", 10 | "groups": [ 11 | "*" 12 | ] 13 | }, 14 | { 15 | "name": "Test and Simulation Execution", 16 | "kind": "DECISION_RUNNER", 17 | "url": "protocol://odm-decisionrunner:decisionrunner-port/DecisionRunner", 18 | "loginServer": "odmAdmin", 19 | "loginPassword": "odmAdmin", 20 | "builtIn": "false", 21 | "description": "Use this server to run tests and simulations for decision services.", 22 | "groups": [ 23 | "*" 24 | ] 25 | } 26 | ] 27 | -------------------------------------------------------------------------------- /decisioncenter/config/server.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /decisioncenter/config/solr-preferences.properties: -------------------------------------------------------------------------------- 1 | SearchProvider=SolrRemote 2 | SolrRemoteUrl=http://localhost:8080/dummySolr 3 | -------------------------------------------------------------------------------- /decisioncenter/script/addDCApplications.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | applicationXml=$1 4 | 5 | if [ ! ${applicationXml} ]; then 6 | applicationXml="/config/application.xml" 7 | fi 8 | 9 | function addApplication { 10 | if [ -e "${APPS}/$1.war" ] 11 | then 12 | cat "/config/application-$1.xml" >> ${applicationXml} 13 | fi 14 | } 15 | 16 | # Begin - Add DC Apps 17 | 18 | touch ${applicationXml} 19 | 20 | echo "" >> ${applicationXml} 21 | 22 | addApplication decisioncenter 23 | addApplication decisioncenter-api 24 | addApplication teamserver-dbdump 25 | 26 | echo "" >> ${applicationXml} 27 | 28 | 29 | # End - Add DC Apps 30 | -------------------------------------------------------------------------------- /decisioncenter/script/generateRDFiles.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -n "$OPENID_CONFIG" ] 4 | then 5 | OPENID_PROVIDER=$(grep OPENID_PROVIDER /config/authOidc/openIdParameters.properties | sed "s/OPENID_PROVIDER=//g") 6 | echo "RuleDesigner Config : OPENID_PROVIDER: $OPENID_PROVIDER" 7 | sed -i 's|OPENID_PROVIDER|'$OPENID_PROVIDER'|g' /config/OdmOidcProvidersRD.json 8 | 9 | OPENID_AUTHORIZATION_URL=$(grep OPENID_AUTHORIZATION_URL /config/authOidc/openIdParameters.properties | sed "s/OPENID_AUTHORIZATION_URL=//g") 10 | echo "RuleDesigner Config : set authorization URL to $OPENID_AUTHORIZATION_URL" 11 | sed -i 's|OPENID_AUTHORIZATION_URL|'$OPENID_AUTHORIZATION_URL'|g' /config/OdmOidcProvidersRD.json 12 | 13 | OPENID_TOKEN_URL=$(grep OPENID_TOKEN_URL /config/authOidc/openIdParameters.properties | sed "s/OPENID_TOKEN_URL=//g") 14 | 15 | if [[ "$OPENID_TOKEN_URL" =~ "ums-sso-service" ]] 16 | then 17 | echo "RuleDesigner Config : replace URL internal service token URL endpoint by external URL" 18 | OPENID_TOKEN_URL=$OPENID_SERVER_URL/oidc/endpoint/ums/token 19 | fi 20 | 21 | echo "RuleDesigner Config : set token URL to $OPENID_TOKEN_URL" 22 | sed -i 's|OPENID_TOKEN_URL|'$OPENID_TOKEN_URL'|g' /config/OdmOidcProvidersRD.json 23 | 24 | if [ "$OPENID_PROVIDER" == "iam" ] 25 | then 26 | echo "RuleDesigner Config : replace identitytoken by token for the IAM token URL " 27 | sed -i 's/identitytoken/token/g' /config/OdmOidcProvidersRD.json 28 | fi 29 | 30 | OPENID_CLIENT_ID=$(grep OPENID_CLIENT_ID /config/authOidc/openIdParameters.properties | sed "s/OPENID_CLIENT_ID=//g") 31 | echo "RuleDesigner Config : set client ID to $OPENID_CLIENT_ID" 32 | sed -i 's|OPENID_CLIENT_ID|'$OPENID_CLIENT_ID'|g' /config/OdmOidcProvidersRD.json 33 | 34 | OPENID_CLIENT_SECRET=$(grep OPENID_CLIENT_SECRET /config/authOidc/openIdParameters.properties | sed "s/OPENID_CLIENT_SECRET=//g") 35 | if [ -n "$OPENID_CLIENT_SECRET" ] 36 | then 37 | echo "RuleDesigner Config : set client Secret to $OPENID_CLIENT_SECRET" 38 | sed -i 's|OPENID_CLIENT_SECRET|'$OPENID_CLIENT_SECRET'|g' /config/OdmOidcProvidersRD.json 39 | else 40 | echo "RuleDesigner config : no provided OPENID_CLIENT_SECRET" 41 | sed -i '/clientSecret/d' /config/OdmOidcProvidersRD.json 42 | fi 43 | 44 | echo "copy /config/OdmOidcProvidersRD.json and /config/security/truststore.jks to /config/apps/decisioncenter.war/assets/ " 45 | cp /config/OdmOidcProvidersRD.json /config/apps/decisioncenter.war/assets/ 46 | fi 47 | cp /config/security/truststore.jks /config/apps/decisioncenter.war/assets/ 48 | -------------------------------------------------------------------------------- /decisioncenter/script/rundc.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | . $SCRIPT/initVariables.sh 9060 9453 4 | if [ ! -f /config/initialized ] 5 | then 6 | if [ -s "$SCRIPT/customStart.sh" ] 7 | then 8 | $SCRIPT/customStart.sh 9 | fi 10 | 11 | $SCRIPT/download.sh 12 | 13 | $SCRIPT/addDCApplications.sh 14 | 15 | $SCRIPT/updateDCConfigurations.sh 16 | 17 | if [ -n "$USERS_PASSWORD" ] 18 | then 19 | echo "Set password for defaut users" 20 | sed -i 's|password=".*"|'password=\"$USERS_PASSWORD\"'|g' /config/auth/webSecurity.xml 21 | sed -i 's|"loginPassword": ".*"|'\"loginPassword\":\"$USERS_PASSWORD\"'|g' /config/server-configurations.json 22 | fi 23 | 24 | $SCRIPT/updatePersistenceLocale.sh 25 | 26 | $SCRIPT/configureTlsSecurity.sh 27 | 28 | $SCRIPT/configureDatabase.sh 29 | 30 | $SCRIPT/updateDatasource.sh 31 | 32 | $SCRIPT/configureSwidTag.sh 33 | 34 | $SCRIPT/setTimeZone.sh 35 | 36 | . $SCRIPT/setUTF8Locale.sh 37 | 38 | $SCRIPT/generateRDFiles.sh 39 | 40 | if [ -s "$SCRIPT/customEnd.sh" ] 41 | then 42 | $SCRIPT/customEnd.sh 43 | fi 44 | touch /config/initialized 45 | fi 46 | if [ -n "$DEMO" ] 47 | then 48 | $SCRIPT/updateDemoServers.sh & 49 | fi 50 | -------------------------------------------------------------------------------- /decisioncenter/script/setUTF8Locale.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Set locale to C.UTF-8" 4 | export LANG=C.UTF-8 5 | export LC_ALL=C.UTF-8 6 | 7 | locale 8 | -------------------------------------------------------------------------------- /decisioncenter/script/updatePersistenceLocale.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -n "$DC_PERSISTENCE_LOCALE" ] 4 | then 5 | echo "Use DC_PERSISTENCE_LOCALE set to $DC_PERSISTENCE_LOCALE" 6 | sed -i 's|DC_PERSISTENCE_LOCALE|'$DC_PERSISTENCE_LOCALE'|g' $APPS/decisioncenter.war/WEB-INF/classes/config/decisioncenter-configuration.properties 7 | else 8 | echo "No DC_PERSISTENCE_LOCALE set use default en_US" 9 | sed -i 's|DC_PERSISTENCE_LOCALE|'en_US'|g' $APPS/decisioncenter.war/WEB-INF/classes/config/decisioncenter-configuration.properties 10 | fi 11 | -------------------------------------------------------------------------------- /decisionserver/config/datasource-db2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /decisionserver/config/datasource-derby.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /decisionserver/config/datasource-mysql.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | 14 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /decisionserver/config/datasource-oracle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /decisionserver/config/datasource-postgres.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 14 | 19 | 27 | 28 | 29 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /decisionserver/config/datasource-sqlserver.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 15 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /decisionserver/config/httpSessionHttp.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 9 | 10 | -------------------------------------------------------------------------------- /decisionserver/config/httpSessionHttps.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /decisionserver/decisionrunner/config/app.properties: -------------------------------------------------------------------------------- 1 | 2 | dashboard=false 3 | redirect_url=/DecisionRunner 4 | -------------------------------------------------------------------------------- /decisionserver/decisionrunner/config/application.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /decisionserver/decisionrunner/config/application_standalone.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /decisionserver/decisionrunner/config/featureManager.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | servlet-4.0 5 | appSecurity-3.0 6 | jsp-2.3 7 | jdbc-4.1 8 | concurrent-1.0 9 | ldapRegistry-3.0 10 | openidConnectClient-1.0 11 | transportSecurity-1.0 12 | monitor-1.0 13 | mpMetrics-3.0 14 | logstashCollector-1.0 15 | audit-2.0 16 | 17 | 18 | -------------------------------------------------------------------------------- /decisionserver/decisionrunner/config/logging/logging.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /decisionserver/decisionrunner/config/server.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /decisionserver/decisionrunner/script/enableDRMetering.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -n "$COM_IBM_RULES_METERING_ENABLE" ] 4 | then 5 | echo "enable rules metering" 6 | cd /config/apps/DecisionRunner.war/WEB-INF/classes; 7 | sed -i 's/{pluginClass=DVS}/{pluginClass=Metering,enable=true},{pluginClass=DVS}/g' ra.xml 8 | 9 | $SCRIPT/configureMetering.sh 10 | fi 11 | -------------------------------------------------------------------------------- /decisionserver/decisionrunner/script/rundr.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | . $SCRIPT/initVariables.sh 9080 9443 4 | if [ ! -f /config/initialized ] 5 | then 6 | if [ -s "$SCRIPT/customStart.sh" ] 7 | then 8 | $SCRIPT/customStart.sh 9 | fi 10 | 11 | $SCRIPT/download.sh 12 | 13 | if [ -n "$USERS_PASSWORD" ] 14 | then 15 | echo "Set password for defaut users" 16 | sed -i 's|password=".*"|'password=\"$USERS_PASSWORD\"'|g' /config/auth/webSecurity.xml 17 | fi 18 | 19 | $SCRIPT/updateDRConfigurations.sh 20 | 21 | $SCRIPT/configureTlsSecurity.sh 22 | 23 | $SCRIPT/enableDRMetering.sh 24 | 25 | $SCRIPT/configureDatabase.sh 26 | 27 | $SCRIPT/updateDatasource.sh 28 | 29 | $SCRIPT/configureSwidTag.sh 30 | 31 | $SCRIPT/setTimeZone.sh 32 | 33 | if [ -s "$SCRIPT/customEnd.sh" ] 34 | then 35 | $SCRIPT/customEnd.sh 36 | fi 37 | touch /config/initialized 38 | fi 39 | -------------------------------------------------------------------------------- /decisionserver/decisionserverconsole/config/app.properties: -------------------------------------------------------------------------------- 1 | 2 | dashboard=false 3 | redirect_url=/res 4 | -------------------------------------------------------------------------------- /decisionserver/decisionserverconsole/config/application.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /decisionserver/decisionserverconsole/config/basicAuth.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Decision Service 4 | /* 5 | 6 | 7 | resExecutors 8 | 9 | 10 | 11 | 12 | BASIC 13 | Decision Service 14 | 15 | 16 | 17 | The role that is required to use Decision Server Runtime - resExecutors 18 | resExecutors 19 | 20 | -------------------------------------------------------------------------------- /decisionserver/decisionserverconsole/config/featureManager.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | servlet-4.0 5 | appSecurity-3.0 6 | jsp-2.3 7 | jdbc-4.1 8 | ldapRegistry-3.0 9 | openidConnectClient-1.0 10 | transportSecurity-1.0 11 | monitor-1.0 12 | mpMetrics-3.0 13 | logstashCollector-1.0 14 | audit-2.0 15 | 16 | 17 | -------------------------------------------------------------------------------- /decisionserver/decisionserverconsole/config/logging/logging.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /decisionserver/decisionserverconsole/config/oAuth.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.ibm.odm.res.console.csrfFilter.allowedDomains 4 | OPENID_ALLOWED_DOMAINS 5 | 6 | -------------------------------------------------------------------------------- /decisionserver/decisionserverconsole/config/server.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /decisionserver/decisionserverconsole/script/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | . $SCRIPT/initVariables.sh 9080 9443 4 | if [ ! -f /config/initialized ] 5 | then 6 | if [ -s "$SCRIPT/customStart.sh" ] 7 | then 8 | $SCRIPT/customStart.sh 9 | fi 10 | 11 | $SCRIPT/download.sh 12 | 13 | if [ -n "$USERS_PASSWORD" ] 14 | then 15 | echo "Set password for defaut users" 16 | sed -i 's|password=".*"|'password=\"$USERS_PASSWORD\"'|g' /config/auth/webSecurity.xml 17 | fi 18 | 19 | $SCRIPT/enableMetering.sh 20 | 21 | $SCRIPT/updateDSCConfigurations.sh 22 | 23 | $SCRIPT/configureTlsSecurity.sh 24 | 25 | $SCRIPT/configureDatabase.sh 26 | 27 | $SCRIPT/updateDatasource.sh 28 | 29 | $SCRIPT/updateDSRConfigurations.sh 30 | 31 | $SCRIPT/configureSwidTag.sh 32 | 33 | $SCRIPT/setTimeZone.sh 34 | 35 | if [ -s "$SCRIPT/customEnd.sh" ] 36 | then 37 | $SCRIPT/customEnd.sh 38 | fi 39 | touch /config/initialized 40 | fi 41 | -------------------------------------------------------------------------------- /decisionserver/decisionserverruntime/config/app.properties: -------------------------------------------------------------------------------- 1 | 2 | dashboard=false 3 | redirect_url=/DecisionService 4 | -------------------------------------------------------------------------------- /decisionserver/decisionserverruntime/config/application.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /decisionserver/decisionserverruntime/config/basicAuth.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Decision Service 4 | /ws/* 5 | /rest/* 6 | 7 | 8 | resExecutors 9 | 10 | 11 | 12 | 13 | BASIC 14 | Decision Service 15 | 16 | 17 | 18 | The role that is required to use Decision Server Runtime - resExecutors 19 | resExecutors 20 | 21 | -------------------------------------------------------------------------------- /decisionserver/decisionserverruntime/config/featureManager.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | servlet-4.0 5 | appSecurity-3.0 6 | jsp-2.3 7 | jdbc-4.1 8 | ldapRegistry-3.0 9 | openidConnectClient-1.0 10 | transportSecurity-1.0 11 | monitor-1.0 12 | mpMetrics-3.0 13 | logstashCollector-1.0 14 | audit-2.0 15 | 16 | 17 | -------------------------------------------------------------------------------- /decisionserver/decisionserverruntime/config/logging/logging.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /decisionserver/decisionserverruntime/config/server.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /decisionserver/decisionserverruntime/script/configureTcpipNotification.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | tcpipPort=1883 4 | 5 | if [ -n "$DECISIONSERVERCONSOLE_NAME" ] 6 | then 7 | tcpipHost="$DECISIONSERVERCONSOLE_NAME" 8 | else 9 | echo "ERROR: The environment variable DECISIONSERVERCONSOLE_NAME is not configured. It specifies the host name of Decision Server Consolethat the tcpip notification plugin of Decision Server Runtime connects to." 10 | exit 1 11 | fi 12 | 13 | echo "Enable tcpip notification between Decision Server Runtime XU and Decision Server Console $tcpipHost on port $tcpipPort" 14 | 15 | sed -i 's/protocol=jmx/protocol=tcpip,tcpip.port='$tcpipPort',tcpip.host='$tcpipHost',tcpip.retryInterval=1000/' $APPS/DecisionService.war/WEB-INF/classes/ra.xml; 16 | -------------------------------------------------------------------------------- /decisionserver/decisionserverruntime/script/runds.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | . $SCRIPT/initVariables.sh 9080 9443 4 | if [ ! -f /config/initialized ] 5 | then 6 | if [ -s "$SCRIPT/customStart.sh" ] 7 | then 8 | $SCRIPT/customStart.sh 9 | fi 10 | 11 | $SCRIPT/download.sh 12 | 13 | if [ -n "$USERS_PASSWORD" ] 14 | then 15 | echo "Set password for defaut users" 16 | sed -i 's|password=".*"|'password=\"$USERS_PASSWORD\"'|g' /config/auth/webSecurity.xml 17 | fi 18 | 19 | $SCRIPT/enableMetering.sh 20 | 21 | $SCRIPT/updateDSRConfigurations.sh 22 | 23 | $SCRIPT/configureTcpipNotification.sh 24 | 25 | $SCRIPT/configureTlsSecurity.sh 26 | 27 | $SCRIPT/configureDatabase.sh 28 | 29 | $SCRIPT/updateDatasource.sh 30 | 31 | $SCRIPT/configureSwidTag.sh 32 | 33 | $SCRIPT/setTimeZone.sh 34 | 35 | if [ -s "$SCRIPT/customEnd.sh" ] 36 | then 37 | $SCRIPT/customEnd.sh 38 | fi 39 | touch /config/initialized 40 | fi 41 | -------------------------------------------------------------------------------- /docs/images/Architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/docs/images/Architecture.png -------------------------------------------------------------------------------- /docs/images/ClusterFig01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/docs/images/ClusterFig01.png -------------------------------------------------------------------------------- /docs/images/Fig1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/docs/images/Fig1.png -------------------------------------------------------------------------------- /docs/images/Fig2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/docs/images/Fig2.png -------------------------------------------------------------------------------- /docs/images/StandaloneFig01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/docs/images/StandaloneFig01.png -------------------------------------------------------------------------------- /docs/images/StandardFig02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/docs/images/StandardFig02.png -------------------------------------------------------------------------------- /docs/schema.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/docs/schema.pptx -------------------------------------------------------------------------------- /ldap/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM osixia/openldap:1.1.9 2 | 3 | LABEL maintainer="Rachel ORTI , ODMDev odmdev_open_source_user@wwpdl.vnet.ibm.com" 4 | MAINTAINER "Rachel ORTI , ODMDev odmdev_open_source_user@wwpdl.vnet.ibm.com" 5 | 6 | ARG ODMDOCKERDIR 7 | 8 | ADD $ODMDOCKERDIR/ldap/bootstrap /container/service/slapd/assets/config/bootstrap 9 | #ADD $ODMDOCKERDIR/ldap/certs /container/service/slapd/assets/certs 10 | #ADD $ODMDOCKERDIR/ldap/environment /container/environment/01-custom -------------------------------------------------------------------------------- /ldap/auth/ldap-configurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ldap://openldap:389 5 | cn=admin,dc=example,dc=org 6 | admin 7 | ou=groups,dc=example,dc=org 8 | (cn=*) 9 | cn 10 | member 11 | uid 12 | cn 13 | mail 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /ldap/auth/webSecurity.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /licenses/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore everything in this directory 2 | * 3 | # Except this file 4 | !.gitignore 5 | -------------------------------------------------------------------------------- /odm-standalone-postgres.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | dbserver: 4 | image: postgres:9.5.10 5 | ports: 6 | - 5432:5432 7 | environment: 8 | - POSTGRES_DB=odmdb 9 | - POSTGRES_USER=odmusr 10 | - POSTGRES_PASSWORD=odmpwd 11 | - PGDATA=/pgdata 12 | # Uncomment this line to persist your data. Note that on OSX you need to share this 13 | # current directory in the Preference menu -> File Sharing menu. 14 | # volumes: 15 | # - ./pgdata:/pgdata 16 | 17 | odm-standalone: 18 | image: $REPOSITORY/odm:$ODMVERSION 19 | build: 20 | context: ../ 21 | dockerfile: ./$ODMDOCKERDIR/standalone/Dockerfile 22 | args: 23 | - ODMDOCKERDIR=$ODMDOCKERDIR 24 | - ODMVERSION=$ODMVERSION 25 | - ODMDBVERSION=$ODMDBVERSION 26 | - FROMLIBERTY=$FROMLIBERTY 27 | - FROMDOCKERBUILD=$FROMDOCKERBUILD 28 | environment: 29 | - DB_TYPE=postgres 30 | # DB_TYPE can be set to "postgres" or "h2". If it is set to "h2" or not set, the H2 embedded database is used. 31 | # DB_DRIVER_URL can be used optionally to override the driver that is used by default for PostgreSQL. 32 | - DB_NAME=odmdb 33 | - DB_USER=odmusr 34 | - DB_PASSWORD=odmpwd 35 | - DB_SERVER_NAME=dbserver 36 | - LICENSE=accept 37 | - JVM_ARGS="-Xmx14000m" 38 | 39 | # DB_PORT_NUMBER can be used to override the default port number that is 5432 for PostgreSQL. 40 | ports: 41 | - 9080:9060 42 | -------------------------------------------------------------------------------- /odm-standalone-tomcat.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | # This following property is defined in the .env file. It's allow to customize your docker images. 4 | # ODMVERSION : The Operational Decision Management version 5 | # ODMDOCKERDIR : The Directory where this 6 | odm-standalone-tomcat: 7 | image: $REPOSITORY/odm-tomcat:$ODMVERSION 8 | build: 9 | context: ../ 10 | dockerfile: ./$ODMDOCKERDIR/standalone-tomcat/Dockerfile 11 | args: 12 | - ODMDOCKERDIR=$ODMDOCKERDIR 13 | - ODMVERSION=$ODMVERSION 14 | - ODMDBVERSION=$ODMDBVERSION 15 | - FROMDOCKERBUILD=$FROMDOCKERBUILD 16 | environment: 17 | - SAMPLE=true 18 | ports: 19 | - 8090:8080 20 | # Uncomment this line to persist your data. Note that on OSX you need to share this 21 | # current directory in the Preference menu -> File Sharing menu. 22 | # volumes: 23 | # - ./dbdata:/usr/local/tomcat/dbdata 24 | -------------------------------------------------------------------------------- /odm-standalone.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | # This following property is defined in the .env file. It's allow to customize your docker images. 4 | # ODMVERSION : The Operational Decision Management version 5 | # ODMDOCKERDIR : The Directory where this 6 | odm-standalone: 7 | image: $REPOSITORY/odm:$ODMVERSION 8 | mem_limit: 4G 9 | memswap_limit: 4G 10 | build: 11 | context: ../ 12 | dockerfile: ./$ODMDOCKERDIR/standalone/Dockerfile 13 | args: 14 | - ODMDOCKERDIR=$ODMDOCKERDIR 15 | - ODMVERSION=$ODMVERSION 16 | - ODMDBVERSION=$ODMDBVERSION 17 | - FROMLIBERTY=$FROMLIBERTY 18 | - FROMLIBERTYBUILD=$FROMLIBERTY 19 | - FROMDOCKERBUILD=$FROMDOCKERBUILD 20 | - PACKAGELIST=$PACKAGELIST 21 | user: "1001:0" 22 | environment: 23 | - SAMPLE=false 24 | - LICENSE=accept 25 | ports: 26 | - 9080:9060 27 | - 9453:9453 28 | # Uncomment this line to persist your data. Note that on OSX you need to share this 29 | # current directory in the Preference menu -> File Sharing menu. 30 | volumes: 31 | # - ./h2data:/config/dbdata/ 32 | - ./plugin-configuration.properties:/config/baiemitterconfig/plugin-configuration.properties 33 | -------------------------------------------------------------------------------- /oidc-with-basicauthonruntime/group-security-configurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /oidc-with-basicauthonruntime/keystore.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/oidc-with-basicauthonruntime/keystore.jks -------------------------------------------------------------------------------- /oidc-with-basicauthonruntime/openIdParameters.properties: -------------------------------------------------------------------------------- 1 | OPENID_SERVER_URL=https://odmdev09r.fr.eurolabs.ibm.com:9665 2 | OPENID_PROVIDER=ums 3 | OPENID_AUTHORIZATION_URL=https://odmdev09r.fr.eurolabs.ibm.com:9665/oidc/endpoint/ums/authorize 4 | OPENID_TOKEN_URL=https://odmdev09r.fr.eurolabs.ibm.com:9665/oidc/endpoint/ums/token 5 | OPENID_INTROSPECTION_URL=https://odmdev09r.fr.eurolabs.ibm.com:9665/oidc/endpoint/ums/introspect 6 | OPENID_CLIENT_ID=umsclient4odm 7 | OPENID_CLIENT_SECRET=umssecret4odm 8 | OPENID_TOKEN_FORMAT=NON-JWT 9 | OPENID_LOGOUT_URL=https://odmdev09r.fr.eurolabs.ibm.com:9665/oidc/endpoint/ums/logout 10 | OPENID_ALLOWED_DOMAINS=fr.eurolabs.ibm.com 11 | -------------------------------------------------------------------------------- /oidc-with-basicauthonruntime/openIdWebSecurity.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 15 | 16 | 17 | 25 | 26 | -------------------------------------------------------------------------------- /oidc-with-basicauthonruntime/runtimeWebSecurity.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /oidc-with-basicauthonruntime/truststore.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/oidc-with-basicauthonruntime/truststore.jks -------------------------------------------------------------------------------- /oidc-with-basicauthonruntime/webSecurity.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /override-derby.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | services: 3 | dbserver: 4 | build: 5 | dockerfile: ./${ODMDOCKERDIR}/databases/derby/Dockerfile 6 | ports: 7 | - 1527:1527 8 | user: "0:0" 9 | # Uncomment this line to persist your data. Note that on OSX you need to share this 10 | # current directory in the Preference menu -> File Sharing menu. 11 | # volumes: 12 | # - ./:/opt/db-derby-10.12.1.1-bin 13 | 14 | odm-decisionserverconsole: 15 | environment: 16 | - DB_TYPE=derby 17 | # DB_TYPE could be set to "derby", "mysql" or "postgres". If it is not set, the PostgreSQL database is used by default. 18 | # DB_DRIVER_URL could be used optionally to override the driver that is used by default for a given database. 19 | 20 | odm-decisionrunner: 21 | environment: 22 | - DB_TYPE=derby 23 | # DB_TYPE could be set to "derby", "mysql" or "postgres". If it is not set, the PostgreSQL database is used by default. 24 | # DB_DRIVER_URL could be used optionally to override the driver that is used by default for a given database. 25 | 26 | odm-decisionserverruntime: 27 | environment: 28 | - DB_TYPE=derby 29 | # DB_TYPE could be set to "derby", "mysql" or "postgres". If it is not set, the PostgreSQL database is used by default. 30 | # DB_DRIVER_URL could be used optionally to override the driver that is used by default for a given database. 31 | 32 | odm-decisioncenter: 33 | environment: 34 | - DB_TYPE=derby 35 | # DB_TYPE could be set to "derby", "mysql" or "postgres". If it is not set, the PostgreSQL database is used by default. 36 | # DB_DRIVER_URL could be used optionally to override the driver that is used by default for a given database. 37 | -------------------------------------------------------------------------------- /override-mysql.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | services: 3 | dbserver: 4 | build: 5 | dockerfile: ./${ODMDOCKERDIR}/databases/mysql/Dockerfile 6 | environment: 7 | - MYSQL_ROOT_PASSWORD=odmpwd 8 | - MYSQL_DATABASE=odmdb 9 | - MYSQL_USER=odmusr 10 | - MYSQL_PASSWORD=odmpwd 11 | ports: 12 | - 3306:3306 13 | 14 | odm-decisionserverconsole: 15 | environment: 16 | - DB_TYPE=mysql 17 | # DB_TYPE could be set to "derby", "mysql" or "postgres". If it is not set, the PostgreSQL database is used by default. 18 | # DB_DRIVER_URL could be used optionally to override the driver that is used by default for a given database. 19 | 20 | odm-decisionrunner: 21 | environment: 22 | - DB_TYPE=mysql 23 | # DB_TYPE could be set to "derby", "mysql" or "postgres". If it is not set, the PostgreSQL database is used by default. 24 | # DB_DRIVER_URL could be used optionally to override the driver that is used by default for a given database. 25 | 26 | odm-decisionserverruntime: 27 | environment: 28 | - DB_TYPE=mysql 29 | # DB_TYPE could be set to "derby", "mysql" or "postgres". If it is not set, the PostgreSQL database is used by default. 30 | # DB_DRIVER_URL could be used optionally to override the driver that is used by default for a given database. 31 | 32 | odm-decisioncenter: 33 | environment: 34 | - DB_TYPE=mysql 35 | # DB_TYPE could be set to "derby", "mysql" or "postgres". If it is not set, the PostgreSQL database is used by default. 36 | # DB_DRIVER_URL could be used optionally to override the driver that is used by default for a given database. 37 | -------------------------------------------------------------------------------- /resources/.dockerignore: -------------------------------------------------------------------------------- 1 | ** 2 | !executionserver/samples/rulesetexecution/loan-server/* 3 | !executionserver/applicationservers/WLP/res.war 4 | !executionserver/applicationservers/WLP/DecisionService.war 5 | !executionserver/applicationservers/WLP/DecisionRunner.war 6 | !executionserver/applicationservers/WLP855/res.war 7 | !executionserver/applicationservers/WLP855/DecisionService.war 8 | !executionserver/applicationservers/WLP855/DecisionRunner.war 9 | !executionserver/lib/**/* 10 | !teamserver/applicationservers/WLP/decisioncenter.war 11 | !teamserver/applicationservers/WLP/decisioncenter-api.war 12 | !teamserver/applicationservers/WLP/decisionmodel.war 13 | !teamserver/applicationservers/WLP/teamserver*.war 14 | !teamserver/applicationservers/WLP/teamserver-dbdump.war 15 | !teamserver/applicationservers/WLP855/decisioncenter.war 16 | !teamserver/applicationservers/WLP855/decisioncenter-api.war 17 | !teamserver/applicationservers/WLP855/teamserver*.war 18 | !teamserver/applicationservers/WLP855/teamserver-dbdump.war 19 | !executionserver/applicationservers/tomcat8/res.war 20 | !executionserver/applicationservers/tomcat8/DecisionService.war 21 | !executionserver/applicationservers/tomcat8/DecisionRunner.war 22 | !teamserver/applicationservers/tomcat8/decisioncenter.war 23 | !teamserver/applicationservers/tomcat8/decisionmodel.war 24 | !teamserver/applicationservers/tomcat8/decisioncenter-api.war 25 | !teamserver/applicationservers/tomcat8/teamserver.war 26 | !teamserver/lib/**/* 27 | !**/docker-compose 28 | !docker-compose** 29 | !**/odm-docker 30 | !odm-docker** 31 | !**/odm-ondocker 32 | !odm-ondocker/**/* 33 | -------------------------------------------------------------------------------- /resources/translation/.dockerignore: -------------------------------------------------------------------------------- 1 | ** 2 | !executionserver/samples/rulesetexecution/loan-server/* 3 | !executionserver/applicationservers/WLP/res.war 4 | !executionserver/applicationservers/WLP/DecisionService.war 5 | !executionserver/applicationservers/WLP/DecisionRunner.war 6 | !executionserver/applicationservers/WLP855/res.war 7 | !executionserver/applicationservers/WLP855/DecisionService.war 8 | !executionserver/applicationservers/WLP855/DecisionRunner.war 9 | !executionserver/lib/**/* 10 | !teamserver/applicationservers/WLP/decisioncenter.war 11 | !teamserver/applicationservers/WLP/decisioncenter-api.war 12 | !teamserver/applicationservers/WLP/decisionmodel.war 13 | !teamserver/applicationservers/WLP/teamserver*.war 14 | !teamserver/applicationservers/WLP/teamserver-dbdump.war 15 | !teamserver/applicationservers/WLP855/decisioncenter.war 16 | !teamserver/applicationservers/WLP855/decisioncenter-api.war 17 | !teamserver/applicationservers/WLP855/teamserver*.war 18 | !teamserver/applicationservers/WLP855/teamserver-dbdump.war 19 | !executionserver/applicationservers/tomcat8/res.war 20 | !executionserver/applicationservers/tomcat8/DecisionService.war 21 | !executionserver/applicationservers/tomcat8/DecisionRunner.war 22 | !teamserver/applicationservers/tomcat8/decisioncenter.war 23 | !teamserver/applicationservers/tomcat8/decisionmodel.war 24 | !teamserver/applicationservers/tomcat8/decisioncenter-api.war 25 | !teamserver/applicationservers/tomcat8/teamserver.war 26 | !teamserver/lib/**/* 27 | !**/docker-compose 28 | !docker-compose** 29 | !**/odm-docker 30 | !odm-docker** 31 | !**/odm-ondocker 32 | !odm-ondocker/**/* 33 | -------------------------------------------------------------------------------- /rolegroupmapping/group-security-configurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /rolegroupmapping/keystore.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/rolegroupmapping/keystore.jks -------------------------------------------------------------------------------- /rolegroupmapping/ldap-configurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ldaps://bluepages.ibm.com 5 | 6 | 7 | ou=memberlist,ou=ibmgroups,o=ibm.com 8 | (cn=*Bear*) 9 | cn 10 | uniquemember 11 | uid 12 | cn 13 | emailaddress 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /rolegroupmapping/truststore.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/rolegroupmapping/truststore.jks -------------------------------------------------------------------------------- /settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /standalone-tomcat/config/server-configurations.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "Decision Service Execution", 4 | "kind": "RES", 5 | "url": "http://localhost:8080/res", 6 | "loginServer": "odmAdmin", 7 | "loginPassword": "odmAdmin", 8 | "description": "Use this server to deploy decision services that you want to execute.", 9 | "groups": [ 10 | "*" 11 | ] 12 | }, 13 | { 14 | "name": "Test and Simulation Execution", 15 | "kind": "DECISION_RUNNER", 16 | "url": "http://localhost:8080/DecisionRunner", 17 | "loginServer": "odmAdmin", 18 | "loginPassword": "odmAdmin", 19 | "description": "Use this server to run tests and simulations for decision services.", 20 | "groups": [ 21 | "*" 22 | ] 23 | } 24 | ] 25 | -------------------------------------------------------------------------------- /standalone-tomcat/config/tomcat-users.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /standalone-tomcat/data-8.10.0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/standalone-tomcat/data-8.10.0.tar.gz -------------------------------------------------------------------------------- /standalone-tomcat/data-8.9.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/standalone-tomcat/data-8.9.tar.gz -------------------------------------------------------------------------------- /standalone-tomcat/script/runserver.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ ! -f ${CATALINA_HOME}/initializeddb.flag ] ; then 4 | if [ "$SAMPLE" = "true" ] ; then 5 | if [ -d "${CATALINA_HOME}/dbdata/" ]; then 6 | cp -R ${CATALINA_HOME}/upload/* ${CATALINA_HOME}/dbdata/ 7 | fi; 8 | fi; 9 | touch ${CATALINA_HOME}/initializeddb.flag 10 | fi; 11 | 12 | if [ ! -f ${CATALINA_HOME}/initialized.flag ] ; then 13 | cd ${CATALINA_HOME}/webapps/DecisionService/WEB-INF/classes; 14 | sed -i 's|FINE|WARNING|g' ra.xml; 15 | sed -i '\#[D|d]efaultConnectionManagerProperties#,\## s||pool.maxSize='$CONNECTION_POOL_SIZE',pool.waitTimeout=3000|' ra.xml; 16 | touch ${CATALINA_HOME}/initialized.flag 17 | fi; 18 | 19 | if [ -n "$COM_IBM_RULES_METERING_ENABLE" ] 20 | then 21 | cd ${CATALINA_HOME}/webapps/DecisionService/WEB-INF/classes; 22 | sed -i 's/{pluginClass=HTDS}/{pluginClass=Metering,enable=true},{pluginClass=DVS},{pluginClass=HTDS}/g' ra.xml 23 | fi 24 | 25 | FIND_SERVER_EXT_CLASS="$($SCRIPT/findServerExtClass.sh)" 26 | echo "FIND_SERVER_EXT_CLASS set to $FIND_SERVER_EXT_CLASS" 27 | 28 | if [ "$FIND_SERVER_EXT_CLASS" == "matches" ] 29 | then 30 | echo "Update decisioncenter-configuration.properties with ${CATALINA_HOME}/conf/server-configurations.json" 31 | cd $APPS/decisioncenter/WEB-INF/classes/config 32 | cp ${CATALINA_HOME}/conf/new-decisioncenter-configuration.properties decisioncenter-configuration.properties 33 | sed -i "s|CATALINA_HOME|$CATALINA_HOME|g" decisioncenter-configuration.properties 34 | else 35 | echo "Use old decisioncenter-configuration.properties definition" 36 | cp ${CATALINA_HOME}/new-decisioncenter-configuration.properties $APPS/decisioncenter/WEB-INF/classes/config/decisioncenter-configuration.properties 37 | fi 38 | 39 | catalina.sh run 40 | -------------------------------------------------------------------------------- /standalone/config/app.properties: -------------------------------------------------------------------------------- 1 | 2 | dashboard=true 3 | redirect_url= 4 | -------------------------------------------------------------------------------- /standalone/config/datasource-h2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 11 | 12 | 13 | 19 | 24 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /standalone/config/datasource-postgres.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 10 | 11 | 12 | 19 | 24 | 30 | 31 | 32 | 33 | 34 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /standalone/config/featureManager.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | servlet-4.0 5 | jndi-1.0 6 | jsp-2.3 7 | jdbc-4.1 8 | transportSecurity-1.0 9 | appSecurity-3.0 10 | concurrent-1.0 11 | jaxrs-2.1 12 | jsonp-1.1 13 | 14 | 15 | -------------------------------------------------------------------------------- /standalone/config/group-security-configurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /standalone/config/httpSession.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 11 | 12 | -------------------------------------------------------------------------------- /standalone/config/loan-server_application.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /standalone/config/logging/logging.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /standalone/config/resources/h2-2.2.224.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/standalone/config/resources/h2-2.2.224.jar -------------------------------------------------------------------------------- /standalone/config/server-configurations.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "Decision Service Execution", 4 | "kind": "RES", 5 | "url": "http://localhost:9060/res", 6 | "loginServer": "odmAdmin", 7 | "loginPassword": "odmAdmin", 8 | "builtIn": "false", 9 | "description": "Use this server to deploy decision services that you want to execute.", 10 | "groups": [ 11 | "*" 12 | ] 13 | }, 14 | { 15 | "name": "Test and Simulation Execution", 16 | "kind": "DECISION_RUNNER", 17 | "url": "http://localhost:9060/DecisionRunner", 18 | "loginServer": "odmAdmin", 19 | "loginPassword": "odmAdmin", 20 | "builtIn": "false", 21 | "description": "Use this server to run tests and simulations for decision services.", 22 | "groups": [ 23 | "*" 24 | ] 25 | } 26 | ] 27 | -------------------------------------------------------------------------------- /standalone/config/server.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /standalone/config/tlsSecurity.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /standalone/config/webSecurity.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /standalone/config/welcomepage_application.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /standalone/dockerhub/short-description.txt: -------------------------------------------------------------------------------- 1 | Official IBM Operational Decision Manager for Developers image. 2 | -------------------------------------------------------------------------------- /standalone/resdb-8.11.1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/standalone/resdb-8.11.1.zip -------------------------------------------------------------------------------- /standalone/resdb-8.11.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/standalone/resdb-8.11.zip -------------------------------------------------------------------------------- /standalone/resdb-8.12.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/standalone/resdb-8.12.zip -------------------------------------------------------------------------------- /standalone/resdb-9.0.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/standalone/resdb-9.0.zip -------------------------------------------------------------------------------- /standalone/rtsdb-8.11.1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/standalone/rtsdb-8.11.1.zip -------------------------------------------------------------------------------- /standalone/rtsdb-8.11.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/standalone/rtsdb-8.11.zip -------------------------------------------------------------------------------- /standalone/rtsdb-8.12.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/standalone/rtsdb-8.12.zip -------------------------------------------------------------------------------- /standalone/rtsdb-9.0.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/standalone/rtsdb-9.0.zip -------------------------------------------------------------------------------- /standalone/samples/loan-validation-xom/src/loan/Messages.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright IBM Corp. 1987, 2024 3 | * 4 | * Licensed to the Apache Software Foundation (ASF) under one 5 | * or more contributor license agreements. See the NOTICE file 6 | * distributed with this work for additional information 7 | * regarding copyright ownership. The ASF licenses this file 8 | * to you under the Apache License, Version 2.0 (the 9 | * "License"); you may not use this file except in compliance 10 | * with the License. You may obtain a copy of the License at 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | * 14 | * Unless required by applicable law or agreed to in writing, 15 | * software distributed under the License is distributed on an 16 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 17 | * KIND, either express or implied. See the License for the 18 | * specific language governing permissions and limitations 19 | * under the License. 20 | * 21 | **/ 22 | package loan; 23 | 24 | import java.util.MissingResourceException; 25 | import java.util.ResourceBundle; 26 | 27 | public class Messages { 28 | static private ResourceBundle m_bundle; 29 | 30 | static public String getMessage(String messageKey) { 31 | prepareMessages(); 32 | String message; 33 | if (m_bundle == null) return messageKey; 34 | try { 35 | message = m_bundle.getString(messageKey); 36 | } catch (MissingResourceException e1) { 37 | message = messageKey; 38 | } 39 | return message; 40 | } 41 | 42 | static private void prepareMessages() { 43 | if (m_bundle == null) 44 | try { 45 | m_bundle = ResourceBundle.getBundle("loan.messages"); 46 | } catch (MissingResourceException e) { 47 | m_bundle = null; 48 | } 49 | } 50 | 51 | } 52 | -------------------------------------------------------------------------------- /standalone/samples/loan-validation-xom/src/loan/messages.properties: -------------------------------------------------------------------------------- 1 | #NLS_ENCODING=UNICODE 2 | #NLS_MESSAGEFORMAT_VAR 3 | borrower=Borrower: First name {0} Last name {1} born {2} SSN {3} 4 | zipCode= Zipcode {0} 5 | yearlyIncome= Yearly income {0} 6 | creditScore= Credit Score {0} 7 | bankruptcy= Bankruptcy on {0} for {1} filed under chapter {2} 8 | 9 | loan=Loan: Amount {0} Starting {1} Duration {2} month(es) Loan to value {3} 10 | rate= Rate {0} 11 | monthlyRepayment= Monthly repayment {0} 12 | 13 | report= Report: Valid data {0} Approved {1} 14 | grade= Grade {0} 15 | insurance= Insurance required {0} Insurance rate {1} 16 | message= Message {0} 17 | -------------------------------------------------------------------------------- /standalone/samples/loan-validation-xom/src/loan/messages_de.properties: -------------------------------------------------------------------------------- 1 | #NLS_ENCODING=UNICODE 2 | #NLS_MESSAGEFORMAT_VAR 3 | borrower=Kreditnehmer: Vorname {0} Nachname {1} geboren am {2} Sozialversicherungsnummer {3} 4 | zipCode= Postleitzahl: {0} 5 | yearlyIncome= Jahreseinkommen: {0} 6 | creditScore= Scorewert: {0} 7 | bankruptcy= Insolvenz f\u00fcr {0} von {1}, registriert nach Chapter {2} 8 | 9 | loan=Kredit: Betrag {0} Beginn {1} Dauer {2} Monat(e) Kredit zum Wert {3} 10 | rate= Rate {0} 11 | monthlyRepayment= Monatliche Tilgungsrate {0} 12 | 13 | report= Bericht: G\u00fcltige Daten {0}, Genehmigt {1} 14 | grade= Grad {0} 15 | insurance= Versicherung erforderlich {0} Versicherungssatz {1} 16 | message= Nachricht {0} 17 | -------------------------------------------------------------------------------- /standalone/samples/loan-validation-xom/src/loan/messages_es.properties: -------------------------------------------------------------------------------- 1 | #NLS_ENCODING=UNICODE 2 | #NLS_MESSAGEFORMAT_VAR 3 | borrower=Prestatario: Nombre {0} Apellido {1} Fecha nac. {2} N\u00ba de SS {3} 4 | zipCode= C\u00f3digo postal {0} 5 | yearlyIncome= Ingresos anuales {0} 6 | creditScore= Capacidad de endeudamiento {0} 7 | bankruptcy= Concurso de acreedores en {0} para {1} presentado bajo el cap\u00edtulo {2} 8 | 9 | loan=Pr\u00e9stamo: Importe {0} Inicio {1} Duraci\u00f3n {2} mes(es) Pr\u00e9stamo a valor {3} 10 | rate= Inter\u00e9s {0} 11 | monthlyRepayment= Pago mensual {0} 12 | 13 | report= Informe: Datos v\u00e1lidos {0} aprobados {1} 14 | grade= Grado {0} 15 | insurance= Seguro necesario {0} Tasa de seguros {1} 16 | message= Mensaje {0} 17 | -------------------------------------------------------------------------------- /standalone/samples/loan-validation-xom/src/loan/messages_fr.properties: -------------------------------------------------------------------------------- 1 | #NLS_ENCODING=UNICODE 2 | #NLS_MESSAGEFORMAT_VAR 3 | borrower=Emprunteur : Pr\u00e9nom {0} Nom {1} N\u00e9(e) le {2} N\u00b0 S.S. {3} 4 | zipCode= Code postal {0} 5 | yearlyIncome= Revenu annuel {0} 6 | creditScore= Score de cr\u00e9dit {0} 7 | bankruptcy= Faillite le {0} pour {1} class\u00e9 sous le chapitre {2} 8 | 9 | loan=Pr\u00eat : Montant {0} Date de d\u00e9but {1} Dur\u00e9e {2} Quotit\u00e9 de financement {3} 10 | rate= Taux {0} 11 | monthlyRepayment= Remboursement mensuel {0} 12 | 13 | report= Rapport : Donn\u00e9es valides {0} Approuv\u00e9 {1} 14 | grade= Grade {0} 15 | insurance= Assurance requise {0} Taux d''assurance {1} 16 | message= Message {0} 17 | -------------------------------------------------------------------------------- /standalone/samples/loan-validation-xom/src/loan/messages_it.properties: -------------------------------------------------------------------------------- 1 | #NLS_ENCODING=UNICODE 2 | #NLS_MESSAGEFORMAT_VAR 3 | borrower=Mutuatario: nome {0}, cognome {1}, nato il {2}, SSN {3} 4 | zipCode= CAP {0} 5 | yearlyIncome= Reddito annuo {0} 6 | creditScore= Indice di affidabilit\u00e0 creditizia {0} 7 | bankruptcy= Fallimento del {0} per {1} registrato al capitolo {2} 8 | 9 | loan=Prestito: importo {0}, data di inizio {1}, durata {2} mese/i, LTV {3} 10 | rate= Tasso {0} 11 | monthlyRepayment= Rimborso mensile {0} 12 | 13 | report= Report: Dati validi {0} Approvati {1} 14 | grade= Grado {0} 15 | insurance= Assicurazione richiesta {0}, tasso di assicurazione {1} 16 | message= Messaggio {0} 17 | -------------------------------------------------------------------------------- /standalone/samples/loan-validation-xom/src/loan/messages_ja.properties: -------------------------------------------------------------------------------- 1 | #NLS_ENCODING=UNICODE 2 | #NLS_MESSAGEFORMAT_VAR 3 | borrower=\u501f\u308a\u624b: \u540d\u524d {0} \u59d3 {1} \u751f\u5e74\u6708\u65e5 {2} SSN {3} 4 | zipCode= \u90f5\u4fbf\u756a\u53f7 {0} 5 | yearlyIncome= \u5e74\u53ce {0} 6 | creditScore= \u30af\u30ec\u30b8\u30c3\u30c8\u30fb\u30b9\u30b3\u30a2 {0} 7 | bankruptcy= \u7834\u7523\u6cd5\u7b2c {2} \u7ae0\u306e\u3082\u3068 {1} \u306e\u7834\u7523\u3092 {0} \u306b\u7533\u8acb 8 | 9 | loan=\u30ed\u30fc\u30f3: \u91d1\u984d {0} \u958b\u59cb\u65e5 {1} \u671f\u9593 {2} \u30ab\u6708 \u878d\u8cc7\u6bd4\u7387 {3} 10 | rate= \u7387 {0} 11 | monthlyRepayment= \u6bce\u6708\u8fd4\u6e08\u984d {0} 12 | 13 | report= \u30ec\u30dd\u30fc\u30c8: \u6709\u52b9\u30c7\u30fc\u30bf {0} \u627f\u8a8d\u6e08\u307f {1} 14 | grade= \u7b49\u7d1a {0} 15 | insurance= \u8981\u4fdd\u967a {0} \u4fdd\u967a\u6599\u7387 {1} 16 | message= \u30e1\u30c3\u30bb\u30fc\u30b8 {0} 17 | -------------------------------------------------------------------------------- /standalone/samples/loan-validation-xom/src/loan/messages_ko.properties: -------------------------------------------------------------------------------- 1 | #NLS_ENCODING=UNICODE 2 | #NLS_MESSAGEFORMAT_VAR 3 | borrower=\ub300\ucd9c\uc790: \uc131: {1}, \uc774\ub984: {0}, \uc0dd\ub144\uc6d4\uc77c: {2} SSN: {3} 4 | zipCode= \uc6b0\ud3b8\ubc88\ud638: {0} 5 | yearlyIncome= \uc5f0\uac04 \uc18c\ub4dd: {0} 6 | creditScore= \uc2e0\uc6a9\ud3c9\uc810: {0} 7 | bankruptcy= {1}\uc5d0 \ub300\ud55c {0}\uc758 \ud30c\uc0b0\uc774 {2}\uc7a5\uc5d0 \uae30\ub85d\ub418\uc5b4 \uc788\uc74c 8 | 9 | loan=\ub300\ucd9c: \uae08\uc561: {0}, \ub300\ucd9c \uc77c\uc790: {1}, \uae30\uac04: {2}\uac1c\uc6d4, \ub2f4\ubcf4 \uc778\uc815 \ube44\uc728: {3} 10 | rate= \ube44\uc728: {0} 11 | monthlyRepayment= \uc6d4\ubcc4 \uc0c1\ud658\uc561: {0} 12 | 13 | report= \ubcf4\uace0\uc11c: \uc62c\ubc14\ub978 \ub370\uc774\ud130 {0} \uc2b9\uc778\ub428 {1} 14 | grade= \ub4f1\uae09: {0} 15 | insurance= \ud544\uc694\ud55c \ubcf4\ud5d8: {0}, \ubcf4\ud5d8\ub8cc\uc728: {1} 16 | message= \uba54\uc2dc\uc9c0: {0} 17 | -------------------------------------------------------------------------------- /standalone/samples/loan-validation-xom/src/loan/messages_nl.properties: -------------------------------------------------------------------------------- 1 | #NLS_ENCODING=UNICODE 2 | #NLS_MESSAGEFORMAT_VAR 3 | borrower=Lener: Voornaam {0} Achternaam {1} geboortedatum {2} BSN {3} 4 | zipCode= Postcode {0} 5 | yearlyIncome= Jaarinkomen {0} 6 | creditScore= Kredietscore {0} 7 | bankruptcy= Faillissement op {0} voor {1} opgeslagen onder hoofstuk {2} 8 | 9 | loan=Lening: Bedrag {0} Begin {1} Duur {2} maand(en) Lening naar waarde {3} 10 | rate= Percentage {0} 11 | monthlyRepayment= Maandelijkse terugbetaling {0} 12 | 13 | report= Rapport: Geldige gegevens {0} Goedgekeurd {1} 14 | grade= Niveau {0} 15 | insurance= Verzekering vereist {0} verzekeringspercentage {1} 16 | message= Bericht {0} 17 | -------------------------------------------------------------------------------- /standalone/samples/loan-validation-xom/src/loan/messages_pl.properties: -------------------------------------------------------------------------------- 1 | #NLS_ENCODING=UNICODE 2 | #NLS_MESSAGEFORMAT_VAR 3 | borrower=Po\u017cyczkobiorca \u2013 imi\u0119: {0}, nazwisko: {1}, data urodzenia: {2}, PESEL: {3}. 4 | zipCode= Kod pocztowy: {0} 5 | yearlyIncome= Roczny doch\u00f3d: {0} 6 | creditScore= Ocena wiarygodno\u015bci kredytowej: {0} 7 | bankruptcy= Upad\u0142o\u015b\u0107 z dnia {0} dla: {1} (zg\u0142oszona w rozdziale {2}) 8 | 9 | loan=Po\u017cyczka \u2013 kwota: {0}, data uruchomienia: {1}, czas trwania (w miesi\u0105cach): {2}, wska\u017anik LTV: {3} 10 | rate= Oprocentowanie: {0} 11 | monthlyRepayment= Wysoko\u015b\u0107 miesi\u0119cznej sp\u0142aty: {0} 12 | 13 | report= Raport \u2013 poprawne dane: {0}, zatwierdzono: {1} 14 | grade= Ocena: {0} 15 | insurance= Wymagane ubezpieczenie: {0}, wysoko\u015b\u0107 sk\u0142adki ubezpieczenia: {1} 16 | message= Komunikat: {0} 17 | -------------------------------------------------------------------------------- /standalone/samples/loan-validation-xom/src/loan/messages_pt_BR.properties: -------------------------------------------------------------------------------- 1 | #NLS_ENCODING=UNICODE 2 | #NLS_MESSAGEFORMAT_VAR 3 | borrower=Mutu\u00e1rio: Nome {0} Sobrenome {1} nascimento {2} SSN {3} 4 | zipCode= CEP {0} 5 | yearlyIncome= Renda anual {0} 6 | creditScore= Pontua\u00e7\u00e3o de Cr\u00e9dito {0} 7 | bankruptcy= Fal\u00eancia em {0} para {1} arquivada no cap\u00edtulo {2} 8 | 9 | loan=Empr\u00e9stimo: Quantia {0} In\u00edcio {1} Dura\u00e7\u00e3o {2} m\u00eas(es) Empr\u00e9stimo no valor de {3} 10 | rate= Taxa {0} 11 | monthlyRepayment= Cobran\u00e7a de pagamento mensal {0} 12 | 13 | report= Relat\u00f3rio: Dados v\u00e1lidos {0} Aprovados {1} 14 | grade= Categoria {0} 15 | insurance= Seguro necess\u00e1rio {0} Taxa de seguros {1} 16 | message= Mensagem {0} 17 | -------------------------------------------------------------------------------- /standalone/samples/loan-validation-xom/src/loan/messages_ru.properties: -------------------------------------------------------------------------------- 1 | #NLS_ENCODING=UNICODE 2 | #NLS_MESSAGEFORMAT_VAR 3 | borrower=\u0417\u0430\u0435\u043c\u0449\u0438\u043a: \u0418\u043c\u044f {0} \u0424\u0430\u043c\u0438\u043b\u0438\u044f {1} \u0414\u0430\u0442\u0430 \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f {2} \u041b\u0438\u0447\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0442\u0440\u0430\u0445\u043e\u0432\u0430\u043d\u0438\u044f {3} 4 | zipCode= \u041f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0438\u043d\u0434\u0435\u043a\u0441 {0} 5 | yearlyIncome= \u0415\u0436\u0435\u0433\u043e\u0434\u043d\u044b\u0439 \u0434\u043e\u0445\u043e\u0434 {0} 6 | creditScore= \u041a\u0440\u0435\u0434\u0438\u0442\u043d\u044b\u0439 \u0431\u0430\u043b\u043b {0} 7 | bankruptcy= \u041d\u0435\u043f\u043b\u0430\u0442\u0435\u0436\u0435\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u043d\u0430 {0} \u043f\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u043c {1} \u0432 \u0433\u043b\u0430\u0432\u0435 {2} 8 | 9 | loan=\u041a\u0440\u0435\u0434\u0438\u0442: \u0421\u0443\u043c\u043c\u0430 {0} \u0414\u0430\u0442\u0430 \u0432\u044b\u0434\u0430\u0447\u0438 {1} \u043d\u0430 \u0441\u0440\u043e\u043a {2} \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u041a\u0440\u0435\u0434\u0438\u0442/\u0430\u043a\u0442\u0438\u0432 {3} 10 | rate= \u041f\u0440\u043e\u0446\u0435\u043d\u0442\u043d\u0430\u044f \u0441\u0442\u0430\u0432\u043a\u0430 \u043f\u043e \u043a\u0440\u0435\u0434\u0438\u0442\u0443 {0} 11 | monthlyRepayment= \u0415\u0436\u0435\u043c\u0435\u0441\u044f\u0447\u043d\u043e\u0435 \u043f\u043e\u0433\u0430\u0448\u0435\u043d\u0438\u0435 {0} 12 | 13 | report= \u041e\u0442\u0447\u0435\u0442: \u041f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 {0} \u0423\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043e {1} 14 | grade= \u041e\u0446\u0435\u043d\u043a\u0430 {0} 15 | insurance= \u0421\u0443\u043c\u043c\u0430 \u0441\u0442\u0440\u0430\u0445\u043e\u0432\u043a\u0438 {0} \u0421\u0442\u0440\u0430\u0445\u043e\u0432\u0430\u044f \u0441\u0442\u0430\u0432\u043a\u0430 {1} 16 | message= \u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 {0} 17 | -------------------------------------------------------------------------------- /standalone/samples/loan-validation-xom/src/loan/messages_sq.properties: -------------------------------------------------------------------------------- 1 | #NLS_ENCODING=UNICODE 2 | #NLS_MESSAGEFORMAT_VAR 3 | borrower=[G''\uff22\uff4f\uff52\uff52\uff4f\uff57\uff45\uff52: \uff26\uff49\uff52\uff53t name [[{0}]] Last name [[{1}]] born [[{2}]] SSN [[{3}]]~r5203\u0e0f\u0e39\u0130\u0131\uff5c] 4 | zipCode= [G''\uff3a\uff49\uff50\uff43\uff4f\uff44e [[{0}]] ~r5204\u0e0f\u0e39\u0130\u0131\uff5c] 5 | yearlyIncome= [G''\uff39\uff45\uff41\uff52\uff4c\uff59 \uff49\uff4ecome [[{0}]]~r5205\u0e0f\u0e39\u0130\u0131\uff5c] 6 | creditScore= [G''\uff23\uff52\uff45\uff44\uff49\uff54 \uff33\uff43\uff4fre [[{0}]] ~r5206\u0e0f\u0e39\u0130\u0131\uff5c] 7 | bankruptcy= [G''\uff22\uff41\uff4e\uff4b\uff52\uff55\uff50\uff54\uff43\uff59 \uff4f\uff4e [[{0}]] for [[{1}]] filed under chapter [[{2}]]~r5207\u0e0f\u0e39\u0130\u0131\uff5c] 8 | 9 | loan=[G''\uff2c\uff4f\uff41\uff4e: \uff21\uff4d\uff4f\uff55\uff4e\uff54 [[{0}]] \uff33\uff54\uff41rting [[{1}]] Duration [[{2}]] month(es) Loan to value [[{3}]]~r5208\u0e0f\u0e39\u0130\u0131\uff5c] 10 | rate= [G''\uff32\uff41\uff54\uff45 [[{0}]]~r5209\u0e0f\u0e39\u0130\u0131\uff5c] 11 | monthlyRepayment= [G''\uff2d\uff4f\uff4e\uff54\uff48\uff4c\uff59 \uff52\uff45payment [[{0}]] ~r5210\u0e0f\u0e39\u0130\u0131\uff5c] 12 | 13 | report= [G''\uff32\uff45\uff50\uff4f\uff52\uff54: \uff36\uff41\uff4c\uff49\uff44 data [[{0}]] Approved [[{1}]] ~r5211\u0e0f\u0e39\u0130\u0131\uff5c] 14 | grade= [G''\uff27\uff52\uff41\uff44e [[{0}]]~r5212\u0e0f\u0e39\u0130\u0131\uff5c] 15 | insurance= [G''\uff29\uff4e\uff53\uff55\uff52\uff41\uff4e\uff43\uff45 \uff52\uff45quired [[{0}]] Insurance rate [[{1}]] ~r5213\u0e0f\u0e39\u0130\u0131\uff5c] 16 | message= [G''\uff2d\uff45\uff53\uff53\uff41ge [[{0}]]~r5214\u0e0f\u0e39\u0130\u0131\uff5c] 17 | -------------------------------------------------------------------------------- /standalone/samples/loan-validation-xom/src/loan/messages_sv.properties: -------------------------------------------------------------------------------- 1 | #NLS_ENCODING=UNICODE 2 | #NLS_MESSAGEFORMAT_VAR 3 | borrower=L\u00e5ntagare: F\u00f6rnamn {0} Efternamn {1} f\u00f6dd {2} SSN {3} 4 | zipCode= Postnummer {0} 5 | yearlyIncome= \u00c5rsinkomst {0} 6 | creditScore= Kreditpo\u00e4ng {0} 7 | bankruptcy= Konkurs {0} f\u00f6r {1} enligt kapitel {2} 8 | 9 | loan=L\u00e5n: Belopp {0} Startar {1} L\u00e4ngd {2} m\u00e5nader L\u00e5n till v\u00e4rde {3} 10 | rate= R\u00e4nta {0} 11 | monthlyRepayment= \u00c5terbetalning per m\u00e5nad {0} 12 | 13 | report= Rapport: Giltiga data {0} Godk\u00e4ndes {1} 14 | grade= Grad {0} 15 | insurance= F\u00f6rs\u00e4kring kr\u00e4vs {0} F\u00f6rs\u00e4kringsavgift {1} 16 | message= Meddelande {0} 17 | -------------------------------------------------------------------------------- /standalone/samples/loan-validation-xom/src/loan/messages_zh.properties: -------------------------------------------------------------------------------- 1 | #NLS_ENCODING=UNICODE 2 | #NLS_MESSAGEFORMAT_VAR 3 | borrower=\u501f\u6b3e\u4eba\uff1a\u540d {0} \u59d3 {1} \u751f\u65e5 {2} SSN {3} 4 | zipCode= \u90ae\u653f\u7f16\u7801 {0} 5 | yearlyIncome= \u5e74\u6536\u5165 {0} 6 | creditScore= \u4fe1\u7528\u5206\u6570 {0} 7 | bankruptcy= \u6839\u636e\u7b2c {2} \u7ae0\u63d0\u4ea4\u7684 {1} \u7684 {0} \u7834\u4ea7 8 | 9 | loan=\u8d37\u6b3e\uff1a\u91d1\u989d {0} \u5f00\u59cb\u65f6\u95f4 {1} \u6301\u7eed\u65f6\u95f4 {2} \u6708 \u8d37\u6b3e\u6210\u6570 {3} 10 | rate= \u5229\u7387 {0} 11 | monthlyRepayment= \u6bcf\u6708\u507f\u8fd8 {0} 12 | 13 | report= \u62a5\u544a\uff1a\u6709\u6548\u6570\u636e {0} \u5df2\u6279\u51c6 {1} 14 | grade= \u7b49\u7ea7 {0} 15 | insurance= \u4fdd\u989d {0} \u4fdd\u9669\u8d39\u7387 {1} 16 | message= \u6d88\u606f {0} 17 | -------------------------------------------------------------------------------- /standalone/samples/loan-validation-xom/src/loan/messages_zh_TW.properties: -------------------------------------------------------------------------------- 1 | #NLS_ENCODING=UNICODE 2 | #NLS_MESSAGEFORMAT_VAR 3 | borrower=\u501f\u7528\u4eba\uff1a\u540d\u5b57 {0} \u59d3\u6c0f {1} \u751f\u65e5 {2} SSN {3} 4 | zipCode= \u90f5\u905e\u5340\u865f {0} 5 | yearlyIncome= \u5e74\u6536\u5165 {0} 6 | creditScore= \u4fe1\u7528\u8a55\u5206 {0} 7 | bankruptcy= {1} \u65bc {0} \u7834\u7522\uff0c\u5b58\u6a94\u65bc\u7b2c {2} \u7ae0 8 | 9 | loan=\u8cb8\u6b3e\uff1a\u91d1\u984d {0} \u958b\u59cb {1} \u671f\u9593 {2} \u500b\u6708 \u8cb8\u6b3e\u6210\u6578 {3} 10 | rate= \u5229\u7387 {0} 11 | monthlyRepayment= \u6bcf\u6708\u511f\u9084 {0} 12 | 13 | report= \u5831\u544a\uff1a\u6709\u6548\u7684\u8cc7\u6599 {0} \u5df2\u6838\u51c6 {1} 14 | grade= \u7b49\u7d1a {0} 15 | insurance= \u9700\u8981\u4fdd\u96aa {0} \u4fdd\u96aa\u8cbb\u7387 {1} 16 | message= \u8a0a\u606f {0} 17 | -------------------------------------------------------------------------------- /standalone/samples/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | 5 | odm-standalone-samples 6 | com.ibm.odm.ondocker 7 | odm-standalone-samples 8 | 1.0 9 | pom 10 | 11 | 12 | 13 | UTF-8 14 | 15 | 16 | 17 | 18 | miniloan-xom 19 | loan-server 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | org.apache.maven.plugins 28 | maven-compiler-plugin 29 | 3.10.1 30 | 31 | 11 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /test/suite.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | 4 | export ret=0 5 | 6 | wait_for_url () { 7 | echo "Testing url $1 availability." 8 | 9 | if [ $# -ge 3 ] 10 | then 11 | echo "authentication is enabled." 12 | auth="-u $2:$3" 13 | fi 14 | 15 | i=0 16 | until $(curl $auth --connect-timeout 180 --output /dev/null --silent --head --fail $1); do 17 | i=$((i+1)) 18 | if [ $i -gt 10 ]; then 19 | printf "X\n" 20 | ret=1 21 | return 22 | fi 23 | printf '.' 24 | sleep 15 25 | done 26 | 27 | printf "OK\n" 28 | } 29 | 30 | check_for_docker_url () { 31 | dockerimg=$1 32 | dockerurl=$2 33 | echo "Test $dockerurl availability in $dockerimg image." 34 | 35 | docker exec -u 0:0 -ti $dockerimg bash -c " \ 36 | yum install -y iputils 37 | ping -q -c5 $dockerurl > /dev/null && \ 38 | if [ $? -eq 0 ] ; then \ 39 | echo \"OK: $dockerimg\"; \ 40 | else \ 41 | echo \"KO: $dockerimg\" \ 42 | exit 1; \ 43 | fi" 44 | echo $? 45 | if [ $? -ne 0 ]; then 46 | ret=1 47 | fi 48 | } 49 | 50 | 51 | wait_for_url http://localhost:9070/DecisionRunner 52 | wait_for_url http://localhost:9090/DecisionService resExecutor resExecutor 53 | wait_for_url http://localhost:9060/decisioncenter 54 | wait_for_url http://localhost:9080/res 55 | wait_for_url http://localhost:9080/DecisionService resExecutor resExecutor 56 | 57 | check_for_docker_url odm-ondocker_odm-decisionrunner_1 dbserver 58 | check_for_docker_url odm-ondocker_odm-decisionserverruntime_1 dbserver 59 | check_for_docker_url odm-ondocker_odm-decisionserverconsole_1 dbserver 60 | check_for_docker_url odm-ondocker_odm-decisioncenter_1 dbserver 61 | check_for_docker_url odm-ondocker_odm-decisioncenter_1 odm-decisionrunner 62 | check_for_docker_url odm-ondocker_odm-decisioncenter_1 odm-decisionserverconsole 63 | check_for_docker_url odm-ondocker_odm-decisionserverruntime_1 odm-decisionserverconsole 64 | 65 | 66 | exit $ret 67 | -------------------------------------------------------------------------------- /ums/group-security-configurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /ums/keystore.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/ums/keystore.jks -------------------------------------------------------------------------------- /ums/openIdParameters.properties: -------------------------------------------------------------------------------- 1 | OPENID_SERVER_URL=https://odm-ums1.fyre.ibm.com:9665 2 | OPENID_PROVIDER=ums 3 | OPENID_AUTHORIZATION_URL=https://odm-ums1.fyre.ibm.com:9665/oidc/endpoint/ums/authorize 4 | OPENID_TOKEN_URL=https://odm-ums1.fyre.ibm.com:9665/oidc/endpoint/ums/token 5 | OPENID_INTROSPECTION_URL=https://odm-ums1.fyre.ibm.com:9665/oidc/endpoint/ums/introspect 6 | OPENID_CLIENT_ID=umsclient4odm 7 | OPENID_CLIENT_SECRET=umssecret4odm 8 | OPENID_LOGOUT_URL=https://odm-ums1.fyre.ibm.com:9665/oidc/endpoint/ums/logout 9 | OPENID_ALLOWED_DOMAINS=odm-ums1.fyre.ibm.com:9665,odm-ums1.fyre.ibm.com 10 | -------------------------------------------------------------------------------- /ums/openIdWebSecurity.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 15 | 16 | 17 | 25 | 26 | -------------------------------------------------------------------------------- /ums/truststore.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/ums/truststore.jks -------------------------------------------------------------------------------- /welcomepage/README.md: -------------------------------------------------------------------------------- 1 | 2 | # Configuration 3 | 4 | You must configure your Liberty server to have an app.properties file: 5 | 6 | > server.xml: 7 | > ``` 8 | > 9 | > 10 | > 11 | > 12 | > 13 | > 14 | > ``` 15 | 16 | And the app.properties file should contain those 2 keys: 17 | > app.properties 18 | > ``` 19 | > dashboard=false 20 | > redirect_url=/DecisionRunner 21 | > ``` 22 | 23 | > `dashboard` is a boolean to say if we should display the Dashboard view. 24 | > In case of `dashboard` is false, `redirect_url` must be set to the url to redirect. -------------------------------------------------------------------------------- /welcomepage/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | 5 | odm-ondocker-welcomepage 6 | com.ibm.odm.ondocker 7 | odm-ondocker-welcomepage 8 | 1.0 9 | war 10 | 11 | 17 12 | 13 | 14 | 15 | 16 | org.apache.maven.plugins 17 | maven-war-plugin 18 | 3.4.0 19 | 20 | welcomepage 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | javax.servlet 29 | javax.servlet-api 30 | 3.1.0 31 | provided 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /welcomepage/src/main/java/com/ibm/odm/ondocker/AppExceptionHandler.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package com.ibm.odm.ondocker; 19 | 20 | import java.io.IOException; 21 | 22 | import javax.servlet.ServletException; 23 | import javax.servlet.annotation.WebServlet; 24 | import javax.servlet.http.HttpServlet; 25 | import javax.servlet.http.HttpServletRequest; 26 | import javax.servlet.http.HttpServletResponse; 27 | 28 | @WebServlet("/AppExceptionHandler") 29 | public class AppExceptionHandler extends HttpServlet { 30 | private static final long serialVersionUID = 1L; 31 | 32 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 33 | processError(request, response); 34 | } 35 | 36 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 37 | processError(request, response); 38 | } 39 | 40 | private void processError(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 41 | // Analyze the servlet exception 42 | Throwable throwable = (Throwable) request.getAttribute("javax.servlet.error.exception"); 43 | Integer statusCode = (Integer) request.getAttribute("javax.servlet.error.status_code"); 44 | String servletName = (String) request.getAttribute("javax.servlet.error.servlet_name"); 45 | String requestUri = (String) request.getAttribute("javax.servlet.error.request_uri"); 46 | 47 | if (servletName == null) 48 | servletName = "Unknown"; 49 | if (requestUri == null) 50 | requestUri = "Unknown"; 51 | 52 | this.getServletContext().getRequestDispatcher("/error.jsp").forward(request, response); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /welcomepage/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | RedirectServlet 9 | com.ibm.odm.ondocker.RedirectServlet 10 | 0 11 | 12 | 13 | RedirectServlet 14 | 15 | 16 | 17 | 18 | 19 | javax.servlet.ServletException 20 | /AppExceptionHandler 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /welcomepage/src/main/webapp/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/welcomepage/src/main/webapp/favicon.ico -------------------------------------------------------------------------------- /welcomepage/src/main/webapp/images/ODM-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/welcomepage/src/main/webapp/images/ODM-icon.png -------------------------------------------------------------------------------- /welcomepage/src/main/webapp/images/ibm-white-logo-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DecisionsDev/odm-ondocker/be5ee17a761d961a40edaea42bbead3d00438f68/welcomepage/src/main/webapp/images/ibm-white-logo-small.png --------------------------------------------------------------------------------