Giter VIP home page Giter VIP logo

app-mesh's Issues

Integrate with Prometheus

  1. prepare Prometheus config file
$ echo -n 'global: 
  scrape_interval: 15s
  evaluation_interval: 15s

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['127.0.0.1:9090']
  - job_name: 'centos7-appmgr'
    scrape_interval: 10s
    static_configs:
      - targets: ['10.1.241.54:6061']
' | tee /opt/prometheus.yml
  1. start Promeeheus container (use host mode networking for container connect host port)
docker run --restart=always -d --net=host --user root --privileged --name prom -v /opt/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

http://10.1.241.54:9090/config
GitHub Logo

http://10.1.241.54:9090/targets
GitHub Logo

Multi-tenancy support

Application does not have ownership, it's better to support a tree structure multi tenant, so specific user could see the sub-tree content.

Application support HA

App can register to 2+ hosts for HA.

Introduce Consul to eletion Appmanager Master to schedule Apps.

Failed to connect to any resolved endpoint?

Usage: appc [COMMAND] [ARG...] [flags]
root@quantaxis-PowerEdge-R610:/home/quantaxis# appc view
Failed to connect to any resolved endpoint
root@quantaxis-PowerEdge-R610:/home/quantaxis# appc reg -n ping -c 'ping www.baidu.com' -o 10
Failed to connect to any resolved endpoint
root@quantaxis-PowerEdge-R610:/home/quantaxis#

Cluster management

Target:

  1. Application failover
  2. Master election
  3. Package management (docker could easy for package management)

Apine Linux image support

Most of the dependency can support Alpine Linux (mainly used for tiny Docker container), but ACE have not support Alpine yet.

Alpine is not glibc but musl libc, see according issue:

DOCGroup/ACE_TAO#914

appc sh specify user

  1. need passless to self
$ appc sh -u admin -c 'su - -c "oc project"'
  1. no need passless
    root switch to admin user with login environment:
$ appc sh -b "10.127.21.1" -c 'su - admin -c "oc get nodes"' 

Integrate with Consul

# start consul
$ docker run -d --name=consul --net=host consul

# register service to consul
$ curl -X PUT -d '
{
   "address": "192.168.3.27",
   "checks": [
       {
           "http": "https://192.168.3.27:6060",
           "interval": "5s",
           "method": "GET",
           "tls_skip_verify": true
       }
   ],
   "id": "appmgr192.168.3.27",
   "name": "appmgr192.168.3.27",
   "port": 6060,
   "tags": [
       "appmgr"
   ]
}
'   http://192.168.3.27:8500/v1/agent/service/register

build & install enhancement

  1. watchdog.sh support register a args as application
  2. If install in docker container, should support not instsall system service

jwt add expire time

Here is a simple example of creating a token that will expire in one hour:

auto token = jwt::create()
.set_issuer("auth0")
.set_issued_at(std::chrono::system_clock::now())
.set_expires_at(std::chrono::system_clock::now() + std::chrono::seconds{3600})
.sign(jwt::algorithm::hs256{"secret"});

Support HA

Solutions:

  1. persist configuration file in 3rd storage
  2. configuration file name use a unique file name

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.