You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by an...@apache.org on 2019/11/23 10:12:22 UTC

[fineract-cn-docker-compose] 08/48: Merge remote-tracking branch 'anh3h/master' into anh3h_master Make it work with mac

This is an automated email from the ASF dual-hosted git repository.

angeh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/fineract-cn-docker-compose.git

commit 7c2009e2d4313ede49076d551e124f533a6a18d6
Merge: 4cadf2c a5e833a
Author: Juhan Aasaru <Ju...@nortal.com>
AuthorDate: Tue Sep 10 15:42:17 2019 +0300

    Merge remote-tracking branch 'anh3h/master' into anh3h_master
    Make it work with mac

 README.md                         |   7 ++-
 docker-compose.yml                | 120 ++++++++++++++++++++++++++++++++------
 env_variables                     |  15 +++++
 external_tools/docker-compose.yml |   6 ++
 start-up.sh                       |  26 +++++++++
 5 files changed, 154 insertions(+), 20 deletions(-)

diff --cc README.md
index c516bb1,2c38ea2..c0573e9
--- a/README.md
+++ b/README.md
@@@ -5,7 -5,10 +5,12 @@@ This project contains Docker Compose Sc
  - Docker
  - Docker-compose
  
 -## Perquisites
++## Automatic or manual provisioning
++
++You can either try to provision automatically using bash script `bash start-up.sh`
++Or you could achieve the same state by manually following the instructions below:
+ 
 -### Start-up Fineract CN microservices using bash script
 - `bash start-up.sh`
 +## Perquisites
  
  ### Generate .env file with RSA keys
  `java -cp external_tools/lang-0.1.0-BUILD-SNAPSHOT.jar  org.apache.fineract.cn.lang.security.RsaKeyPairFactory UNIX > .env`
diff --cc docker-compose.yml
index d110ee2,af2648c..21717c7
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@@ -30,7 -30,8 +30,9 @@@ services
          delay: 10s
          max_attempts: 3
      networks:
-       - external_tools_default
+       external_tools_default:
 -        ipv4_address: 172.16.238.6
++      fineract:
++        ipv4_address: ${PROVISIONER_IP}
  
    identity-ms:
      image: apache/fineract-cn-identity:0.0.1-M.1 # TODO replace with latest
@@@ -56,9 -57,10 +58,11 @@@
          delay: 10s
          max_attempts: 3
      networks:
-       - external_tools_default
+       external_tools_default:
 -        ipv4_address: 172.16.238.7
++      fineract:
++        ipv4_address: ${IDENTITY_IP}
  
- # TODO HAS ERRORS:
 -# HAS ERRORS:
++  # TODO HAS ERRORS:
  #  rhythm-ms:
  #    image: apache/fineract-cn-rhythm:latest
  #    environment:
@@@ -76,7 -78,8 +80,9 @@@
  #      restart_policy:
  #        condition: on-failure
  #    networks:
- #      - external_tools_default
 -#        external_tools_default:
 -#          ipv4_address: 172.16.238.8
++#      external_tools_default:
++#      fineract:
++#          ipv4_address: ${RHYTHM_IP}
  
  
    office-ms:
@@@ -97,7 -100,8 +103,9 @@@
        system.privateKey.exponent: ${PRIVATE_KEY_EXPONENT}
        system.privateKey.modulus: ${PRIVATE_KEY_MODULUS}
      networks:
-       - external_tools_default
+       external_tools_default:
 -        ipv4_address: 172.16.238.9
++      fineract:
++        ipv4_address: ${OFFICE_IP}
  
    customer-ms:
      image: apache/fineract-cn-customer:latest
@@@ -115,9 -119,10 +123,11 @@@
        system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
        system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
      networks:
-       - external_tools_default
+       external_tools_default:
 -        ipv4_address: 172.16.238.10
