<?xml version="1.0" encoding="UTF-8"?>
<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" >
    <wicket:head>
        <title>Karaf WebConsole</title>
    </wicket:head>

    <body>
        <wicket:extend>
            <h1>Karaf overview</h1>
            <p>
                You run Karaf in version <span wicket:id="version">2.2.3</span>
            </p>

            <h2>Directories</h2>
            <ul>
                <li>
                    Karaf home <span wicket:id="home">/opt/karaf/2.2.3</span>
                </li>
                <li>
                    Karaf base <span wicket:id="base">/opt/karaf/2.2.3</span>
                </li>
                <li>
                    Karaf data directory <span wicket:id="data">/opt/karaf/2.2.3/data</span>
                </li>
                <li>
                    Karaf instances directory <span wicket:id="instances">/opt/karaf/2.2.3/instances</span>
                </li>
            </ul>

            <h2>Consoles</h2>
            <ul>
                <li>
                    Local console is enabled: <span wicket:id="localConsole" />
                </li>
                <li>
                    Remote shell is enabled: <span wicket:id="remoteShell" />
                </li>
            </ul>
        </wicket:extend>
    </body>
</html>