Alien6-Studio / outerspace-apizr

OuterSpace APIzr
https://apizr.outerspace.sh/
3 stars 0 forks source link

[FEAT] Adaptive Containerization Based on Underlying Framework and System Requirements #3

Closed Coopyrightdmin closed 1 year ago

Coopyrightdmin commented 1 year ago

Problem Statement

There is a varying need for containerization configurations depending on the underlying framework and system requirements, such as TensorFlow, GPU support, etc. We need a solution that customizes the containerization process to cater to these specific requirements without manual intervention.

Benefits

  1. Flexibility: Allows for a diverse range of projects with different frameworks and system requirements to be containerized efficiently.
  2. Efficiency: Reduces manual adjustments and potential errors by automating the container setup based on the project's needs.
  3. Performance: Ensures optimal performance by providing the necessary resources and settings (e.g., GPU support for TensorFlow projects).

Additional context

Different frameworks and tools have varying system requirements. For instance, TensorFlow projects might need GPU support for training deep learning models. A one-size-fits-all approach to containerization may not be efficient or even functional for all use cases. An adaptive containerization process is therefore essential.

Priority/Severity

Coopyrightdmin commented 1 year ago

I am pleased to announce that the issue outlined in this ticket regarding the customization of the containerization process has been resolved.

Solution Implemented:

We've integrated a Pydantic configuration model at each module level. This offers you the flexibility to set specific configurations as per the project's requirements. With this approach, each module can now be launched independently. If you wish to run the global pipeline, simply configure the central configuration file. Here's an overview of this file:

---
python_version:
  - 3
  - 11
encoding: utf-8
code_analyzr:
  script: ""
  functions_to_analyze: ""
  ignore: ""
fast_apizr:
  module_name: main
  api_filename: app.py
dockerizr:
  docker_image: alpine
  docker_image_tag: alpine3.18
  server:
    workers: 2
    timeout: 60
    host: 0.0.0.0
    port: 5001