Ejemplo n.º 1
0
def managed_containers(request):
    ctx = context()
    project_name = docker.compose_config(
    ).project_name if docker.compose_config() else None
    if project_name:
        ctx = context({
            "project_list": [
                docker.compose_project_by_name(
                    docker.compose_config().project_name)
            ]
        })
    return render(request, "compose_ui/project_containers.html", ctx)
Ejemplo n.º 2
0
def other_project_containers(request):
    ctx = context()
    project_name_to_exclude = docker.compose_config(
    ).project_name if docker.compose_config() else None
    if project_name_to_exclude:
        ctx = context({
            "container_list":
            docker.containers_for_project(
                exclude_project_name=project_name_to_exclude),
            "other_projects":
            True,
        })
    return render(request, "compose_ui/standalone_containers.html", ctx)
Ejemplo n.º 3
0
def view_compose_file(request, error=None):
    compose_config = docker.compose_config()
    return render(
        request,
        "compose_ui/file_editor.html",
        context({
            "doc_file": compose_config.original_file_content(),
            "error": error
        }),
    )
Ejemplo n.º 4
0
def service_logs(request, project_name, service_name):
    lines = request.GET.get("lines", 100)
    logs = docker.service_logs(project_name=project_name,
                               service_name=service_name,
                               lines=lines)
    return render(
        request,
        "compose_ui/logs.html",
        context({
            "auto_refresh": False,  # never auto-refresh logs
            "lines": lines,
            "project_name": project_name,
            "service_name": service_name,
            "logs": logs,
        }),
    )
Ejemplo n.º 5
0
def container_logs(request, container_id):
    try:
        container = docker.container_by_id(container_id)
        docker.check_container_permission(user=request.user,
                                          container=container,
                                          perm="container_logs")
        lines = int(request.GET.get("lines", 100))
        logs = container.logs(lines)
        return render(
            request,
            "compose_ui/logs.html",
            context({
                "auto_refresh": False,  # never auto-refresh logs
                "lines": lines,
                "container_name": container.name,
                "logs": logs,
            }),
        )
    except NotFound as error:
        raise Http404(error.explanation)
    except CalledProcessError:
        return HttpResponseServerError("error getting container logs")
    except PermissionDenied:
        return HttpResponseForbidden()
Ejemplo n.º 6
0
def docker_system(request):
    config = docker.compose_config()
    return render(request, "compose_ui/system.html",
                  context({"compose_file": bool(config)}))
Ejemplo n.º 7
0
def standalone_containers(request):
    ctx = context({"container_list": docker.standalone_containers()})
    return render(request, "compose_ui/standalone_containers.html", ctx)