Skip to content

Commit aa580d3

Browse files
committed
feat: add with_privileged for Container
1 parent 5d63c7f commit aa580d3

2 files changed

Lines changed: 30 additions & 0 deletions

File tree

lib/container.ex

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,16 @@ defmodule Testcontainers.Container do
170170
%__MODULE__{config | auto_remove: auto_remove}
171171
end
172172

173+
@doc """
174+
Sets whether the container should run in privileged mode.
175+
176+
Required for containers that need access to the Docker/Podman socket
177+
when running under SELinux (e.g., Ryuk on Podman).
178+
"""
179+
def with_privileged(%__MODULE__{} = config, privileged) when is_boolean(privileged) do
180+
%__MODULE__{config | privileged: privileged}
181+
end
182+
173183
@doc """
174184
Sets whether the container should be reused if it is already running.
175185
"""

test/container_test.exs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,4 +205,24 @@ defmodule Testcontainers.ContainerTest do
205205
end
206206
end
207207
end
208+
209+
describe "with_privileged/2" do
210+
test "sets privileged to true" do
211+
container = Container.new("my-image")
212+
assert container.privileged == false
213+
214+
updated_container = Container.with_privileged(container, true)
215+
216+
assert updated_container.privileged == true
217+
end
218+
219+
test "sets privileged to false" do
220+
container =
221+
Container.new("my-image")
222+
|> Container.with_privileged(true)
223+
|> Container.with_privileged(false)
224+
225+
assert container.privileged == false
226+
end
227+
end
208228
end

0 commit comments

Comments
 (0)