Zowe API Mediation Layer
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Update issue templates Jan 21, 2019
.licence initial commit to the zowe org Oct 30, 2018
api-catalog-services hotfix/utf8 problem (#221) Jan 30, 2019
api-catalog-ui Prevent div from spilling (#228) Feb 4, 2019
apiml-auth Updated development documentation and ability to read EBCDIC certific… Jan 15, 2019
codequality/checkstyle Remove ImportOrder from checkstyle.xml (#113) Nov 13, 2018
common-service-core Secure initialization of the JWT token service secret from APIML priv… Jan 15, 2019
config Change z/OSMF service Id Jan 25, 2019
design-decisions initial commit to the zowe org Oct 30, 2018
discoverable-client hotfix/utf8 problem (#221) Jan 30, 2019
discovery-service Add debug profile for APIML Jan 9, 2019
docs Update manual test guidelines (#218) Jan 28, 2019
gateway-common API Mediation Health Indicator Jan 21, 2019
gateway-service Add page icon for GW HP (#220) Jan 29, 2019
gradle Remove gradle wrapper (#211) Jan 24, 2019
helloworld-expressjs Trust z/OSMF and external certificates (#152) Dec 13, 2018
helloworld-jersey Fix of java-enabler and helloworld-jersey (#174) Jan 9, 2019
helloworld-spring Fix of java-enabler and helloworld-jersey (#174) Jan 9, 2019
integration-enabler-java Fix of java-enabler and helloworld-jersey (#174) Jan 9, 2019
integration-enabler-spring-v1-sample-app HTTPS in Discovery Service (#101) Nov 16, 2018
integration-enabler-spring-v1 HTTPS in Discovery Service (#101) Nov 16, 2018
integration-enabler-spring-v2 HTTPS for integration-enabler-spring-v2 Nov 27, 2018
integration-tests zosmf hostname changed to usilca32.ca.com Feb 13, 2019
keystore APIML authentication service for zLUX (#183) Jan 12, 2019
scripts Remove gradle wrapper (#211) Jan 24, 2019
security-module Add integration tests Jan 21, 2019
zlux-api-catalog Add z/OSMF provider (#184) Jan 12, 2019
zowe-install Configurable z/OSMF keyring and user in Zowe Installation (#217) Jan 27, 2019
.codecov.yml Add Codecov to the pipeline (#123) Nov 19, 2018
.editorconfig initial commit to the zowe org Oct 30, 2018
.gitignore Remove gradle wrapper (#211) Jan 24, 2019
CONTRIBUTING.md initial commit to the zowe org Oct 30, 2018
Jenkinsfile Remove gradle wrapper (#211) Jan 24, 2019
LICENSE initial commit to the zowe org Oct 30, 2018
README.md Add SonarQube badge (#239) Feb 15, 2019
bootstrap_gradlew.bat Remove gradle wrapper (#211) Jan 24, 2019
bootstrap_gradlew.sh Remove gradle wrapper (#211) Jan 24, 2019
build.gradle Automatic release (#162) Dec 15, 2018
gradle.properties [Gradle Release plugin] Create new version: 'v1.0.1-SNAPSHOT'. Jan 30, 2019
gradlew Set gradlew +x Oct 30, 2018
gradlew.bat initial commit to the zowe org Oct 30, 2018
lombok.config initial commit to the zowe org Oct 30, 2018
package.json APIML authentication service for zLUX (#183) Jan 12, 2019
settings.gradle Pet controller for discoverable client and unit tests (#182) Jan 16, 2019

README.md

api-layer

Build Status

codecov Waffle.io - Columns and their card count

SonarQube

The home of Zowe API Mediation Layer

Prequisites

Following platform is required to run the API Mediation Layer:

Other development prerequisites

Following tools are required to build and develop API Mediation Layer:

Quick start

Build all modules:

./gradlew build

You need to install concurrently globally:

npm install -g concurrently

Run all service on local machine:

npm run api-layer

Setting up connection to z/OSMF

z/OSMF is required for the API Catalog login. You need to configure a valid z/OSMF instance to config/local/api-defs/zosmf-sample.yml under the instanceBaseUrls.

The certificate of z/OSMF needs to be trusted by APIML. You have to options:

  1. Import it to the APIML keystore using scripts/apiml_cm.sh --action trust as desribed at Trust certificates of other services

  2. Disable certificate validation as described in Disabling certificate validation on localhost

Run unit tests

Unit tests for Java and TypeScript modules are executed as a part of the build process.

Measure code coverage

For the code coverage of all modules, run:

./gradlew coverage

The code coverage for new code should be higher that 60% and should not be decreased for existing code.

The reports in HTML format are stored build/reports/jacoco/test/html/index.html for each Java module.

For the code coverage of a single Java module (for example discovery-service), run:

./gradlew :discovery-service:jacocoTestReport

You can an individual test class by:

./gradlew :discovery-service:test --tests com.ca.mfaas.discovery.staticdef.ServiceDefinitionProcessorTest

Run integration tests

Follow the instructions in Integration Tests to run integration tests.

Security

For more information about how the certificates between APIML services are setup, see TLS Certificates for localhost.

Contributor guidelines

Follow the guidelines in Contributing to add new functionality.

Local configuration of services

Follow the guidelines in Local Configuration to set local environment properties for testing on your local machine include HTTPS setup.

Also if you use IntelliJ IDEA, see learn how to configure Run Dashboard to use these local configurations.

Adding services that does not support API Mediation Layer natively

See Adding Services to API Gateway without Code Changes.

API Catalog UI

For more information about the UI of the Catalog see its README.