Skip to content

[progress] begin feeling around in the dark.#24

Open
c4lliope wants to merge 1 commit intomarciok:mainfrom
c4lliope:igniter
Open

[progress] begin feeling around in the dark.#24
c4lliope wants to merge 1 commit intomarciok:mainfrom
c4lliope:igniter

Conversation

@c4lliope
Copy link

@c4lliope c4lliope commented Jan 29, 2026

Early progress; I use some un-idiomatic, and therefore un-idempotent, changes when it comes to the .env variables. There is a portion of the code that is dis-engaged, and I'll circle around tomorrow to clean up the remainder. I'm pleased with the pieces you see here in the console log though.

I had a bunch of help from examining Oban's example.

➜ nd mix igniter.install gust_web@path:/home/calliope/space/code/marciok/gust/apps/gust_web
warning: Git tree '/home/calliope/share/gram/op' is dirty
checking for igniter in project ✔
Updating project's igniter dependency ✔
compiling igniter ✔
setting up igniter ✔

Update: mix.exs

     ...|
38 38   |  defp deps do
39 39   |    [
   40 + |      {:gust_web, [path: "/home/calliope/space/code/marciok/gust/apps/gust_web", override: true]},
40 41   |      {:bandit, "~> 1.5"},
41 42   |      # {:boltx, "~> 0.0.6"},
     ...|
89 90   |      "assets.build": [
90 91   |        "cmd --cd assets yarn install --production",
91    - |        "cmd --cd assets npx vite build",
92    - |      ],
   92 + |        "cmd --cd assets npx vite build"
   93 + |      ]
93 94   |    ]
94 95   |  end
     ...|


Warning! Uncommitted git changes detected in the project.

You may want to save these changes and rerun this command.
This ensures that you can run `git reset` to undo the changes.

Output of `git status -s --porcelain`:

# ....


Modify mix.exs and install?
 [Y/n] y
fetching deps ✔
compiling gust_web ✔
==> Gust Dev Config
`gust_web.install` ✔

The following installer was found and executed: `gust_web.install`:

Update: config/config.exs

     ...|
 9  9   |
10 10   |config :op,
11    - |  generators: [timestamp_type: :utc_datetime]
   11 + |  generators: [timestamp_type: :utc_datetime],
   12 + |  gust: [app_name: :op, dag_logger: Gust.DAG.Logger.Database],
   13 + |  op: [ecto_repos: [Gust.Repo]],
   14 + |  logger: [
   15 + |    backends: [console: Gust.DAG.Logger.Database],
   16 + |    default_formatter: [format: "$time $metadata[$level] $message
   17 + |", metadata: [:request_id, :task_id, :attempt]]
   18 + |  ]
12 19   |
13 20   |# config :boltx, Bolt,
     ...|


Update: config/dev.exs

 1  1   |import Config
 2  2   |
    3 + |config :op,
    4 + |  gust_web: [
    5 + |    "Elixir.GustWeb.Endpoint": [
    6 + |      url: {:host, "localhost"},
    7 + |      adapter: Bandit.PhoenixAdapter,
    8 + |      render_errors: [layout: false, formats: [html: GustWeb.ErrorHTML, json: GustWeb.ErrorJSON]],
    9 + |      pubsub_server: Gust.PubSub,
   10 + |      live_view: [signing_salt: "6RV/E3VK"],
   11 + |      http: [ip: {127, 0, 0, 1}, port: String.to_integer(System.get_env("PORT") || "4000")],
   12 + |      check_origin: false,
   13 + |      secret_key_base: "3ltqdzFt"
   14 + |    ]
   15 + |  ]
   16 + |
 3 17   |# In local mode, disable any cache and enable debugging and code reloading.
 4 18   |config :op, OpWeb.Endpoint,
     ...|
34 48   |      ~r"priv/gettext/.*(po)$",
35 49   |      ~r"lib/op_web/(controllers|live|components)/.*(ex|heex)$",
36    - |      ~r"page/*",
   50 + |      ~r"page/*"
37 51   |    ]
38 52   |  ]
     ...|


Update: mix.exs

       ...|
 38  38   |  defp deps do
 39  39   |    [
     40 + |      {:plug_cowboy, "~> 2.7", only: :prod},
     41 + |      {:hackney, "~> 1.9"},
     42 + |      {:file_system, "~> 1.1", only: :dev},
 40  43   |      {:gust_web, [path: "/home/calliope/space/code/marciok/gust/apps/gust_web", override: true]},
 41  44   |      {:bandit, "~> 1.5"},
       ...|


Proceed with changes? [Y/n] y

When merged,
closes #23

@marciok
Copy link
Owner

marciok commented Jan 29, 2026

Awesome! Yes, that was on my TODO list. Happy to accept when it's completed 💯

@c4lliope
Copy link
Author

Logging on now, I'll keep bumping into the rough edges for a few hours.

@c4lliope
Copy link
Author

I ducked away for a few days, and as I look back on this, Igniter begins to make less sense than I thought. I'm unsure there's really coherent documentation around this package, tbh. I feel like I need to go through a bunch of examples to find the pieces that mesh, so here is a resource drop.

Packages depending on Igniter

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[proposal] Launch using igniter.

2 participants