Current section
19 Versions
Jump to
Current section
19 Versions
Compare versions
4
files changed
+17
additions
-5
deletions
| @@ -13,7 +13,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | |
| 13 13 | |
| 14 14 | <!--------------------- Don't add new entries after this line ---------------------> |
| 15 15 | |
| 16 | - ## 0.1.4 - 2024-08-11 |
| 16 | + ## 0.1.5 - 2024-08-24 |
| 17 | + |
| 18 | + ### Added |
| 19 | + |
| 20 | + - `Kubereq.wait_until/5`: Support returning `{:error, error}` tuple in the callback |
| 21 | + |
| 22 | + ## 0.1.4 - 2024-08-21 |
| 17 23 | |
| 18 24 | ### Fixed |
| @@ -3,7 +3,7 @@ | |
| 3 3 | {<<"GitHub">>,<<"https://github.com/mruoss/kubereq">>}, |
| 4 4 | {<<"Sponsor">>,<<"https://github.com/sponsors/mruoss">>}]}. |
| 5 5 | {<<"name">>,<<"kubereq">>}. |
| 6 | - {<<"version">>,<<"0.1.4">>}. |
| 6 | + {<<"version">>,<<"0.1.5">>}. |
| 7 7 | {<<"description">>,<<"A Kubernetes Client using Req.">>}. |
| 8 8 | {<<"elixir">>,<<"~> 1.16">>}. |
| 9 9 | {<<"app">>,<<"kubereq">>}. |
| @@ -38,7 +38,7 @@ defmodule Kubereq do | |
| 38 38 | """ |
| 39 39 | alias Kubereq.Step |
| 40 40 | |
| 41 | - @type wait_until_callback :: (map() | :deleted -> boolean) |
| 41 | + @type wait_until_callback :: (map() | :deleted -> boolean | {:error, any}) |
| 42 42 | @type wait_until_response :: :ok | {:error, :watch_timeout} |
| 43 43 | @type response() :: {:ok, Req.Response.t()} | {:error, Exception.t()} |
| 44 44 | @type namespace :: String.t() | nil |
| @@ -335,6 +335,7 @@ defmodule Kubereq do | |
| 335 335 | result |
| 336 336 | else |
| 337 337 | {:init, true} -> :ok |
| 338 | + {:init, {:error, error}} -> {:error, error} |
| 338 339 | {:error, error} -> {:error, error} |
| 339 340 | end |
| 340 341 | end |
| @@ -342,7 +343,12 @@ defmodule Kubereq do | |
| 342 343 | defp wait_event_loop(ref, callback) do |
| 343 344 | receive do |
| 344 345 | {^ref, %{"type" => "DELETED"}} -> |
| 345 | - if callback.(:deleted), do: :ok, else: wait_event_loop(ref, callback) |
| 346 | + case callback.(:deleted) do |
| 347 | + true -> :ok |
| 348 | + false -> :ok |
| 349 | + :ok -> :ok |
| 350 | + {:error, error} -> {:error, error} |
| 351 | + end |
| 346 352 | |
| 347 353 | {^ref, %{"object" => resource}} -> |
| 348 354 | if callback.(resource), do: :ok, else: wait_event_loop(ref, callback) |
| @@ -3,7 +3,7 @@ defmodule Kubereq.MixProject do | |
| 3 3 | |
| 4 4 | @app :kubereq |
| 5 5 | @source_url "https://github.com/mruoss/#{@app}" |
| 6 | - @version "0.1.4" |
| 6 | + @version "0.1.5" |
| 7 7 | |
| 8 8 | def project do |
| 9 9 | [ |