More prod prep
parent
15bed4494c
commit
1661d10d15
|
@ -6,8 +6,6 @@ config :logger,
|
|||
|
||||
config :farmbot, data_path: "/root"
|
||||
|
||||
# This is usually in the `priv` dir of :tzdata, but our fs is read only.
|
||||
# config :tzdata, :data_dir, "/root"
|
||||
# Disable tzdata autoupdates because it tries to dl the update file
|
||||
# Before we have network or ntp.
|
||||
config :tzdata, :autoupdate, :disabled
|
||||
|
@ -68,27 +66,11 @@ config :farmbot, :behaviour,
|
|||
update_handler: Farmbot.Target.UpdateHandler,
|
||||
gpio_handler: Farmbot.Target.GPIO.AleHandler
|
||||
|
||||
local_file = Path.join(System.user_home!(), ".ssh/id_rsa.pub")
|
||||
local_key = if File.exists?(local_file) do
|
||||
[File.read!(local_file)]
|
||||
else
|
||||
[]
|
||||
end
|
||||
|
||||
travis_file = "travis_env"
|
||||
travis_keys = if File.exists?(travis_file) do
|
||||
File.read!(travis_file) |> String.split(",")
|
||||
else
|
||||
[]
|
||||
end
|
||||
|
||||
config :nerves_firmware_ssh, authorized_keys: local_key ++ travis_keys
|
||||
|
||||
config :nerves_init_gadget,
|
||||
address_method: :static
|
||||
|
||||
config :bootloader,
|
||||
init: [:nerves_runtime, :nerves_init_gadget],
|
||||
init: [:nerves_runtime],
|
||||
app: :farmbot
|
||||
|
||||
if Mix.Project.config[:target] == "rpi3" do
|
||||
|
|
|
@ -6,8 +6,6 @@ config :logger,
|
|||
|
||||
config :farmbot, data_path: "/root"
|
||||
|
||||
# This is usually in the `priv` dir of :tzdata, but our fs is read only.
|
||||
config :tzdata, :data_dir, "/root"
|
||||
# Disable tzdata autoupdates because it tries to dl the update file
|
||||
# Before we have network or ntp.
|
||||
config :tzdata, :autoupdate, :disabled
|
||||
|
|
|
@ -9,4 +9,7 @@ defmodule Farmbot.System.UpdateHandler do
|
|||
|
||||
@doc "Apply a fw update."
|
||||
@callback apply_firmware(Path.t) :: :ok | {:error, term}
|
||||
|
||||
@doc "Setup updates."
|
||||
@callback setup(atom) :: :ok | {:error, term}
|
||||
end
|
||||
|
|
|
@ -150,11 +150,16 @@ defmodule Farmbot.System.Updates do
|
|||
end
|
||||
|
||||
def init([]) do
|
||||
maybe_post_update()
|
||||
children = [
|
||||
worker(Farmbot.System.UpdateTimer, [])
|
||||
]
|
||||
opts = [strategy: :one_for_one]
|
||||
supervise(children, opts)
|
||||
case @handler.setup(@env) do
|
||||
:ok ->
|
||||
maybe_post_update()
|
||||
children = [
|
||||
worker(Farmbot.System.UpdateTimer, [])
|
||||
]
|
||||
opts = [strategy: :one_for_one]
|
||||
supervise(children, opts)
|
||||
{:error, reason} ->
|
||||
{:stop, reason}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
2
mix.exs
2
mix.exs
|
@ -123,7 +123,7 @@ defmodule Farmbot.Mixfile do
|
|||
{:bootloader, "~> 0.1"},
|
||||
{:nerves_runtime, "~> 0.4"},
|
||||
{:nerves_firmware, "~> 0.4.0"},
|
||||
{:nerves_firmware_ssh, "~> 0.2"},
|
||||
{:nerves_firmware_ssh, "~> 0.2", only: :dev},
|
||||
{:nerves_network, "~> 0.3", github: "nerves-project/nerves_network", override: true},
|
||||
{:dhcp_server, github: "nerves-project/dhcp_server", branch: "elixirize-go!", override: true},
|
||||
{:elixir_ale, "~> 1.0"}
|
||||
|
|
|
@ -11,10 +11,14 @@ defmodule Farmbot.Host.UpdateHandler do
|
|||
end
|
||||
|
||||
def before_update do
|
||||
|
||||
:ok
|
||||
end
|
||||
|
||||
def post_update do
|
||||
:ok
|
||||
end
|
||||
|
||||
def setup(_env) do
|
||||
:ok
|
||||
end
|
||||
end
|
||||
|
|
|
@ -18,4 +18,14 @@ defmodule Farmbot.Target.UpdateHandler do
|
|||
Farmbot.Firmware.UartHandler.Update.maybe_update_firmware()
|
||||
:ok
|
||||
end
|
||||
|
||||
def setup(:prod) do
|
||||
file = "#{:code.priv_dir(:farmbot)}/fwup-key.pub"
|
||||
Application.put_env(:nerves_firmware, :pub_key_path, file)
|
||||
if File.exists?(file), do: :ok, else: {:error, :no_pub_file}
|
||||
end
|
||||
|
||||
def setup(_) do
|
||||
:ok
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue