laoshanxi / app-mesh Goto Github PK
View Code? Open in Web Editor NEWA secure Multi-Tenant, Cloud Native, Micro Service application management platform
License: MIT License
A secure Multi-Tenant, Cloud Native, Micro Service application management platform
License: MIT License
Application can define stdout implement from appsvc or not
GCC4.8.5 can not support regex well, wait to C++14.
$ appc sh -u admin -c 'su - -c "oc project"'
$ appc sh -b "10.127.21.1" -c 'su - admin -c "oc get nodes"'
register timer?
Application does not have ownership, it's better to support a tree structure multi tenant, so specific user could see the sub-tree content.
LDAP auth support
LDAP Server:
https://github.com/osixia/docker-openldap
docker run -p 389:389 -p 636:636 --name my-openldap-container --detach osixia/openldap:1.5.0
LDAP UI:
https://github.com/osixia/docker-phpLDAPadmin
docker run -p 6443:443 \
--env PHPLDAPADMIN_LDAP_HOSTS=ldap.example.com \
--detach osixia/phpldapadmin:0.9.0
Current remote shell run will print both stderr and stdout to stdout.
appc log --level DEBUG
"ifconfig | grep 127" will be parse to bellow cause error:
fconfig '|' grep 127
Target:
$ 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
docker run --restart=always -d --net=host --user root --privileged --name prom -v /opt/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
Use cmake to build project
Define a REST according to a application
Similar like :
http://debuginfo.centos.org/centos/7/storage/x86_64/
Support listen IPv6 port
Solutions:
# 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
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"});
App can register to 2+ hosts for HA.
Introduce Consul to eletion Appmanager Master to schedule Apps.
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:
appc reg -n ttt -c "sleep 600" -l "sh -c 'if [[ $$(curl -k --fail https://127.0.0.1:6060/app/ttt/health) != ""0"" ]]; then exit 1; else exit 0;'"
Add authentication to http request
Sometimes we need to monitor or add schedule for the already running apps, maybe support this function will more helpful.
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#
Allow all configuration to be null, use default value
add a REST to force service exit.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.