This project installs and runs a 5-node Apigee Edge for Private Cloud 4.17.09 with Developer Services portal using docker containers for testing purposes only.
Optionally you can install Saml on Edge.
The steps of the docker-composer.yml could be used as a guide for the installation. Please note the wait-for-it commands that enforce the containers to be ran in the correct order.
To see a complete list of system requirements, OS settings, supported software and full installation steps please refer to the Official Documentation.
- docker >= 17.05.0-ce
- docker-compose >= 1.11.2
It's recommended to have more than 8GB of RAM to run the 6 containers and *nix OS.
-
Builds an Apigee 4.17.09 image with the apigee-setup-utility that will run Centos7 with OpenJDK 1.8.
-
Installs 5-node Apigee Edge planet and Developer portal:
- node1:
- ZK, CS, OpenLDAP, MS and UI.
- node2:
- ZK, CS and RMP.
- node3:
- ZK, CS and RMP.
- node4:
- PS, PG master, QS and QPID.
- node5:
- PS, PG standby, QS and QPID.
- node6:
- Developer Services portal .
- node1:
-
Provision with an organization and an environment.
$ git clone https://github.com/maurogonzalez/apigee-docker.git
- Set
.env
file:- ADMIN_USER: MS admin user and OrgAdmin user.
- ADMIN_PWD: MS admin user, OpenLDAP password and Org Admin user.
- ORG: organization name used in the provisioning.
- ORG_ENV: environment name used in the provisioning.
- Build the Apigee base image. This will create a local Docker image with the apigee-setup utility:
- Run
./build_apigee_base.sh
. - This will ask for your apigee credentials (software.apigee.com) and the path of the license (this should be in the project folder).
- Run
- Install and run the 5-node planet:
- Run
docker-compose up
. - This could take several minutes depending on your internet bandwidth and hardware.
- Run
- Run
docker-compose up
- Run
docker-compose stop
- Edge UI: http://10.5.0.2:9000
- MS API: http://10.5.0.2:8080/v1
- DevPortal: http://10.5.0.7:8079
- Proxy Endpoint:
- Router on node 2: http://10.5.0.3:9001/{PROXY_BASE_PATH}
- Router on node 3: http://10.5.0.4:9001/{PROXY_BASE_PATH}
-
Configure your Okta account with:
- Single sign on URL: http://10.5.0.2:9099/saml/SSO/alias/apigee-saml-login-opdk
- Audience URI: apigee-saml-login-opdk
- SAML Issuer ID (Show Advanced Settings): okta
-
Modify .env and set SSO_METADATA_URL to the given Metadata URL.
-
Access MS:
docker exec -it docker_apigee_node1_1 bash
, ordocker exec -it docker_apigee_node1_1 {COMMAND}
-
Configure SSO:
/opt/apigee/apigee-setup/bin/setup.sh -p sso -f /tmp/apigee/response-sso.txt
-
Enable SSO in Edge UI:
/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-sso -f /tmp/apigee/response-sso.txt
NOTE:
- Please take a look into Edge Users with SSO before enabling SSO.
List running containers:
docker ps -f "name=docker_apigee*"
List existing containers:
docker ps -a -f "name=docker_apigee*"
Access a running container:
docker exec -it apigeedocker_apigee_node{NODE_NUMBER}_1 bash
Run a command inside a running container:
docker exec -it apigeedocker_apigee_node{NODE_NUMBER}_1 {COMMAND}
Remove containers:
- Single container:
docker rm {DOCKER_CONTAINER_ID}
- All containers:
docker rm $(docker ps -aq -f "name=apigeedocker_apigee*")
Remove docker volumes:
docker volume rm $(docker volume ls -q -f "name=apigeedocker_apigee*")
- This will have your apigee license so DO NOT push it to a public docker registry.
- This is only for testing DO NOT use in production.
If you have any questions regarding this project contact:
Mauro González jmajma8@gmail.com