-
Notifications
You must be signed in to change notification settings - Fork 32
Open
Description
I am getting this error when trying to view it in the browser:
RequestId: 3f848f5e-4cb4-4820-aa55-fef28313dfd5 Error: exec: "Elixir.NgspiceProxy:hello_world": executable file not found in $PATH
Runtime.InvalidEntrypoint
At Lambda setup:
ENTRYPOINT override
Elixir.NgspiceProxy:hello_world
here is my entrypoint: lib/ngspice_proxy.ex
defmodule NgspiceProxy do
@moduledoc """
Entrypoint for my hello world Lambda function.
"""
require Logger
@doc """
The lambda entrypoint is just a public function in a module which accepts
two maps.
The returned term will be passed to Poison for Json Encoding.
"""
@spec hello_world(Map.t(), Map.t()) :: Term
def hello_world(request, context) when is_map(request) and is_map(context) do
"""
Hello World!
Got reqeust #{Kernel.inspect(request)}
Got Context #{Kernel.inspect(context)}
"""
|> Logger.info()
:ok
end
end
mix.exs
defmodule NgspiceProxy.MixProject do
use Mix.Project
def project do
[
app: :ngspice_proxy,
version: "0.1.0",
elixir: "~> 1.5",
elixirc_paths: elixirc_paths(Mix.env()),
compilers: [:phoenix, :gettext] ++ Mix.compilers(),
start_permanent: Mix.env() == :prod,
aliases: aliases(),
deps: deps()
]
end
def application do
[
mod: {NgspiceProxy.Application, []},
extra_applications: [:logger, :runtime_tools, :edeliver],
]
end
defp deps do
[
{:aws_lambda_elixir_runtime, "~> 0.1.0"},
{:phoenix, "~> 1.4.7"},
{:phoenix_pubsub, "~> 1.1"},
{:phoenix_html, "~> 2.11"},
{:phoenix_live_reload, "~> 1.2", only: :dev},
{:gettext, "~> 0.11"},
{:jason, "~> 1.0"},
{:plug_cowboy, "~> 2.0"},
{:temp, "~> 0.4"},
{:cortex, "~> 0.1", only: [:dev, :test]},
{:edeliver, ">= 1.6.0"},
{:distillery, "~> 2.1.1"},
{:mix_deploy, "~> 0.1.0"},
{:rename, "~> 0.1.0", only: :dev}
]
end
defp aliases do
[
"ecto.setup": ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"],
"ecto.reset": ["ecto.drop", "ecto.setup"],
test: ["ecto.create --quiet", "ecto.migrate", "test"]
]
end
end
Dockerfile
FROM elixir:1.6.6-otp-21 as build
RUN apt-get update
RUN apt-get install -y inotify-tools
WORKDIR /app
COPY . /app
RUN mix local.hex --force
RUN mix local.rebar --force
RUN mix deps.get
RUN mix compile.phoenix
FROM elixir:1.6.6-otp-21-alpine as final
RUN apk update && apk add inotify-tools
WORKDIR /app
COPY --from=build /app .
COPY --from=build /usr/bin/ngspice /usr/bin/ngspice
ENV PATH="${PATH}:/app"
EXPOSE 8080
CMD ["mix", "phx.server"]
Any idea ?
Metadata
Metadata
Assignees
Labels
No labels