blob: 96b19e44cc07cdda4f37c53bee174d1eead566e4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
openapi: 3.0.0
info:
version: 2.4.0
title: Config Binding Service
paths:
'/service_component/{service_component_name}':
parameters:
- name: service_component_name
in: path
description: >-
Service Component Name. service_component_name must be a key in
consul.
required: true
schema:
type: string
get:
description: >-
Binds the configuration for service_component_name and returns the bound
configuration as a JSON
operationId: config_binding_service.controller.bind_config_for_scn
responses:
'200':
description: OK; the bound config is returned as an object
content:
'*/*':
schema:
type: object
'404':
description: there is no configuration in Consul for this component
'/service_component_all/{service_component_name}':
parameters:
- name: service_component_name
in: path
description: >-
Service Component Name. service_component_name must be a key in
consul.
required: true
schema:
type: string
get:
description: >-
Binds the configuration for service_component_name and returns the bound
configuration, policies, and any other keys that are in Consul
operationId: config_binding_service.controller.bind_all
responses:
'200':
description: >-
OK; returns {config : ..., policies : ....., k : ...} for all other
k in Consul
content:
'*/*':
schema:
type: object
'404':
description: there is no configuration in Consul for this component
'/{key}/{service_component_name}':
parameters:
- name: key
in: path
description: >-
this endpoint tries to pull service_component_name:key; key is the key
after the colon
required: true
schema:
type: string
- name: service_component_name
in: path
description: Service Component Name.
required: true
schema:
type: string
get:
description: >-
this is an endpoint that fetches a generic service_component_name:key
out of Consul. The idea is that we don't want to tie components to
Consul directly in case we swap out the backend some day, so the CBS
abstracts Consul from clients. The structuring and weird collision of
this new API with the above is unfortunate but due to legacy concerns.
operationId: config_binding_service.controller.get_key
responses:
'200':
description: 'OK; returns service_component_name:key'
content:
'*/*':
schema:
type: object
'400':
description: >-
bad request. Currently this is only returned on :policies, which is
a complex object, and should be gotten through service_component_all
content:
'*/*':
schema:
type: string
'404':
description: key does not exist
content:
'*/*':
schema:
type: string
/healthcheck:
get:
description: >-
This is the health check endpoint. If this returns a 200, the server is
alive and consul can be reached. If not a 200, either dead, or no
connection to consul
operationId: config_binding_service.controller.healthcheck
responses:
'200':
description: Successful response
'503':
description: the config binding service cannot reach Consul
|