SIOS-Technology-Inc / dacrane

"Dacrane" is a Delivery as Code (DaC) tool for deploying cloud infrastructures and applications anywhere.
Apache License 2.0
61 stars 1 forks source link

Abstraction and modularization functions #18

Closed t-ikeda-sti closed 11 months ago

t-ikeda-sti commented 11 months ago

User Story

The user wants to divide the infrastructure into modules and manage them.

Acceptance Criteria

key type description
name string Module name. The name must be unique within the file.
import list Import external deployment code. 
import.* string The file path or URL of the deployment code to be imported.
parameters list Definition of arguments to be passed to this module.
parameters.*.name string Parameter name. 
parameters.*.schema object Parameter schema. Defined in JSON Schema. Cannot be specified when module is specified.
parameters.*.module string
modules list
modules.*.name string The name in the module.
modules.*.module string
modules.*.arguments object
name: [module_name]
import:
- [file_path_or_url]
parameters: [json_schema]
dependencies: 
- name: [local_module_name]
  module: [module_name]
modules:
- name: [local_module_name]
  module: [module_name]
  arguments: [object]
$ dacrane up --argument [key]=[value] --dependency [key]=[value] [instance_name] [module_name]
$ dacrane up -a '{ [key]: [value] }' -d [key]=[value] [instance_name] [module_name]
$ dacrane down [instance_name]
t-ikeda-sti commented 11 months ago

Implemented.