fastiot.cli.model.deployment module¶
Data models for deployment configurations
- pydantic model fastiot.cli.model.deployment.InfrastructureServiceConfig[source]¶
-
field external:
bool
= False¶ Allows to mention services running on external servers and configured manually. This will avoid warnings in the setup process if services specified by the services as dependency could not be found.
Attention: You need to manage the environment variables like host and port yourself if using
external = True
.
-
field external:
- pydantic model fastiot.cli.model.deployment.ServiceConfig[source]¶
The config for a service
-
field image:
str
[Required]¶ The name defines which service is taken. Must contain possible namespace identifiers as a prefix, e.g. fastiot/time_series
-
field docker_registry:
str
= ''¶ The specified docker registry. If given it will override the docker_registry for the service, otherwise the locally configured docker registry will be used.
-
field tag:
str
= ''¶ The specified tag. If given it will override the tag for the service
-
field environment:
Dict
[str
,str
] = {}¶ Includes all environment variables specifically for this service
-
field image:
- pydantic model fastiot.cli.model.deployment.AnsibleHost[source]¶
Represents a host for Ansible based deployments, used by
fastiot.cli.models.deployment.DeploymentTargetSetup
-
field ip:
str
[Required]¶ IP-Address (or DNS-resolvable hostname) where to find the host.
- You may also add additional parameters to be placed in the inventory (hosts) file for ansible like
ansible_user=some_special_user
directly following the string.
-
field ip:
- pydantic model fastiot.cli.model.deployment.DeploymentTargetSetup[source]¶
Configuration options to generate ansible playbooks on the fly to deploy your project
-
field hosts:
Dict
[str
,AnsibleHost
] [Required]¶ A list with ansible hosts to deploy the setup to
-
field remote_user:
Optional
[str
] = 'ubuntu'¶ The remote user to use to logins for all hosts, defaults to
ubuntu
-
field link_prometheus:
bool
= False¶ Set to
True
to enable automatically link the Prometheus-Client configuration copied by Ansible to host to the current project. Only works if you do not havedocker-compose.override.yaml
in your deployment already.
-
field hosts:
- pydantic model fastiot.cli.model.deployment.DeploymentConfig[source]¶
Represents an imported config. All fields are already overwritten specified command line parameters, currently including environment, docker_registry and tag
-
field name:
str
[Required]¶ - Validated by:
-
field version:
int
= 1¶ - Validated by:
-
field services:
Dict
[str
,Optional
[ServiceConfig
]] = {}¶ List of services for the deployment
- Validated by:
-
field infrastructure_services:
Dict
[str
,InfrastructureServiceConfig
] = {}¶ List of infrastructure services for the deployment
- Validated by:
-
field deployment_target:
Optional
[DeploymentTargetSetup
] = None¶ A deployment configuration to auto-generate Ansible Playbooks
- Validated by:
-
field docker_registry:
str
= ''¶ Specify a docker registry which acts as a default registry for all services (not infrastructure services). Overrides any docker registry specified by CLI.
- Validated by:
-
field tag:
str
= ''¶ Specify a docker tag which acts as a default tag for all services (not infrastructure services). Overrides any docker tag specified by CLI.
- Validated by:
-
field config_dir:
str
= './config_dir'¶ Specify a config dir. The config dir will get mounted to /etc/fastiot
It defaults to
config_dir
- Validated by:
-
field name: