Gitlab Community Edition Instance

Skip to content
Snippets Groups Projects
docker.rb 3.02 KiB
Newer Older
#
# Docker facts
#

$docker_containers = ''
$docker_containers_running = ''
$docker_containers_paused = ''
$docker_containers_stopped = ''
$docker_images = ''
$docker_version = ''
$docker_storage_driver = ''
$docker_logging_driver = ''
$docker_live_restore = ''
$test_docker=%x(which docker 2>/dev/null)
if $? == 0
    $docker_info = %x(docker info 2>/dev/null)
    $docker_info.each_line do |line|
        if (line[/^Containers/])
            $docker_containers = line[/^Containers:\s*([0-9]*)/,1].strip
        end
        if (line[/^\sRunning/])
            $docker_containers_running = line[/^\sRunning:\s*([0-9]*)/,1].strip
        end
        if (line[/^\sPaused/])
            $docker_containers_paused = line[/^\sPaused:\s*([0-9]*)/,1].strip
        end
        if (line[/^\sStopped/])
            $docker_containers_stopped = line[/^\sStopped:\s*([0-9]*)/,1].strip
        end
        if (line[/^Images/])
            $docker_images = line[/^Images:\s*([0-9]*)/,1].strip
        end
        if (line[/^Server\sVersion/])
            $docker_version = line[/^Server\sVersion:\s*([0-9.]*)/,1].strip
        end
        if (line[/^Storage\sDriver/])
            $docker_storage_driver = line[/^Storage\sDriver:\s*(.*)/,1].strip
        end
        if (line[/^Logging\sDriver/])
            $docker_logging_driver = line[/^Logging\sDriver:\s*(.*)/,1].strip
        end
        if (line[/^Live\sRestore\sEnabled/])
            $docker_live_restore = line[/^Live\sRestore\sEnabled:\s*(.*)/,1].strip
        end
    end
    Facter.add("docker_containers") do
        setcode do
            "#{$docker_containers}"
        end
    end
    Facter.add("docker_containers_running") do
        setcode do
            "#{$docker_containers_running}"
        end
    end
    Facter.add("docker_containers_paused") do
        setcode do
            "#{$docker_containers_paused}"
        end
    end
    Facter.add("docker_containers_stopped") do
        setcode do
            "#{$docker_containers_stopped}"
        end
    end
    Facter.add("docker_images") do
        setcode do
            "#{$docker_images}"
        end
    end
    Facter.add("docker_version") do
        setcode do
            "#{$docker_version}"
        end
    end
    Facter.add("docker_storage_driver") do
        setcode do
            "#{$docker_storage_driver}"
        end
    end
    Facter.add("docker_logging_driver") do
        setcode do
            "#{$docker_logging_driver}"
        end
    end
    Facter.add("docker_live_restore") do
        setcode do
            "#{$docker_live_restore}"
        end
    end
$docker_compose_version=''

$test_docker_compose=%x(which docker-compose 2>/dev/null)
if $? == 0
    $docker_compose_info = %x(docker-compose version 2>/dev/null)
    $docker_compose_info.each_line do |line|
        if (line[/^docker-compose version/])
            $docker_compose_version = line[/^docker-compose version\s*([0-9.]*)/,1].strip
        end
    end
    Facter.add("docker_compose_version") do
        setcode do
            "#{$docker_compose_version}"
        end
    end