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
"ifconfig | grep 127" will be parse to bellow cause error:
fconfig '|' grep 127
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
Add authentication to http request
Support listen IPv6 port
Define a REST according to a application
Similar like :
http://debuginfo.centos.org/centos/7/storage/x86_64/
$ 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
GCC4.8.5 can not support regex well, wait to C++14.
Allow all configuration to be null, use default value
add a REST to force service exit.
register timer?
$ appc sh -u admin -c 'su - -c "oc project"'
$ appc sh -b "10.127.21.1" -c 'su - admin -c "oc get nodes"'
Current remote shell run will print both stderr and stdout to stdout.
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#
Use cmake to build project
# 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
App can register to 2+ hosts for HA.
Introduce Consul to eletion Appmanager Master to schedule Apps.
Target:
Application does not have ownership, it's better to support a tree structure multi tenant, so specific user could see the sub-tree content.
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;'"
Solutions:
Sometimes we need to monitor or add schedule for the already running apps, maybe support this function will more helpful.
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"});
Application can define stdout implement from appsvc or not
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 log --level DEBUG
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.