Start containers in isolated network
This commit is contained in:
parent
69a6359ed1
commit
e60bc2dd28
16
src/faaso.cr
16
src/faaso.cr
@ -16,6 +16,20 @@ module Faaso
|
|||||||
# A simple persistent k/v store
|
# A simple persistent k/v store
|
||||||
store = Kiwi::FileStore.new(".kiwi")
|
store = Kiwi::FileStore.new(".kiwi")
|
||||||
|
|
||||||
|
# Ensure the faaso-net network exists
|
||||||
|
def self.setup_network
|
||||||
|
begin
|
||||||
|
docker_api = Docr::API.new(Docr::Client.new)
|
||||||
|
docker_api.networks.create(Docr::Types::NetworkConfig.new(
|
||||||
|
name: "faaso-net",
|
||||||
|
check_duplicate: false,
|
||||||
|
driver: "bridge"
|
||||||
|
))
|
||||||
|
rescue ex : Docr::Errors::DockerAPIError
|
||||||
|
raise ex if ex.status_code != 409 # Network already exists
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
module Commands
|
module Commands
|
||||||
class Build
|
class Build
|
||||||
@arguments : Array(String) = [] of String
|
@arguments : Array(String) = [] of String
|
||||||
@ -142,6 +156,7 @@ module Faaso
|
|||||||
end
|
end
|
||||||
|
|
||||||
# Deploy from scratch
|
# Deploy from scratch
|
||||||
|
Faaso.setup_network # We need it
|
||||||
puts "Creating new container"
|
puts "Creating new container"
|
||||||
conf = Docr::Types::CreateContainerConfig.new(
|
conf = Docr::Types::CreateContainerConfig.new(
|
||||||
image: "#{funko.name}:latest",
|
image: "#{funko.name}:latest",
|
||||||
@ -149,6 +164,7 @@ module Faaso
|
|||||||
# Port in the container side
|
# Port in the container side
|
||||||
exposed_ports: {"#{funko.port}/tcp" => {} of String => String},
|
exposed_ports: {"#{funko.port}/tcp" => {} of String => String},
|
||||||
host_config: Docr::Types::HostConfig.new(
|
host_config: Docr::Types::HostConfig.new(
|
||||||
|
network_mode: "faaso-net",
|
||||||
port_bindings: {"#{funko.port}/tcp" => [Docr::Types::PortBinding.new(
|
port_bindings: {"#{funko.port}/tcp" => [Docr::Types::PortBinding.new(
|
||||||
host_port: "", # Host port, empty means random
|
host_port: "", # Host port, empty means random
|
||||||
host_ip: "127.0.0.1", # Host IP
|
host_ip: "127.0.0.1", # Host IP
|
||||||
|
7
tinyproxy/tinyproxy.conf
Normal file
7
tinyproxy/tinyproxy.conf
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
Port 8888
|
||||||
|
Listen 0.0.0.0
|
||||||
|
Timeout 600
|
||||||
|
Allow 0.0.0.0/0
|
||||||
|
ReverseOnly Yes
|
||||||
|
ReversePath "/faaso/hello" "http://localhost:32783"
|
||||||
|
ReverseMagic Yes
|
Loading…
Reference in New Issue
Block a user