Added docker compose files for Webhook, Sandbox and GCL. Also, updated the shell script with variables name for each docker file

This commit is contained in:
prasad-takale-eminds
2024-05-07 15:05:08 +05:30
parent ecfb28f14d
commit 8d76cb6697
6 changed files with 227 additions and 26 deletions

View File

@@ -76,7 +76,7 @@ install_gateway() {
bash scripts/update_gateway_details.sh registry
fi
echo "${GREEN}................Installing Gateway service................${NC}"
start_container "docker-compose-gateway.yml" gateway
start_container $gateway_docker_compose_file gateway
echo "Registering Gateway in the registry"
sleep 10
@@ -98,7 +98,7 @@ install_registry(){
fi
echo "${GREEN}................Installing Registry service................${NC}"
start_container "docker-compose-registry.yml" registry
start_container $registry_docker_compose_file registry
sleep 10
echo "Registry installation successful"
}
@@ -124,8 +124,8 @@ install_bap_protocol_server(){
docker run --rm -v $SCRIPT_DIR/../protocol-server-data:/source -v bap_network_config_volume:/target busybox cp /source/bap-network.yaml-sample /target
docker rmi busybox
start_container "docker-compose-bap.yml" "bap-client"
start_container "docker-compose-bap.yml" "bap-network"
start_container $bap_docker_compose_file "bap-client"
start_container $bap_docker_compose_file "bap-network"
sleep 10
echo "Protocol server BAP installation successful"
}
@@ -156,8 +156,8 @@ install_bpp_protocol_server(){
docker run --rm -v $SCRIPT_DIR/../protocol-server-data:/source -v bpp_network_config_volume:/target busybox cp /source/bpp-network.yaml-sample /target
docker rmi busybox
start_container "docker-compose-bpp.yml" "bpp-client"
start_container "docker-compose-bpp.yml" "bpp-network"
start_container $bpp_docker_compose_file "bpp-client"
start_container $bpp_docker_compose_file "bpp-network"
sleep 10
echo "Protocol server BPP installation successful"
}

View File

@@ -0,0 +1,70 @@
services:
bpp-client:
image: fidedocker/protocol-server
container_name: bpp-client
networks:
- beckn_network
ports:
- 6001:6001
restart: unless-stopped
volumes:
- bpp_client_config_volume:/usr/src/app/config
- bpp_client_schemas_volume:/usr/src/app/schemas
- bpp_client_logs_volume:/usr/src/app/logs
bpp-network:
image: fidedocker/protocol-server
container_name: bpp-network
networks:
- beckn_network
ports:
- 6002:6002
restart: unless-stopped
volumes:
- bpp_network_config_volume:/usr/src/app/config
- bpp_network_schemas_volume:/usr/src/app/schemas
- bpp_network_logs_volume:/usr/src/app/logs
sandbox-api:
image: fidedocker/sandbox-api
container_name: sandbox-api
networks:
- beckn_network
ports:
- 4010:4000
restart: unless-stopped
sandbox-webhook:
image: fidedocker/sandbox-webhook-api
depends_on:
- sandbox-api
container_name: sandbox-webhook
networks:
- beckn_network
ports:
- 3005:3005
restart: unless-stopped
volumes:
- ./ENV/.env-webhook:/usr/src/app/.env
networks:
beckn_network:
name: beckn_network
driver: bridge
volumes:
bpp_client_config_volume:
name: bpp_client_config_volume
external: true
bpp_client_schemas_volume:
name: bpp_client_schemas_volume
bpp_client_logs_volume:
name: bpp_client_logs_volume
bpp_network_config_volume:
name: bpp_network_config_volume
external: true
bpp_network_schemas_volume:
name: bpp_network_schemas_volume
bpp_network_logs_volume:
name: bpp_network_logs_volume

View File

@@ -0,0 +1,122 @@
services:
registry:
image: fidedocker/registry
container_name: registry
networks:
- beckn_network
ports:
- 3000:3000
- 3030:3030
restart: unless-stopped
volumes:
- registry_data_volume:/registry/overrideProperties/config
- registry_database_volume:/registry/database
gateway:
image: fidedocker/gateway
container_name: gateway
networks:
- beckn_network
ports:
- 4000:4000
- 4030:4030
restart: unless-stopped
volumes:
- gateway_data_volume:/gateway/overrideProperties/config
- gateway_database_volume:/gateway/database
bap-client:
image: fidedocker/protocol-server
container_name: bap-client
networks:
- beckn_network
ports:
- 5001:5001
restart: unless-stopped
volumes:
- ./protocol-server-data/bap-client.yml:/usr/src/app/config/default.yml
bap-network:
image: fidedocker/protocol-server
container_name: bap-network
networks:
- beckn_network
ports:
- 5002:5002
restart: unless-stopped
volumes:
- ./protocol-server-data/bap-network.yml:/usr/src/app/config/default.yml
sandbox-api:
image: fidedocker/sandbox-api
container_name: sandbox-api
networks:
- beckn_network
ports:
- 4010:4000
restart: unless-stopped
sandbox-webhook:
image: fidedocker/sandbox-webhook-api
depends_on:
- sandbox-api
container_name: sandbox-webhook
networks:
- beckn_network
ports:
- 3005:3005
restart: unless-stopped
volumes:
- ./ENV/.env-webhook:/usr/src/app/.env
bpp-client:
image: fidedocker/protocol-server
container_name: bpp-client
networks:
- beckn_network
ports:
- 6001:6001
restart: unless-stopped
volumes:
- ./protocol-server-data/bpp-client.yml:/usr/src/app/config/default.yml
bpp-network:
image: fidedocker/protocol-server
container_name: bpp-network
networks:
- beckn_network
ports:
- 6002:6002
restart: unless-stopped
volumes:
- ./protocol-server-data/bpp-network.yml:/usr/src/app/config/default.yml
generic-client-layer:
image: fidedocker/generic-client-layer
container_name: generic-client-layer
networks:
- beckn_network
ports:
- 3015:3000
restart: unless-stopped
volumes:
- ./ENV/.env-generic-client-layer:/app/.env
networks:
beckn_network:
name: beckn_network
driver: bridge
volumes:
registry_data_volume:
name: registry_data_volume
external: true
registry_database_volume:
name: registry_database_volume
external: true
gateway_data_volume:
name: gateway_data_volume
external: true
gateway_database_volume:
name: gateway_database_volume
external: true

View File

@@ -51,3 +51,10 @@ bpp_subscriber_id="bpp-network"
bpp_subscriber_key_id="bpp-network-key"
bpp_subscriber_url="http://bpp-network:6002"
webhook_url="http://sandbox-webhook:3005"
bpp_docker_compose_file=docker-compose-bpp.yml
bpp_docker_compose_file_sandbox=docker-compose-bpp-with-sandbox.yml
bap_docker_compose_file=docker-compose-bap.yml
registry_docker_compose_file=docker-compose-registry.yml
gateway_docker_compose_file=docker-compose-gateway.yml
gcl_docker_compose_file=docker-compose-gcl.yml

View File

@@ -12,15 +12,15 @@ start_container(){
#below function will start the MongoDB, Redis and RabbitMQ Services.
start_support_services(){
echo "${GREEN}................Installing MongoDB................${NC}"
docker-compose -f docker-compose-app.yml up -d mongo_db
docker compose -f docker-compose-app.yml up -d mongo_db
echo "MongoDB installation successful"
echo "${GREEN}................Installing RabbitMQ................${NC}"
docker-compose -f docker-compose-app.yml up -d queue_service
docker compose -f docker-compose-app.yml up -d queue_service
echo "RabbitMQ installation successful"
echo "${GREEN}................Installing Redis................${NC}"
docker-compose -f docker-compose-app.yml up -d redis_db
docker compose -f docker-compose-app.yml up -d redis_db
echo "Redis installation successful"
}
# Main script starts here

View File

@@ -12,7 +12,7 @@ install_package(){
start_container(){
#ignore orphaned containers warning
export COMPOSE_IGNORE_ORPHANS=1
docker-compose -f docker-compose-v2.yml up -d $1
docker compose -f $1 up -d $2
}
update_registry_details() {
@@ -54,15 +54,15 @@ start_support_services(){
#ignore orphaned containers warning
export COMPOSE_IGNORE_ORPHANS=1
echo "${GREEN}................Installing MongoDB................${NC}"
docker-compose -f docker-compose-app.yml up -d mongo_db
docker compose -f docker-compose-app.yml up -d mongo_db
echo "MongoDB installation successful"
echo "${GREEN}................Installing RabbitMQ................${NC}"
docker-compose -f docker-compose-app.yml up -d queue_service
docker compose -f docker-compose-app.yml up -d queue_service
echo "RabbitMQ installation successful"
echo "${GREEN}................Installing Redis................${NC}"
docker-compose -f docker-compose-app.yml up -d redis_db
docker compose -f docker-compose-app.yml up -d redis_db
echo "Redis installation successful"
}
@@ -73,7 +73,7 @@ install_gateway() {
bash scripts/update_gateway_details.sh registry
fi
echo "${GREEN}................Installing Gateway service................${NC}"
start_container gateway
start_container $gateway_docker_compose_file gateway
echo "Registering Gateway in the registry"
sleep 10
@@ -95,7 +95,7 @@ install_registry(){
fi
echo "${GREEN}................Installing Registry service................${NC}"
start_container registry
start_container $registry_docker_compose_file registry
sleep 10
echo "Registry installation successful"
}
@@ -113,8 +113,8 @@ install_bap_protocol_server(){
bash scripts/update_bap_config.sh
fi
sleep 10
start_container "bap-client"
start_container "bap-network"
start_container $bap_docker_compose_file "bap-client"
start_container $bap_docker_compose_file "bap-network"
sleep 10
echo "Protocol server BAP installation successful"
}
@@ -123,12 +123,12 @@ install_bap_protocol_server(){
install_bpp_protocol_server_with_sandbox(){
start_support_services
echo "${GREEN}................Installing Sandbox................${NC}"
start_container "sandbox-api"
start_container $bpp_docker_compose_file_sandbox "sandbox-api"
sleep 5
echo "Sandbox installation successful"
echo "${GREEN}................Installing Webhook................${NC}"
start_container "sandbox-webhook"
start_container $bpp_docker_compose_file_sandbox "sandbox-webhook"
sleep
echo "Webhook installation successful"
@@ -139,14 +139,15 @@ install_bpp_protocol_server_with_sandbox(){
bpp_subscriber_id=$2
bpp_subscriber_key_id=$3
bpp_subscriber_url=$4
bash scripts/update_bpp_config.sh $registry_url $bpp_subscriber_id $bpp_subscriber_key_id $bpp_subscriber_url
webhook_url=$5
bash scripts/update_bpp_config.sh $registry_url $bpp_subscriber_id $bpp_subscriber_key_id $bpp_subscriber_url $webhook_url
else
bash scripts/update_bpp_config.sh
fi
sleep 10
start_container "bpp-client"
start_container "bpp-network"
start_container $bpp_docker_compose_file_sandbox "bpp-client"
start_container $bpp_docker_compose_file_sandbox "bpp-network"
sleep 10
echo "Protocol server BPP installation successful"
}
@@ -168,8 +169,8 @@ install_bpp_protocol_server(){
fi
sleep 10
start_container "bpp-client"
start_container "bpp-network"
start_container $bpp_docker_compose_file "bpp-client"
start_container $bpp_docker_compose_file "bpp-network"
sleep 10
echo "Protocol server BPP installation successful"
}
@@ -276,12 +277,13 @@ else
4)
read -p "Enter BPP Subscriber ID: " bpp_subscriber_id
read -p "Enter BPP Subscriber URL: " bpp_subscriber_url
read -p "Enter Webhook URL: " webhook_url
# Ask the user if they want to change the registry_url
read -p "Do you want to change the registry_url? (${GREEN}Press Enter to accept default: $beckn_registry_url${NC}): " custom_registry_url
registry_url=${custom_registry_url:-$beckn_registry_url}
bpp_subscriber_key_id=$bpp_subscriber_id-key
install_package
install_bpp_protocol_server_with_sandbox $registry_url $bpp_subscriber_id $bpp_subscriber_key_id $bpp_subscriber_url
install_bpp_protocol_server_with_sandbox $registry_url $bpp_subscriber_id $bpp_subscriber_key_id $bpp_subscriber_url $webhook_url
;;
5)
read -p "Enter BPP Subscriber ID: " bpp_subscriber_id
@@ -302,7 +304,7 @@ else
read -p "Enter BAP Subscriber URL: " bap_subscriber_url
read -p "Enter BAP Client URL: " bap_client_url
bash scripts/generic-client-layer.sh $bap_subscriber_id $bap_subscriber_url $bap_client_url
start_container "generic-client-layer"
start_container $gcl_docker_compose_file "generic-client-layer"
;;
7)