++      fineract:
++        ipv4_address: ${CUSTOMER_IP}
  
 -  ledger-ms:
 +  accounting-ms:
      ports:
        - "2025:2025"
      image: apache/fineract-cn-accounting:latest
@@@ -133,7 -138,8 +143,9 @@@
        system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
        system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
      networks:
-       - external_tools_default
+       external_tools_default:
 -        ipv4_address: 172.16.238.11
++      fineract:
++        ipv4_address: ${ACCOUNTING_IP}
  
    portfolio-ms:
      image: apache/fineract-cn-portfolio:latest
@@@ -150,7 -156,8 +162,8 @@@
        system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
        system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
      networks:
-       - external_tools_default
+       external_tools_default:
 -        ipv4_address: 172.16.238.12
++        ipv4_address: ${PORTFOLIO_IP}
  
    deposit-account-management-ms:
      image: apache/fineract-cn-deposit-account-management:latest
@@@ -168,7 -175,8 +181,9 @@@
        system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
        system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
      networks:
-       - external_tools_default
+       external_tools_default:
 -        ipv4_address: 172.16.238.13
++      fineract:
++        ipv4_address: ${DEPOSIT_ACCOUNT_MANAGEMENT_IP}
  
    teller-ms:
      image: apache/fineract-cn-teller:latest
@@@ -186,7 -194,8 +201,9 @@@
        system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
        system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
      networks:
-       - external_tools_default
+       external_tools_default:
 -        ipv4_address: 172.16.238.14
++      fineract:
++        ipv4_address: ${TELLER_IP}
  
    reporting-ms:
      image: apache/fineract-cn-reporting:latest
@@@ -204,10 -213,8 +221,29 @@@
        system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
        system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
      networks:
-       - external_tools_default
- #
- # TODO add checques-ms
- #
+       external_tools_default:
 -        ipv4_address: 172.16.238.15
++      fineract:
++        ipv4_address: ${REPORTING_IP}
++
++  cheques-ms:
++    image: apache/fineract-cn-reporting:latest
++    ports:
++      - "2030:2030"
++    environment:
++      activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
++      cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
++      eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
++      eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
++      postgresql.host: ${POSTGRESQL_HOST}
++      ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
++      spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
++      system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
++      system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
++      system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
++    networks:
++      external_tools_default:
++      fineract:
++        ipv4_address: ${CHEQUES_IP}
  
    payroll-ms:
      image: apache/fineract-cn-payroll:latest
@@@ -225,19 -232,50 +261,65 @@@
        system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
        system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
      networks:
-       - external_tools_default
- #
- # TODO group-ms
- #
+       external_tools_default:
 -        ipv4_address: 172.16.238.16
++      fineract:
++        ipv4_address: ${PAYROLL_IP}
+ 
+   group-ms:
+     image: apache/fineract-cn-group:latest
+     ports:
+       - "2032:2032"
+     environment:
+       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
+       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
+       eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
+       postgresql.host: ${POSTGRESQL_HOST}
+       ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
+       spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
+       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
+       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
+       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
+     networks:
+       external_tools_default:
 -        ipv4_address: 172.16.238.17
++      fineract:
++        ipv4_address: ${GROUP_IP}
++
++  notification-ms:
++    image: apache/fineract-cn-notification:latest
++    ports:
++     - "2033:2033"
++    environment:
++      activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
++      cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
++      eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
++      eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
++      postgresql.host: ${POSTGRESQL_HOST}
++      ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
++      spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
++      system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
++      system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
++      system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
++    networks:
++      external_tools_default:
++        ipv4_address: ${NOTIFICATION_IP}
  
 -  # Docker image is not yet available
 -  # notification-ms:
 -  #     image: apache/fineract-cn-notification:latest
 -  #     ports:
 -  #       - "2033:2033"
 -  #     environment:
 -  #       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
 -  #       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
 -  #       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
 -  #       eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
 -  #       postgresql.host: ${POSTGRESQL_HOST}
 -  #       ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
 -  #       spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
 -  #       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
 -  #       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
 -  #       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
 -  #     networks:
 -  #       external_tools_default:
 -  #         ipv4_address: 172.16.238.18
 +  fims-web-app:
 +    image: aasaru/fineract-cn-fims-web-app:latest # TODO switch to apache repo
 +    ports:
 +      - "8888:8888"
 +    networks:
