All Projects → oms-services → Github

oms-services / Github

Licence: mit
GitHub API as an Open Microservice

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Github

Parallel
A golang parallel library, used for business logic aggregation and refactory without changing user function declaration.
Stars: ✭ 67 (-17.28%)
Mutual labels:  microservice
Skrop
Image transformation service using libvips, based on Skipper.
Stars: ✭ 71 (-12.35%)
Mutual labels:  microservice
Agilework
可视化低代码快速开发平台,面向业务、企业管理系统定制开发平台和应用平台,包括设计器、应用端。提供业务配置和集成开发能力,用户通过可视化拖拉拽配置式操作即可快速构建出能同时在PC和移动端运行的各类管理系统,对于企业客户的信息系统在管理模式、业务流程、表单界面、数据可视化展示、IoT管控等个性化需求,可以通过设计器,快速的进行个性化配置。并支持企业微信,公众号,钉钉等移动集成,实现用户跨区域移动办公。从而构建企业个性化的行业应用、集成应用和复杂的业务报表。
Stars: ✭ 76 (-6.17%)
Mutual labels:  microservice
Event Sourcing Castanha
An Event Sourcing service template with DDD, TDD and SOLID. It has High Cohesion and Loose Coupling, it's a good start for your next Microservice application.
Stars: ✭ 68 (-16.05%)
Mutual labels:  microservice
Web Development Interview With Java
Java 开发相关技术栈(大中厂)高频面试问题收录。
Stars: ✭ 69 (-14.81%)
Mutual labels:  microservice
Microservices Prototype
Stars: ✭ 72 (-11.11%)
Mutual labels:  microservice
S
a go web freamwork for micro service, very very easy to create and deploy, with auto service registry and discover, high performance and based on http/2 no ssl
Stars: ✭ 67 (-17.28%)
Mutual labels:  microservice
Docker Nginx Image Proxy
on the fly image cropping with gravity, resize and compression microservice
Stars: ✭ 79 (-2.47%)
Mutual labels:  microservice
Rpcx Java
rpcx implementation in Java for server side and client side
Stars: ✭ 71 (-12.35%)
Mutual labels:  microservice
Hands On Microservices With Python
Hands-on Microservices with Python [ video], published by Packt
Stars: ✭ 73 (-9.88%)
Mutual labels:  microservice
Smilr
Microservices reference app showcasing a range of technologies, platforms & methodologies
Stars: ✭ 68 (-16.05%)
Mutual labels:  microservice
Kardia
A humane service status API module to expose any operational/internals of any Node.js based microservice. JSON format over HTTP protocol.
Stars: ✭ 70 (-13.58%)
Mutual labels:  microservice
Devis
A microservices framework for Node.js
Stars: ✭ 72 (-11.11%)
Mutual labels:  microservice
Graphql Microservices
Showcasing a graphql microservice setup
Stars: ✭ 68 (-16.05%)
Mutual labels:  microservice
Health Checks Api
Standardize the way services and applications expose their status in a distributed application
Stars: ✭ 78 (-3.7%)
Mutual labels:  microservice
Kotlin Spring Boot Jpa Rest Api Demo
Build a Restful API with Kotlin, Spring Boot, Mysql, Jpa and Hibernate
Stars: ✭ 67 (-17.28%)
Mutual labels:  microservice
Jina Hub
An open-registry for hosting Jina executors via container images
Stars: ✭ 71 (-12.35%)
Mutual labels:  microservice
Microdot
Microdot: An open source .NET microservices framework
Stars: ✭ 1,222 (+1408.64%)
Mutual labels:  microservice
Spring Boot Microservices
This repo is part of a tutorial about writing microservices using Spring Boot
Stars: ✭ 79 (-2.47%)
Mutual labels:  microservice
Sample Boot Micro
Spring Cloud + Gradle Multi Project + Java8
Stars: ✭ 72 (-11.11%)
Mutual labels:  microservice

GitHub Open Microservice

GitHub API, GraphQL, Webhook and Login Server

Open Microservice Specification Version Open Microservices Spectrum Chat Open Microservices Code of Conduct Open Microservices Commitzen PRs Welcome License: MIT

Introduction

This project is an example implementation of the Open Microservice Specification, a standard originally created at Storyscript for building highly-portable "microservices" that expose the events, actions, and APIs inside containerized software.

Getting Started

The oms command-line interface allows you to interact with Open Microservices. If you're interested in creating an Open Microservice the CLI also helps validate, test, and debug your oms.yml implementation!

See the oms-cli project to learn more!

Installation

npm install -g @microservices/oms

Usage

Open Microservices CLI Usage

Once you have the oms-cli installed, you can run any of the following commands from within this project's root directory:

Actions

api

Make an API request to the GitHub REST API

