Giter Site home page Giter Site logo

taban03 / api-layer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ilkinabdullayev/api-layer

0.0 0.0 0.0 4.71 MB

Zowe API Mediation Layer

Home Page: https://app.zenhub.com/workspaces/api-layer-5c7e802bcfa1d10365963ef7/board?repos=157852345

License: Eclipse Public License 2.0

Java 82.14% Shell 0.96% HTML 0.64% JavaScript 8.78% CSS 7.12% Python 0.24% Batchfile 0.02% C 0.10%

api-layer's Introduction

API Mediation Layer

Build Status

codecov Quality Gate Status

The home of Zowe API Mediation Layer

Prerequisites

Following platform is required to run the API Mediation Layer:

Other development prerequisites

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

  • Node.js and npm are required to be installed globally to be able to build the API Catalog UI

Quick start

  1. Install the package manager pnpm globally in order to build the project:

    npm add -g pnpm
  2. Install npm packages for the UI:

    cd api-catalog-ui/frontend/; pnpm install; cd ../..
  3. Install concurrently globally:

    npm install -g concurrently
  4. Build all modules:

    ./gradlew build
  5. Run all service on local machine:

    npm run api-layer

Authentication service

The API Mediation Layer uses a dummy authentication provides as a default security provider for the development purposes. To log in, use user as username and password.

(Optional) z/OSMF Authentication

Perform the following steps to use the real authentication service:

  1. Configure a valid z/OSMF instance using the following sample configuration config/local/api-defs/zosmf-sample.yml.

  2. Modify gateway-service.yml with a z/OSMF configuration

apiml:
    security:
        auth:
            provider: zosmf
            zosmfServiceId: zosmfId  # Replace me with the z/OSMF service id

Ensure that the z/OSMF certificate is trusted by APIML. You have two options:

  1. Import the certificate to the APIML keystore using scripts/apiml_cm.sh --action trust as described at Trust certificates of other services The apiml_cm.sh script has been moved to zowe-install-packaging repository

  2. Disable certificate validation. For more information, see 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 org.zowe.apiml.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.

If you use Visual Studio Code, see how to configure it to develop and debug 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.

api-layer's People

Contributors

plavjanik avatar zowe-robot avatar giza-jenkins avatar taban03 avatar jirkaaichler avatar oupvo01 avatar jandadav avatar vsev0lod avatar balhar-jakub avatar markackert avatar stevenhorsman avatar arxioly avatar jackjia-ibm avatar vvvlc avatar pj892031 avatar pinpan avatar vit-tomica avatar crshnburn avatar dkelosky avatar startup-engineer avatar melva02 avatar 1000turquoisepogs avatar janan07 avatar trode05 avatar igorcatech avatar nakulmanchanda avatar crawr avatar vitekvlcek-broadcom avatar petr-galik avatar

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.