Loading manifests/interdomainservice.yaml 0 → 100644 +64 −0 Original line number Diff line number Diff line # Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. apiVersion: apps/v1 kind: Deployment metadata: name: interdomainservice spec: selector: matchLabels: app: interdomainservice template: metadata: labels: app: interdomainservice spec: terminationGracePeriodSeconds: 5 containers: - name: server image: registry.gitlab.com/teraflow-h2020/controller/interdomain:latest imagePullPolicy: Always ports: - containerPort: 10010 env: - name: LOG_LEVEL value: "INFO" readinessProbe: exec: command: ["/bin/grpc_health_probe", "-addr=:10010"] livenessProbe: exec: command: ["/bin/grpc_health_probe", "-addr=:10010"] resources: requests: cpu: 250m memory: 512Mi limits: cpu: 700m memory: 1024Mi --- apiVersion: v1 kind: Service metadata: name: interdomainservice spec: type: ClusterIP selector: app: interdomainservice ports: - name: grpc protocol: TCP port: 10010 targetPort: 10010 src/interdomain/Config.py +16 −2 Original line number Diff line number Diff line # Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import logging # General settings LOG_LEVEL = logging.WARNING # gRPC settings GRPC_INTERDOMAIN_PORT = 9090 GRPC_SERVICE_PORT = 10010 GRPC_MAX_WORKERS = 10 GRPC_GRACE_PERIOD = 60 Loading @@ -13,6 +27,6 @@ METRICS_PORT = 9192 # Dependency micro-service connection settings SLICE_SERVICE_HOST = '127.0.0.1' SLICE_SERVICE_PORT = 1010 SLICE_SERVICE_PORT = 4040 src/interdomain/Dockerfile +17 −3 Original line number Diff line number Diff line # Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. FROM python:3-slim # Install dependencies Loading Loading @@ -25,7 +39,7 @@ RUN mkdir -p /var/teraflow/interdomain # Get Python packages per module COPY interdomain/requirements.in interdomain/requirements.in RUN pip-compile --output-file=interdomain/requirements.txt interdomain/requirements.in RUN python3 -m pip install -r interdomain/requirements.in RUN python3 -m pip install -r interdomain/requirements.txt # Add files into working directory COPY common/. common Loading @@ -35,5 +49,5 @@ COPY monitoring/. monitoring COPY service/. service COPY interdomain/. interdomain # Start service interdomain ENTRYPOINT ["python", "-m", "service.interdomain"] # Start interdomain service ENTRYPOINT ["python", "-m", "interdomain.service"] src/interdomain/client/__init__.py +14 −0 Original line number Diff line number Diff line # Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. src/interdomain/proto/__init__.py +14 −0 Original line number Diff line number Diff line # Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. Loading
manifests/interdomainservice.yaml 0 → 100644 +64 −0 Original line number Diff line number Diff line # Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. apiVersion: apps/v1 kind: Deployment metadata: name: interdomainservice spec: selector: matchLabels: app: interdomainservice template: metadata: labels: app: interdomainservice spec: terminationGracePeriodSeconds: 5 containers: - name: server image: registry.gitlab.com/teraflow-h2020/controller/interdomain:latest imagePullPolicy: Always ports: - containerPort: 10010 env: - name: LOG_LEVEL value: "INFO" readinessProbe: exec: command: ["/bin/grpc_health_probe", "-addr=:10010"] livenessProbe: exec: command: ["/bin/grpc_health_probe", "-addr=:10010"] resources: requests: cpu: 250m memory: 512Mi limits: cpu: 700m memory: 1024Mi --- apiVersion: v1 kind: Service metadata: name: interdomainservice spec: type: ClusterIP selector: app: interdomainservice ports: - name: grpc protocol: TCP port: 10010 targetPort: 10010
src/interdomain/Config.py +16 −2 Original line number Diff line number Diff line # Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import logging # General settings LOG_LEVEL = logging.WARNING # gRPC settings GRPC_INTERDOMAIN_PORT = 9090 GRPC_SERVICE_PORT = 10010 GRPC_MAX_WORKERS = 10 GRPC_GRACE_PERIOD = 60 Loading @@ -13,6 +27,6 @@ METRICS_PORT = 9192 # Dependency micro-service connection settings SLICE_SERVICE_HOST = '127.0.0.1' SLICE_SERVICE_PORT = 1010 SLICE_SERVICE_PORT = 4040
src/interdomain/Dockerfile +17 −3 Original line number Diff line number Diff line # Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. FROM python:3-slim # Install dependencies Loading Loading @@ -25,7 +39,7 @@ RUN mkdir -p /var/teraflow/interdomain # Get Python packages per module COPY interdomain/requirements.in interdomain/requirements.in RUN pip-compile --output-file=interdomain/requirements.txt interdomain/requirements.in RUN python3 -m pip install -r interdomain/requirements.in RUN python3 -m pip install -r interdomain/requirements.txt # Add files into working directory COPY common/. common Loading @@ -35,5 +49,5 @@ COPY monitoring/. monitoring COPY service/. service COPY interdomain/. interdomain # Start service interdomain ENTRYPOINT ["python", "-m", "service.interdomain"] # Start interdomain service ENTRYPOINT ["python", "-m", "interdomain.service"]
src/interdomain/client/__init__.py +14 −0 Original line number Diff line number Diff line # Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License.
src/interdomain/proto/__init__.py +14 −0 Original line number Diff line number Diff line # Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License.