Prosty sequential proxy
This commit is contained in:
		
							
								
								
									
										4
									
								
								api-mocks/projects/1.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								api-mocks/projects/1.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
{
 | 
			
		||||
	"owner": 1,
 | 
			
		||||
	"name": "Simple project"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										4
									
								
								api-mocks/users/1.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								api-mocks/users/1.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
{
 | 
			
		||||
	"id": 1,
 | 
			
		||||
	"username": "test"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										4
									
								
								api-mocks/users/2.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								api-mocks/users/2.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
{
 | 
			
		||||
	"id": 2,
 | 
			
		||||
	"username": "test2"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										28
									
								
								docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
			
		||||
version: "3.8"
 | 
			
		||||
services:
 | 
			
		||||
 | 
			
		||||
  jaeger:
 | 
			
		||||
    image: jaegertracing/all-in-one:latest
 | 
			
		||||
    ports:
 | 
			
		||||
      - "16686:16686"
 | 
			
		||||
      - "14268:14268"
 | 
			
		||||
 | 
			
		||||
  api:
 | 
			
		||||
    image: paramah/lwan
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./api-mocks:/opt/lwan/wwwroot
 | 
			
		||||
    ports:
 | 
			
		||||
      - "8000:8080"
 | 
			
		||||
 | 
			
		||||
  kraken:
 | 
			
		||||
    image: devopsfaith/krakend:config-watcher
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./krakend:/etc/krakend
 | 
			
		||||
    ports:
 | 
			
		||||
      - "1234:1234"
 | 
			
		||||
      - "8080:8080"
 | 
			
		||||
      - "8091:8091"
 | 
			
		||||
    depends_on:
 | 
			
		||||
      - api
 | 
			
		||||
      - jaeger
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										78
									
								
								krakend/krakend.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								krakend/krakend.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,78 @@
 | 
			
		||||
{
 | 
			
		||||
  "version": 2,
 | 
			
		||||
  "timeout": "3000ms",
 | 
			
		||||
  "cache_ttl": "300s",
 | 
			
		||||
  "host": [
 | 
			
		||||
    "http://api:8080"
 | 
			
		||||
  ],
 | 
			
		||||
  "extra_config": {
 | 
			
		||||
    "github_com/devopsfaith/krakend-metrics": {
 | 
			
		||||
      "listen_address": ":8091"
 | 
			
		||||
    },
 | 
			
		||||
    "github_com/devopsfaith/krakend-gologging": {
 | 
			
		||||
      "level": "DEBUG",
 | 
			
		||||
      "prefix": "[KRAKEND]",
 | 
			
		||||
      "syslog": false,
 | 
			
		||||
      "stdout": true
 | 
			
		||||
    },
 | 
			
		||||
    "github_com/devopsfaith/krakend-opencensus": {
 | 
			
		||||
      "sample_rate": 100,
 | 
			
		||||
      "reporting_period": 1,
 | 
			
		||||
      "exporters": {
 | 
			
		||||
        "jaeger": {
 | 
			
		||||
          "endpoint": "http://jaeger:14268",
 | 
			
		||||
          "service_name": "krakend"
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "github_com/devopsfaith/krakend-cors": {
 | 
			
		||||
      "allow_origins": [
 | 
			
		||||
        "http://localhost:8000"
 | 
			
		||||
      ],
 | 
			
		||||
      "allow_methods": [
 | 
			
		||||
        "POST",
 | 
			
		||||
        "GET"
 | 
			
		||||
      ],
 | 
			
		||||
      "allow_headers": [
 | 
			
		||||
        "Origin",
 | 
			
		||||
        "Authorization",
 | 
			
		||||
        "Content-Type"
 | 
			
		||||
      ],
 | 
			
		||||
      "expose_headers": [
 | 
			
		||||
        "Content-Length"
 | 
			
		||||
      ],
 | 
			
		||||
      "max_age": "12h"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "endpoints":[
 | 
			
		||||
    {
 | 
			
		||||
      "endpoint": "/sequential/{id}",
 | 
			
		||||
      "backend": [
 | 
			
		||||
        {
 | 
			
		||||
          "url_pattern": "/users/{id}.json",
 | 
			
		||||
          "whitelist": [
 | 
			
		||||
            "id",
 | 
			
		||||
            "username"
 | 
			
		||||
          ],
 | 
			
		||||
          "extra_config": {},
 | 
			
		||||
          "encoding": "json",
 | 
			
		||||
          "blacklist": [
 | 
			
		||||
            "id"
 | 
			
		||||
          ]
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "url_pattern": "/projects/{resp0_id}.json",
 | 
			
		||||
          "whitelist": [
 | 
			
		||||
            "name"
 | 
			
		||||
          ],
 | 
			
		||||
          "group": "projects"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "extra_config": {
 | 
			
		||||
        "github.com/devopsfaith/krakend/proxy": {
 | 
			
		||||
          "sequential": true
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ]
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user