The mep-agent module provides proxy services for 3rd applications to MEP.

Mep-Agent

License Jenkins

Introduction

Mep-Agent is a middleware that provides proxy services for third-party apps. It can help apps, which do not implement the ETSI interface to register to MEP, and realize app service registration and discovery. Mep-Agent will start at the same time as the application container, and read the content in the file conf/app_instance_info.yaml to automatically register the service.

MEP-Agent code directory

├─conf
├─docker
├─src
│  ├─config
│  ├─controllers
│  ├─main
│  ├─model
│  ├─router
│  ├─service
│  ├─test
│  └─util
└─views
    └─error

Above is the directory tree of MEP-Agent project, their usage is as belows:

  • conf: mep-agent config file
  • docker: dockerfile file
  • src: source code
    • config: config files
    • controllers: controller class
    • main: main method
    • model: model definition
    • router: route info
    • service: service logic
    • test: unit test
    • util: util tool file
  • views: pages

Build & Run

Mep-Agent is developed by the Go language and provides services in the form of a docker image. When it starts, it will read the configuration file and register the App to the MEP to realize service registration and discovery.

  • Build

    git clone from mep-agent master repo

    git clone https://gitee.com/edgegallery/mep-agent.git
    

    build the mep-agent image

    docker build -t mep-agent:latest -f docker/Dockerfile .
    
  • Run

    Prepare the certificate files and mepagent.properties, which contains ACCESS_KEY and SECRET_KEY, and run with

    docker run -itd --name mepagent \
      --cap-drop All \
      -e MEP_IP=<host IP> \ # host IP 为mep部署环境的IP地址
      -e MEP_APIGW_PORT=8443 \
      -e MEP_AUTH_ROUTE=mepauth \
      -e ENABLE_WAIT=true \
      -e AK=QVUJMSUMgS0VZLS0tLS0 \
      -e SK=DXPb4sqElKhcHe07Kw5uorayETwId1JOjjOIRomRs5wyszoCR5R7AtVa28KT3lSc \
      -e APPINSTID=5abe4782-2c70-4e47-9a4e-0ee3a1a0fd1f \
      -v /home/EG-LDVS/mepserver/ca.crt:/usr/mep/ssl/ca.crt:ro \
      -e "CA_CERT=/usr/mep/ssl/ca.crt" \
      -e "CA_CERT_DOMAIN_NAME=edgegallery" \
      -v /tmp/mepagent-conf/app_conf.yaml:/usr/mep/conf/app\_conf.yaml:ro \
      -v /home/EG-LDVS/mep-agent/conf/app_instance_info.yaml:/usr/mep/conf/app_instance_info.yaml:ro\ #可选, mep-agent默认自带一份样例app_instance_info.yaml用于注册
      edgegallery/mep-agent:latest
    

More details of the building and installation process please refer to HERE.

Notice

Mep-Agent is written in Go language. In order to minimize the image, it adopts the process of statically compiling and then packaging, without relying on the basic Go language image, which greatly reduces the size of the image.

Owner
EdgeGallery
EdgeGallery: Open Multi-Access Edge Computing Platform
EdgeGallery
Similar Resources

Minimalistic RBAC package for Go applications

RBAC Overview RBAC is a package that makes it easy to implement Role Based Access Control (RBAC) models in Go applications. Download To download this

Oct 25, 2022

Package gorilla/securecookie encodes and decodes authenticated and optionally encrypted cookie values for Go web applications.

securecookie securecookie encodes and decodes authenticated and optionally encrypted cookie values. Secure cookies can't be forged, because their valu

Dec 26, 2022

Certificate authority and access plane for SSH, Kubernetes, web applications, and databases

Teleport is an identity-aware, multi-protocol access proxy which understands SSH, HTTPS, Kubernetes API, MySQL and PostgreSQL wire protocols.

Jan 9, 2023

jwt package for gin go applications

gin-jwt jwt package for gin go applications Usage Download using go module: go get github.com/ennaque/gin-jwt Import it in your code: import gwt "gith

Apr 21, 2022

A library for Go client applications that need to perform OAuth authorization against a server

A library for Go client applications that need to perform OAuth authorization against a server

oauth-0.8.0.zip oauth A library for Go client applications that need to perform OAuth authorization against a server, typically GitHub.com. Traditiona

Oct 13, 2021

Local proxy for authenticating requests to Cloud Run

Cloud Run Proxy is a small proxy to assist in authenticating as an end-user to Google Cloud Run. It leverages Cloud Run's existing Clo

Dec 21, 2022

An authentication proxy for Google Cloud managed databases

An authentication proxy for Google Cloud managed databases

db-auth-gateway An authentication proxy for Google Cloud managed databases. Based on the ideas of cloudsql-proxy but intended to be run as a standalon

Dec 5, 2022

A proxy that authorizes and enforces a given label in a given PromQL query

prom-authzed-proxy prom-authzed-proxy is a proxy for Prometheus that authorizes the request's Bearer Token with Authzed and enforces a label in a Prom

Jul 19, 2022

A very simple HTTP reverse proxy that checks that requests contain a valid secret as a bearer token

bearproxy -- Authorization enforcing HTTP reverse proxy Bearproxy is a very simple HTTP reverse proxy that checks that requests contain a valid secret

Nov 11, 2021
Comments
  • Initial get token fails

    Initial get token fails

    image

    As you see in the picture the initial get token in mep-agent fails.

    This is the mep-agent instance in the pod of my own user application.

    The application is deployed and instantiated successfully via the web interfaces of developer and mecm platforms.

    Due to failing of get token no further request through mep-agent works.

    What can be the reason for this behaviour?

Dbt-postgres-proxy - Proxy server which intercepts and compiles dbt queries on the fly
Dbt-postgres-proxy - Proxy server which intercepts and compiles dbt queries on the fly

dbt-postgres-proxy A reverse proxy for postgres which compiles queries in flight

Mar 4, 2022
A reverse proxy that provides authentication with Google, Github or other providers.
A reverse proxy that provides authentication with Google, Github or other providers.

A reverse proxy and static file server that provides authentication using Providers (Google, GitHub, and others) to validate accounts by email, domain or group.

Jan 8, 2023
A reverse proxy that provides authentication with Google, Github or other providers.
A reverse proxy that provides authentication with Google, Github or other providers.

A reverse proxy and static file server that provides authentication using Providers (Google, GitHub, and others) to validate accounts by email, domain

Jan 1, 2023
an SSO and OAuth / OIDC login solution for Nginx using the auth_request module
an SSO and OAuth / OIDC login solution for Nginx using the auth_request module

Vouch Proxy An SSO solution for Nginx using the auth_request module. Vouch Proxy can protect all of your websites at once. Vouch Proxy supports many O

Jan 4, 2023
uber's ssh certificate pam module

Uber's SSH certificate pam module. This is a pam module that will authenticate a user based on them having an ssh certificate in their ssh-agent signe

Jan 2, 2023
Go module that allows you to authenticate to Azure with a well known client ID using interactive logon and grab the token

azureimposter Go module that pretends to be any clientID and grabs an authentication token from Azure using interactive login (w/mfa if enabled) and r

Dec 14, 2022
Generate and verify JWT tokens with Trusted Platform Module (TPM)

golang-jwt for Trusted Platform Module (TPM) This is just an extension for go-jwt i wrote over thanksgiving that allows creating and verifying JWT tok

Oct 7, 2022
Go module with token package to request Azure Resource Manager and Azure Graph tokens.

azAUTH Go module with token package to request Azure Resource Manager and Azure Graph tokens. prerequisites Install azure cli: https://docs.microsoft.

Dec 1, 2021
An example module for k6.io to get a cognito access token using USER_SRP_AUTH flow.

xk6-cognito An example module for k6.io to get a cognito access token using USER_SRP_AUTH flow. See: to create k6 extension: https://github.c

Nov 15, 2022
sso, aka S.S.Octopus, aka octoboi, is a single sign-on solution for securing internal services
sso, aka S.S.Octopus, aka octoboi, is a single sign-on solution for securing internal services

sso See our launch blog post for more information! Please take the SSO Community Survey to let us know how we're doing, and to help us plan our roadma

Jan 5, 2023