137 lines
3.7 KiB
Elixir
137 lines
3.7 KiB
Elixir
use Mix.Config
|
|
local_file = Path.join(System.user_home!(), ".ssh/id_rsa.pub")
|
|
local_key = if File.exists?(local_file), do: [File.read!(local_file)], else: []
|
|
|
|
config :nerves_firmware_ssh,
|
|
authorized_keys: local_key
|
|
|
|
config :vintage_net,
|
|
regulatory_domain: "00",
|
|
persistence: VintageNet.Persistence.Null,
|
|
config: [
|
|
{"wlan0", %{type: VintageNet.Technology.Null}},
|
|
{"usb0",
|
|
%{
|
|
type: FarmbotOS.Platform.Target.Configurator.CaptivePortal,
|
|
ipv4: %{
|
|
method: :static,
|
|
address: "192.168.25.1",
|
|
netmask: "255.255.255.0"
|
|
},
|
|
dnsmasq: %{
|
|
domain: "farmbot",
|
|
server: "192.168.25.1",
|
|
address: "192.168.25.1",
|
|
start: "192.168.25.2",
|
|
end: "192.168.25.10"
|
|
}
|
|
}}
|
|
]
|
|
|
|
config :mdns_lite,
|
|
mdns_config: %{
|
|
host: :hostname,
|
|
ttl: 120
|
|
},
|
|
services: [
|
|
# service type: _http._tcp.local - used in match
|
|
%{
|
|
name: "Configurator",
|
|
protocol: "http",
|
|
transport: "tcp",
|
|
port: 80
|
|
},
|
|
# service_type: _ssh._tcp.local - used in match
|
|
%{
|
|
name: "Secure Socket",
|
|
protocol: "ssh",
|
|
transport: "tcp",
|
|
port: 22
|
|
}
|
|
]
|
|
|
|
config :shoehorn,
|
|
init: [
|
|
:nerves_runtime,
|
|
:vintage_net,
|
|
:nerves_firmware_ssh,
|
|
:farmbot_core,
|
|
:farmbot_ext
|
|
],
|
|
handler: FarmbotOS.Platform.Target.ShoehornHandler,
|
|
app: :farmbot
|
|
|
|
config :tzdata, :autoupdate, :disabled
|
|
|
|
config :farmbot_core, FarmbotCore.AssetWorker.FarmbotCore.Asset.PublicKey,
|
|
ssh_handler: FarmbotOS.Platform.Target.SSHConsole
|
|
|
|
config :farmbot_core, FarmbotCore.AssetWorker.FarmbotCore.Asset.PinBinding,
|
|
gpio_handler: FarmbotOS.Platform.Target.PinBindingWorker.CircuitsGPIOHandler,
|
|
# gpio_handler: FarmbotCore.PinBindingWorker.StubGPIOHandler,
|
|
error_retry_time_ms: 30_000
|
|
|
|
config :farmbot_core, FarmbotCore.Leds,
|
|
gpio_handler: FarmbotOS.Platform.Target.Leds.CircuitsHandler
|
|
|
|
data_path = Path.join("/", "root")
|
|
|
|
config :farmbot, FarmbotOS.FileSystem, data_path: data_path
|
|
|
|
config :farmbot_core, FarmbotCore.Config.Repo,
|
|
adapter: Sqlite.Ecto2,
|
|
loggers: [],
|
|
pool_size: 1,
|
|
database: Path.join(data_path, "config-#{Mix.env()}.sqlite3")
|
|
|
|
config :farmbot_core, FarmbotCore.Logger.Repo,
|
|
adapter: Sqlite.Ecto2,
|
|
loggers: [],
|
|
pool_size: 1,
|
|
database: Path.join(data_path, "logs-#{Mix.env()}.sqlite3")
|
|
|
|
config :farmbot_core, FarmbotCore.Asset.Repo,
|
|
adapter: Sqlite.Ecto2,
|
|
loggers: [],
|
|
pool_size: 1,
|
|
database: Path.join(data_path, "asset-#{Mix.env()}.sqlite3")
|
|
|
|
config :farmbot_telemetry,
|
|
file: to_charlist(Path.join(data_path, 'farmbot-telemetry.dets'))
|
|
|
|
config :farmbot, FarmbotOS.Platform.Supervisor,
|
|
platform_children: [
|
|
FarmbotOS.Platform.Target.NervesHubClient,
|
|
FarmbotOS.Platform.Target.Network.Supervisor,
|
|
FarmbotOS.Platform.Target.SSHConsole,
|
|
FarmbotOS.Platform.Target.Uevent.Supervisor,
|
|
FarmbotOS.Platform.Target.InfoWorker.Supervisor
|
|
]
|
|
|
|
config :farmbot, FarmbotOS.Configurator,
|
|
network_layer: FarmbotOS.Platform.Target.Configurator.VintageNetworkLayer
|
|
|
|
config :farmbot, FarmbotOS.System,
|
|
system_tasks: FarmbotOS.Platform.Target.SystemTasks
|
|
|
|
config :nerves_hub,
|
|
client: FarmbotOS.Platform.Target.NervesHubClient,
|
|
remote_iex: true,
|
|
public_keys: [File.read!("priv/staging.pub"), File.read!("priv/prod.pub")]
|
|
|
|
config :nerves_hub, NervesHub.Socket, reconnect_interval: 30_000
|
|
|
|
config :farmbot_core, FarmbotCore.FirmwareOpenTask, attempt_threshold: 5_000_000
|
|
|
|
config :farmbot_core, FarmbotCore.AssetWorker.FarmbotCore.Asset.FbosConfig,
|
|
firmware_flash_attempt_threshold: :infinity
|
|
|
|
config :logger,
|
|
backends: [RingLogger],
|
|
handle_otp_reports: true,
|
|
handle_sasl_reports: true
|
|
|
|
config :logger, RingLogger,
|
|
max_size: 1024,
|
|
color: [enabled: true]
|