Open AlejandroEsquivel opened 1 year ago
The changes required to the plugin repo are minimal. We assets/infra folder where the terraform files are stored. For example, the repo structure would look like this:
assets/infra
- .github - <PLUGIN_FOLDER> - assets - **infra** - main.tf - ...
Also we would need to add pydantic classes for validation of infra and executor arguments, for example:
class ExecutorPluginDefaults(BaseModel): """ Default configuration values for the executor """ credentials: str = "" profile: str = "" region: str = "us-east-1" ... retry_attempts: int = 3 time_limit: int = 300 poll_freq: int = 10 class ExecutorInfraDefaults(BaseModel): """ Configuration values for provisioning AWS Batch cloud infrastructure """ prefix: str aws_region: str = "us-east-1" ... credentials: Optional[str] = "" profile: Optional[str] = "" retry_attempts: Optional[int] = 3 time_limit: Optional[int] = 300 poll_freq: Optional[int] = 10 _EXECUTOR_PLUGIN_DEFAULTS = ExecutorPluginDefaults().dict() EXECUTOR_PLUGIN_NAME = "<PLUGIN_NAME>"
Overview
The changes required to the plugin repo are minimal. We
assets/infra
folder where the terraform files are stored. For example, the repo structure would look like this:Also we would need to add pydantic classes for validation of infra and executor arguments, for example:
Acceptance Criteria