Action Arguments
Argument Name Type Required Default Description
method enum false None No description provided.
url string true None No description provided.
data map false None The data to post in the API request body.
params map false None No description provided.
headers map false None No description provided.
token string false None A oauth user access token to use during the request for authentication.
iid int false None The GitHub App installation ID to use during authentication.
APP_ID int false None Your GitHub App ID
APP_PRIVATE_KEY string false None Your GitHub App private key in PEM format
HOSTNAME string false None The GitHub Hostname (for GitHub Enterprise)
API_HOSTNAME string false None The GitHub API Hostname (for GitHub Enterprise) Default to "api.HOSTNAME"
CLIENT_ID string false None The GitHub Oauth Client ID
CLIENT_SECRET string false None The GitHub Oauth Client Secret
OAUTH_TOKEN string false None A user oauth token to be used if not provided during an action.
WEBHOOK_SECRET string false None Used to check the webhook payload signature.
USER_AGENT string false None GitHub requires a the User-Agent header defined.
oms run api \ 
    -a method='*****' \ 
    -a url='*****' \ 
    -a data='*****' \ 
    -a params='*****' \ 
    -a headers='*****' \ 
    -a token='*****' \ 
    -a iid='*****' \ 
    -e APP_ID=$APP_ID \ 
    -e APP_PRIVATE_KEY=$APP_PRIVATE_KEY \ 
    -e HOSTNAME=$HOSTNAME \ 
    -e API_HOSTNAME=$API_HOSTNAME \ 
    -e CLIENT_ID=$CLIENT_ID \ 
    -e CLIENT_SECRET=$CLIENT_SECRET \ 
    -e OAUTH_TOKEN=$OAUTH_TOKEN \ 
    -e WEBHOOK_SECRET=$WEBHOOK_SECRET \ 
    -e USER_AGENT=$USER_AGENT
graphql

Query GitHub GraphQL

Action Arguments
Argument Name Type Required Default Description
query string true None No description provided.
headers map false None No description provided.
token string false None A oauth user access token to use during the request for authentication.
iid int false None The GitHub App installation ID to use during authentication.
APP_ID int false None Your GitHub App ID
APP_PRIVATE_KEY string false None Your GitHub App private key in PEM format
HOSTNAME string false None The GitHub Hostname (for GitHub Enterprise)
API_HOSTNAME string false None The GitHub API Hostname (for GitHub Enterprise) Default to "api.HOSTNAME"
CLIENT_ID string false None The GitHub Oauth Client ID
CLIENT_SECRET string false None The GitHub Oauth Client Secret
OAUTH_TOKEN string false None A user oauth token to be used if not provided during an action.
WEBHOOK_SECRET string false None Used to check the webhook payload signature.
USER_AGENT string false None GitHub requires a the User-Agent header defined.
oms run graphql \ 
    -a query='*****' \ 
    -a headers='*****' \ 
    -a token='*****' \ 
    -a iid='*****' \ 
    -e APP_ID=$APP_ID \ 
    -e APP_PRIVATE_KEY=$APP_PRIVATE_KEY \ 
    -e HOSTNAME=$HOSTNAME \ 
    -e API_HOSTNAME=$API_HOSTNAME \ 
    -e CLIENT_ID=$CLIENT_ID \ 
    -e CLIENT_SECRET=$CLIENT_SECRET \ 
    -e OAUTH_TOKEN=$OAUTH_TOKEN \ 
    -e WEBHOOK_SECRET=$WEBHOOK_SECRET \ 
    -e USER_AGENT=$USER_AGENT
webhooks
Action Arguments
Argument Name Type Required Default Description
events list false None List of events to listen too See https://developer.github.com/webhooks/#events for full list
APP_ID int false None Your GitHub App ID
APP_PRIVATE_KEY string false None Your GitHub App private key in PEM format
HOSTNAME string false None The GitHub Hostname (for GitHub Enterprise)
API_HOSTNAME string false None The GitHub API Hostname (for GitHub Enterprise) Default to "api.HOSTNAME"
CLIENT_ID string false None The GitHub Oauth Client ID
CLIENT_SECRET string false None The GitHub Oauth Client Secret
OAUTH_TOKEN string false None A user oauth token to be used if not provided during an action.
WEBHOOK_SECRET string false None Used to check the webhook payload signature.
USER_AGENT string false None GitHub requires a the User-Agent header defined.
oms subscribe webhooks \ 
    -a events='*****' \ 
    -e APP_ID=$APP_ID \ 
    -e APP_PRIVATE_KEY=$APP_PRIVATE_KEY \ 
    -e HOSTNAME=$HOSTNAME \ 
    -e API_HOSTNAME=$API_HOSTNAME \ 
    -e CLIENT_ID=$CLIENT_ID \ 
    -e CLIENT_SECRET=$CLIENT_SECRET \ 
    -e OAUTH_TOKEN=$OAUTH_TOKEN \ 
    -e WEBHOOK_SECRET=$WEBHOOK_SECRET \ 
    -e USER_AGENT=$USER_AGENT

Contributing

All suggestions in how to improve the specification and this guide are very welcome. Feel free share your thoughts in the Issue tracker, or even better, fork the repository to implement your own ideas and submit a pull request.

Edit github on CodeSandbox

This project is guided by Contributor Covenant. Please read out full Contribution Guidelines.

Additional Resources

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].