v0.5.0: 3 стенда — изоляция состояния, WSGI middleware, OpenAPI server selector, POLYGON_STANDS env
- loader.py: STANDS dict, get_services/get_ops_index per stand, POLYGON_STANDS env
- mock_state.py: get_state(stand_id) — ленивая инициализация
- app.py: StandMiddleware — перезапись PATH_INFO до Flask-роутинга
- Все роуты: LocalProxy(state), LocalProxy(SERVICES/OPS_INDEX) через g.stand_id
- openapi.py: _build_servers() — по одному серверу на стенд
- services/stand{1,2,3}/ — 37 YAML на стенд из STANDS/dev и STANDS/test
- tests/test_api.py: +4 multi-stand теста (изоляция, fail-next, OpenAPI servers)
- Обратная совместимость: /api/v1/svc/... → стенд по умолчанию
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
name: s3bucket
|
||||
service_id: 13
|
||||
service_display_name: S3 бакет
|
||||
service_short_name: s3bucket
|
||||
lifecycle:
|
||||
suspendOnDestroyDefault: false
|
||||
adoptExistingOnCreateDefault: false
|
||||
operations:
|
||||
- svcOperationId: 51
|
||||
operation: create
|
||||
kind: instance
|
||||
action: create
|
||||
- svcOperationId: 52
|
||||
operation: delete
|
||||
kind: instance
|
||||
action: delete
|
||||
stateOut: {}
|
||||
cfsParams:
|
||||
- svcOperationCfsParamId: 124
|
||||
svcOperationCfsParam: s3UserUid
|
||||
dataType: uuid
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 125
|
||||
svcOperationCfsParam: bucketName
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 126
|
||||
svcOperationCfsParam: maxSize
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: '-1'
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 127
|
||||
svcOperationCfsParam: readAll
|
||||
dataType: boolean
|
||||
isRequired: true
|
||||
defaultValue: 'false'
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'false'
|
||||
- 'true'
|
||||
- svcOperationCfsParamId: 128
|
||||
svcOperationCfsParam: listAll
|
||||
dataType: boolean
|
||||
isRequired: true
|
||||
defaultValue: 'false'
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'false'
|
||||
- 'true'
|
||||
- svcOperationCfsParamId: 129
|
||||
svcOperationCfsParam: corsAll
|
||||
dataType: boolean
|
||||
isRequired: true
|
||||
defaultValue: 'false'
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'false'
|
||||
- 'true'
|
||||
- svcOperationCfsParamId: 130
|
||||
svcOperationCfsParam: placement
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: HOT
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- HOT
|
||||
- COLD
|
||||
cfsParamsByOp:
|
||||
51:
|
||||
- 124
|
||||
- 125
|
||||
- 126
|
||||
- 127
|
||||
- 128
|
||||
- 129
|
||||
- 130
|
||||
52: []
|
||||
stateParams:
|
||||
s3UserUid: ''
|
||||
bucketName: ''
|
||||
maxSize: '-1'
|
||||
readAll: 'false'
|
||||
listAll: 'false'
|
||||
corsAll: 'false'
|
||||
placement: HOT
|
||||
Reference in New Issue
Block a user