Bolt.Sips issue with heroku deploy

Hi,

I have set up my app to use Bolt sips with my hosted neo4j db on graphene and it all works locally. I have been able to work with my hosted db in my dev environment, adding and accessing data. However, when I went to deploy to heroku i get the following error:

supervisors expect the child to be a module, a {module, arg} tuple or a map with the child specification, got: {:bolt_sips_pool, {:poolboy, :start_link, [[name: {:local, :bolt_sips_pool}, worker_module: Bolt.Sips.Connection, size: 5, max_overflow: 2, strategy: :fifo], [socket: :ssl, port: 24786, hostname: 'hobby-mnmmmgoodoangbke.dbs.graphenedb.com', retry_linear_backoff: [delay: 150, factor: 2, tries: 3], with_etls: false, max_overflow: 2, pool_size: 5, basic_auth: [username: \\"dev\\", password: \\"password\\"], url: \\"bolt://hobby-mnmmmgoodoangbke.dbs.graphenedb.com:24786\\", ssl: true, timeout: 15

my set up is as follows:
children in supervisor tree

def start(_type, _args) do
    import Supervisor.Spec
    children = [
      supervisor(MyApp.Repo, []),
      supervisor(MyAppWeb.Endpoint, []),
      {Bolt.Sips, Application.get_env(:bolt_sips, Bolt)}
    ]
   opts = [strategy: :one_for_one, name: MyApp.Supervisor]
   Supervisor.start_link(children, opts)
end

mix.exs:

def application do
   [
      mod: {MyApp.Application, []},
      extra_applications: [:logger, :runtime_tools, :bolt_sips]
    ]
 end

defp deps do
    [
       {:distillery, "~> 1.5.3"},
      {:phoenix, "~> 1.3.3"},
      {:phoenix_pubsub, "~> 1.0"},
      {:phoenix_ecto, "~> 3.2"},
      {:postgrex, ">= 0.0.0"},
      {:phoenix_html, "~> 2.10"},
      {:phoenix_live_reload, "~> 1.0", only: :dev},
      {:gettext, "~> 0.11"},
      {:cowboy, "~> 1.0"},
      {:elasticsearch, "~> 0.4.1"},
      {:elastix, ">= 0.0.0"},
      {:bolt_sips, "~> 0.4.12"},
      {:retry, "~> 0.8.0", override: true},
      {:httpoison, ">= 1.2.0", override: true},
      {:neo4j_sips, ">= 0.2.18"}
   ]
end

bolt sips config in config.exs:

config :bolt_sips, Bolt,
  basic_auth: [
    username: "dev", 
    password: System.get_env("GRAPHENEDB_TEST_PASS")
  ],
  url: System.get_env("GRAPHENEDB_TEST_URL"),
  ssl: true,
  timeout: 15_000

I also tried this in my supervisor tree.
worker(Bolt.Sips, [Application.get_env(:bolt_sips, Bolt)])
supervisor(Bolt.Sips, [Application.get_env(:bolt_sips, Bolt)])

in stead of
{Bolt.Sips, Application.get_env(:bolt_sips, Bolt)}

What am I missing here?

This looks to be the problem. Why not use a direct module/function pair?