Skip to content

Commit 999d2c9

Browse files
authored
Merge branch 'master' into feature/power-to-the-socket
2 parents ca16a0b + da15add commit 999d2c9

File tree

201 files changed

+6209
-3207
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

201 files changed

+6209
-3207
lines changed

.env-devel

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ DYNAMIC_SIDECAR_IMAGE=${DOCKER_REGISTRY:-itisfoundation}/dynamic-sidecar:${DOCKE
104104
DYNAMIC_SIDECAR_LOG_LEVEL=DEBUG
105105
DYNAMIC_SIDECAR_PROMETHEUS_MONITORING_NETWORKS=[]
106106
DYNAMIC_SIDECAR_PROMETHEUS_SERVICE_LABELS={}
107+
DYNAMIC_SIDECAR_API_SAVE_RESTORE_STATE_TIMEOUT=3600
107108
# DIRECTOR_V2 ----
108109

109110
DYNAMIC_SCHEDULER_PROFILING=1
@@ -153,7 +154,7 @@ POSTGRES_PORT=5432
153154
POSTGRES_USER=scu
154155

155156
POSTGRES_READONLY_PASSWORD=readonly
156-
POSTGRES_READONLY_USER=readonly
157+
POSTGRES_READONLY_USER=postgres_readonly
157158

158159

159160
RABBIT_HOST=rabbit
@@ -220,6 +221,13 @@ STORAGE_PROFILING=1
220221

221222
SWARM_STACK_NAME=master-simcore
222223

224+
## VENDOR DEVELOPMENT SERVICES ---
225+
VENDOR_DEV_MANUAL_IMAGE=containous/whoami
226+
VENDOR_DEV_MANUAL_REPLICAS=1
227+
VENDOR_DEV_MANUAL_SUBDOMAIN=manual
228+
229+
## VENDOR DEVELOPMENT SERVICES ---
230+
223231
WB_API_WEBSERVER_HOST=wb-api-server
224232
WB_API_WEBSERVER_PORT=8080
225233

.gitignore

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,3 @@ tests/public-api/osparc_python_wheels/*
181181

182182
# osparc-config repo files
183183
repo.config
184-
185-
# scripts resolved with .env s
186-
services/postgres/scripts/create-readonly-user.sql

.vscode/settings.template.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,12 @@
99
"files.associations": {
1010
".*rc": "ini",
1111
".env*": "ini",
12+
"*.logs*": "log",
1213
"**/requirements/*.in": "pip-requirements",
1314
"**/requirements/*.txt": "pip-requirements",
1415
"*logs.txt": "log",
15-
"*.logs*": "log",
1616
"*Makefile": "makefile",
17+
"*sql.*": "sql",
1718
"docker-compose*.yml": "dockercompose",
1819
"Dockerfile*": "dockerfile"
1920
},

Makefile

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,11 @@ CPU_COUNT = $(shell cat /proc/cpuinfo | grep processor | wc -l )
269269
services/docker-compose.local.yml \
270270
> $@
271271

272+
.stack-vendor-services.yml: .env $(docker-compose-configs)
273+
# Creating config for vendors stack to $@
274+
@scripts/docker/docker-stack-config.bash -e $< \
275+
services/docker-compose-dev-vendors.yml \
276+
> $@
272277

273278
.stack-ops.yml: .env $(docker-compose-configs)
274279
# Creating config for ops stack to $@
@@ -288,7 +293,11 @@ endif
288293

289294

290295

291-
.PHONY: up-devel up-prod up-prod-ci up-version up-latest .deploy-ops
296+
.PHONY: up-devel up-prod up-prod-ci up-version up-latest .deploy-ops .deploy-vendors
297+
298+
.deploy-vendors: .stack-vendor-services.yml
299+
# Deploy stack 'vendors'
300+
docker stack deploy --detach=true --with-registry-auth -c $< vendors
292301

293302
.deploy-ops: .stack-ops.yml
294303
# Deploy stack 'ops'
@@ -323,6 +332,7 @@ printf "$$rows" "Rabbit Dashboard" "http://$(get_my_ip).nip.io:15672" admin admi
323332
printf "$$rows" "Redis" "http://$(get_my_ip).nip.io:18081";\
324333
printf "$$rows" "Storage S3 Minio" "http://$(get_my_ip).nip.io:9001" 12345678 12345678;\
325334
printf "$$rows" "Traefik Dashboard" "http://$(get_my_ip).nip.io:8080/dashboard/";\
335+
printf "$$rows" "Vendor Manual (Fake)" "http://manual.$(get_my_ip).nip.io:9081";\
326336

327337
printf "\n%s\n" "⚠️ if a DNS is not used (as displayed above), the interactive services started via dynamic-sidecar";\
328338
echo "⚠️ will not be shown. The frontend accesses them via the uuid.services.YOUR_IP.nip.io:9081";
@@ -338,6 +348,7 @@ up-devel: .stack-simcore-development.yml .init-swarm $(CLIENT_WEB_OUTPUT) ## Dep
338348
@$(MAKE_C) services/dask-sidecar certificates
339349
# Deploy stack $(SWARM_STACK_NAME) [back-end]
340350
@docker stack deploy --detach=true --with-registry-auth -c $< $(SWARM_STACK_NAME)
351+
@$(MAKE) .deploy-vendors
341352
@$(MAKE) .deploy-ops
342353
@$(_show_endpoints)
343354
@$(MAKE_C) services/static-webserver/client follow-dev-logs
@@ -348,6 +359,7 @@ up-devel-frontend: .stack-simcore-development-frontend.yml .init-swarm ## Every
348359
@$(MAKE_C) services/dask-sidecar certificates
349360
# Deploy stack $(SWARM_STACK_NAME) [back-end]
350361
@docker stack deploy --detach=true --with-registry-auth -c $< $(SWARM_STACK_NAME)
362+
@$(MAKE) .deploy-vendors
351363
@$(MAKE) .deploy-ops
352364
@$(_show_endpoints)
353365
@$(MAKE_C) services/static-webserver/client follow-dev-logs
@@ -358,6 +370,7 @@ ifeq ($(target),)
358370
@$(MAKE_C) services/dask-sidecar certificates
359371
# Deploy stack $(SWARM_STACK_NAME)
360372
@docker stack deploy --detach=true --with-registry-auth -c $< $(SWARM_STACK_NAME)
373+
@$(MAKE) .deploy-vendors
361374
@$(MAKE) .deploy-ops
362375
else
363376
# deploys ONLY $(target) service
@@ -369,6 +382,7 @@ up-version: .stack-simcore-version.yml .init-swarm ## Deploys versioned stack '$
369382
@$(MAKE_C) services/dask-sidecar certificates
370383
# Deploy stack $(SWARM_STACK_NAME)
371384
@docker stack deploy --detach=true --with-registry-auth -c $< $(SWARM_STACK_NAME)
385+
@$(MAKE) .deploy-vendors
372386
@$(MAKE) .deploy-ops
373387
@$(_show_endpoints)
374388

api/specs/web-server/_auth.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,21 @@ async def logout(_body: LogoutBody):
155155
"""user logout"""
156156

157157

158+
@router.get(
159+
"/auth:check",
160+
operation_id="check_authentication",
161+
status_code=status.HTTP_204_NO_CONTENT,
162+
responses={
163+
status.HTTP_401_UNAUTHORIZED: {
164+
"model": Envelope[Error],
165+
"description": "unauthorized reset due to invalid token code",
166+
}
167+
},
168+
)
169+
async def check_auth():
170+
"""checks if user is authenticated in the platform"""
171+
172+
158173
@router.post(
159174
"/auth/reset-password",
160175
response_model=Envelope[Log],

api/specs/web-server/_projects_crud.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,10 +142,17 @@ async def clone_project(
142142

143143
@router.get(
144144
"/projects:search",
145-
response_model=Page[ProjectListItem],
145+
response_model=Page[ProjectListFullSearchParams],
146146
)
147147
async def list_projects_full_search(
148148
_params: Annotated[ProjectListFullSearchParams, Depends()],
149+
order_by: Annotated[
150+
Json,
151+
Query(
152+
description="Order by field (type|uuid|name|description|prj_owner|creation_date|last_change_date) and direction (asc|desc). The default sorting order is ascending.",
153+
example='{"field": "last_change_date", "direction": "desc"}',
154+
),
155+
] = ('{"field": "last_change_date", "direction": "desc"}',),
149156
):
150157
...
151158

packages/aws-library/requirements/_base.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,8 @@ referencing==0.29.3
224224
# -c requirements/../../../packages/service-library/requirements/./constraints.txt
225225
# jsonschema
226226
# jsonschema-specifications
227+
repro-zipfile==0.3.1
228+
# via -r requirements/../../../packages/service-library/requirements/_base.in
227229
requests==2.32.3
228230
# via opentelemetry-exporter-otlp-proto-http
229231
rich==13.8.1

packages/models-library/src/models_library/api_schemas_directorv2/services.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import Any, ClassVar
1+
from typing import Any, ClassVar, Final
22

33
from pydantic import BaseModel, Field, validator
44
from pydantic.types import ByteSize, NonNegativeInt
@@ -90,3 +90,6 @@ class Config:
9090
for node_example in NodeRequirements.Config.schema_extra["examples"]
9191
]
9292
}
93+
94+
95+
CHARS_IN_VOLUME_NAME_BEFORE_DIR_NAME: Final[NonNegativeInt] = 89

packages/models-library/src/models_library/rabbitmq_messages.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,24 @@ def routing_key(self) -> str | None:
194194
return None
195195

196196

197+
class DynamicServiceRunningMessage(RabbitMessageBase):
198+
channel_name: Literal["io.simcore.service.dynamic-service-running"] = Field(
199+
default="io.simcore.service.dynamic-service-running", const=True
200+
)
201+
202+
project_id: ProjectID
203+
node_id: NodeID
204+
user_id: UserID
205+
product_name: ProductName | None
206+
created_at: datetime.datetime = Field(
207+
default_factory=lambda: arrow.utcnow().datetime,
208+
description="message creation datetime",
209+
)
210+
211+
def routing_key(self) -> str | None:
212+
return None
213+
214+
197215
class RabbitResourceTrackingStartedMessage(RabbitResourceTrackingBaseMessage):
198216
message_type: RabbitResourceTrackingMessageType = Field(
199217
default=RabbitResourceTrackingMessageType.TRACKING_STARTED, const=True

0 commit comments

Comments
 (0)