-       - external_tools_default
++      external_tools_default:
++      fineract:
++        ipv4_address: ${FIMS_WEB_APP_IP}
+ 
  
  networks:
    external_tools_default:
      external:
        name: external_tools_default
++  fineract:
++    driver: bridge
++    ipam:
++      config:
++        - subnet: 172.16.238.0/26
diff --cc env_variables
index 16cc9ae,16cc9ae..2613508
--- a/env_variables
+++ b/env_variables
@@@ -13,3 -13,3 +13,18 @@@ POSTGRESQL_PORT=543
  POSTGRESQL_USER=postgres
  RIBBON_EUREKA_SERVER=eureka:9090
  SYSTEM_INITIAL_CLIENT_ID=service-runner
++FIMS_WEB_APP_IP=172.16.238.19
++PROVISIONER_IP=172.16.238.20
++IDENTITY_IP=172.16.238.21
++RHYTHM_IP=172.16.238.22
++OFFICE_IP=172.16.238.23
++CUSTOMER_IP=172.16.238.24
++ACCOUNTING_IP=172.16.238.25
++PORTFOLIO_IP=172.16.238.26
++DEPOSIT_ACCOUNT_MANAGEMENT_IP=172.16.238.27
++TELLER_IP=172.16.238.28
++REPORTING_IP=172.16.238.29
++CHEQUES_IP=172.16.238.30
++PAYROLL_IP_IP=172.16.238.31
++GROUP_IP=172.16.238.32
++NOTIFICATION_IP=172.16.238.33
diff --cc external_tools/docker-compose.yml
index 1f30a07,1f30a07..f6aec16
--- a/external_tools/docker-compose.yml
+++ b/external_tools/docker-compose.yml
@@@ -69,3 -69,3 +69,9 @@@ volumes
    cassandra-volume:
    postgres-volume:
  
++networks:
++  default:
++    driver: bridge
++    ipam:
++      config:
++        - subnet: 172.16.238.64/29
diff --cc start-up.sh
index 0000000,14a2fdf..97deace
mode 000000,100755..100755
--- a/start-up.sh
+++ b/start-up.sh
@@@ -1,0 -1,29 +1,26 @@@
+ #!/bin/sh
+ set -e
+ 
 -echo "Createing docker service network"
 -docker network create --driver=bridge --subnet=172.16.238.0/24 external_tools_default
 -
+ cd external_tools/
+ docker-compose up -d
+ cassandra_ip=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' cassandra)
+ postgres_ip=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' postgres)
+ 
+ # #Test Cassandra and Postgres
+ echo "Waiting for Cassandra and Postgres ..."
+ while ! nc -z "${cassandra_ip}" 9042 ; do
+   sleep 1
+ done
+ while ! nc -z "${postgres_ip}" 5432 ; do
+   sleep 1
+ done
+ echo "Cassandra and Postgres are up and running..."
+ cd ..
+ 
+ echo "Starting up Fineract CN microservices..."
+ wget https://mifos.jfrog.io/mifos/libs-snapshot-local/org/apache/fineract/cn/lang/0.1.0-BUILD-SNAPSHOT/lang-0.1.0-BUILD-SNAPSHOT.jar
+ java -cp lang-0.1.0-BUILD-SNAPSHOT.jar org.apache.fineract.cn.lang.security.RsaKeyPairFactory UNIX > .env
+ cat env_variables >> .env
+ 
+ docker-compose up -d
+ echo "Successfully started fineract services."