DDD nginx framework for python
Project description
DDD Nginx Framework
Installation
From source code:
python setup.py install
From pypi:
pip install ddd-base
Usage
from ddd_nginx.nginx import Nginx from ddd_nginx.map import Map, MapKeyParis, MapDefinition from ddd_nginx.server import Server from ddd_nginx.location import Location, ReverseProxyStrategy from ddd_nginx.upstream import Upstream nginx = Nginx(host="oneapi.cc") nginx.namespace = "api" a_map = Map(MapDefinition(key="$http_apikey", value="$api_client_name")) a_map.append(MapKeyParis("7B5zIqmRGXmrJTFmKa99vcit", "client_one")) a_map.append(MapKeyParis("QzVV6y1EmQFbbxOfRCwyJs35", "client_two")) a_map.append(MapKeyParis("mGcjH8Fv6U9y3BVF9H3Ypb9T", "client_six")) a_upstream = Upstream(name="warehouse_inventory") a_upstream.append("10.0.0.1:80") a_upstream.append("10.0.0.2:80") a_upstream.append("10.0.0.3:80") b_upstream = Upstream(name="warehouse_pricing") b_upstream.append("10.0.0.1:80") b_upstream.append("10.0.0.2:80") b_upstream.append("10.0.0.3:80") a_location = Location( name="/api/warehouse/inventory", proxy=ReverseProxyStrategy('rewrite', '^ /_warehouse last') ) a_location.set_var("$upstream", "warehouse_inventory") b_location = Location( name="/api/warehouse/pricing", proxy=ReverseProxyStrategy('rewrite', '^ /_warehouse last') ) b_location.set_var("$upstream", "warehouse_pricing") c_location = Location( name="= /_warehouse", proxy=ReverseProxyStrategy('proxy_pass', 'http://$upstream$request_uri'), scope="internal" ) c_location.set_var("$api_name", "Warehouse") a_server = Server(name=nginx.namespace) a_server.set_var("$api_name", "-") nginx.append(a_map) nginx.append(a_upstream) nginx.append(b_upstream) nginx.append(a_location) nginx.append(b_location) nginx.append(c_location) nginx.append(a_server) root_dir = "./dumps_dir" nginx.dumps(root_dir)
Changelog
0.1.7
- Https by default
0.1.6
- Add magic dump
0.1.2
- Template exposed
0.1.1
- Add server to support tls or not
0.1.0
- Provide all in one configure file
0.0.8
- Include template files
0.0.7
- Include jinja2 templates
0.0.6
- Add json error page configuration file
0.0.5
- Add coverage
0.0.4
- Clear dependency
0.0.3
- Dumps nginx to files
0.0.2
- Render conf with template
0.0.1
- Initial public release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size ddd-nginx-0.1.7.tar.gz (9.6 kB) | File type Source | Python version None | Upload date | Hashes View |