GithubHelp home page GithubHelp logo

maksimu / apigee-docker Goto Github PK

View Code? Open in Web Editor NEW

This project forked from maurogonzalez/apigee-docker

0.0 3.0 0.0 20 KB

Apigee Edge with DevPortal installation using Docker

Dockerfile 18.59% Shell 81.41%

apigee-docker's Introduction

Apigee Edge Docker 5-node installation

Overview

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.

Requirements

  • 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.

Description

  • 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 .
  • Provision with an organization and an environment.

Usage

Clone the repo

$ git clone https://github.com/maurogonzalez/apigee-docker.git

Fresh install

  1. 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.
  2. 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).
  3. Install and run the 5-node planet:
    • Run docker-compose up.
    • This could take several minutes depending on your internet bandwidth and hardware.

Start Apigee Edge

  • Run docker-compose up

Stop Apigee Edge

  • Run docker-compose stop

Test your installation:

SAML for Edge

  1. Configure your Okta account with:

  2. Modify .env and set SSO_METADATA_URL to the given Metadata URL.

  3. Access MS:

    • docker exec -it docker_apigee_node1_1 bash, or
    • docker exec -it docker_apigee_node1_1 {COMMAND}
  4. Configure SSO:

    • /opt/apigee/apigee-setup/bin/setup.sh -p sso -f /tmp/apigee/response-sso.txt
  5. Enable SSO in Edge UI:

    • /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-sso -f /tmp/apigee/response-sso.txt

NOTE:

Troubleshooting

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 docker containers

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*")

NOTES

  • 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.

References

Author

If you have any questions regarding this project contact:
Mauro González [email protected]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.