docs(showcase): add a showcase to document networkmanager, podman and cockpit
|
|
@ -22,6 +22,7 @@ same structures.
|
|||
:caption: Introduction and Overview
|
||||
|
||||
Quick Build <quick-build>
|
||||
Features Showcase <showcase/index>
|
||||
Setting up a CoreOS based distro <using-coreos>
|
||||
Building and using a Container Image <using-container>
|
||||
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ CoreOS doesn't define any custom distro feature for now, but the
|
|||
can be used.
|
||||
|
||||
.. index:: IMAGE_FEATURES
|
||||
.. _ref-features-image:
|
||||
|
||||
Image Features
|
||||
==============
|
||||
|
|
@ -36,6 +37,13 @@ these features is as follows:
|
|||
- *tools-debug:* Installs debugging tools such as ``strace`` and ``gdb``.
|
||||
- *tools-profile:* Installs profiling tools such as ``valgrind`` and ``perf``.
|
||||
- *ssh-server:* Installs the Dropbear minimal SSH server.
|
||||
- *podman:*: Installs the Podman container runtime
|
||||
- *networkmanager:* Installs the NetworkManager daemon and command line client
|
||||
- *cockpit:* Installs the cockpit web interface
|
||||
- *dev-tools:* Install some developer command line tools
|
||||
|
||||
The *cockpit* and *dev-tools* feature are special, as they will automatically
|
||||
add package based on the other image feature that are enabled.
|
||||
|
||||
:external:ref:`IMAGE_FEATURES <ref-features-image>` defined in OpenEmbedded-Core
|
||||
are also available, but note that the
|
||||
|
|
|
|||
|
|
@ -0,0 +1,89 @@
|
|||
.. _ref-cockpit:
|
||||
|
||||
Cockpit Web Interface
|
||||
=====================
|
||||
|
||||
The Cockpit Web Interface is an easy-to-use web based interface made to manage
|
||||
a Linux based server. It intentionally uses standard system API like `systemd`,
|
||||
`pam`, `networkmanager` making it easily integrable and interoperable on
|
||||
any Linux operating system using these programs.
|
||||
|
||||
.. image:: cockpit/overview.png
|
||||
|
||||
.. important::
|
||||
|
||||
Providing and supporting a web management interface is out of the scope of
|
||||
CoreOS. We provide some facilities to install this web interface as it's
|
||||
available in `meta-openembedded` and we find it useful for developer.
|
||||
|
||||
The Cockpit Web Interface can be installed on an image by adding `cockpit` to
|
||||
the :ref:`IMAGE_FEATURES <ref-features-image>` variable. You can then access
|
||||
the web interface on the port 9090: `https://TARGET_IP:9090`
|
||||
|
||||
.. hint::
|
||||
Cockpit use standard Linux authentification method. The simplest way to
|
||||
get a login is to enable the `debug-tweak`
|
||||
:ref:`IMAGE_FEATURES <ref-features-image>`, then login with `root` as
|
||||
username and an empty password.
|
||||
|
||||
See https://cockpit-project.org/guide/latest/authentication for more info
|
||||
|
||||
When the `cockpit` `IMAGE_FEATURES`` is used, the following feature of are
|
||||
availabe:
|
||||
|
||||
Dashboard
|
||||
---------
|
||||
|
||||
The dashboard allows seeing some system statistic in real time.
|
||||
|
||||
.. image:: cockpit/dashboard.png
|
||||
|
||||
.. hint::
|
||||
The statistics are not stored, so they are only available when the dashboard
|
||||
page is open
|
||||
|
||||
Logs Viewer
|
||||
-----------
|
||||
|
||||
The log viewer allows seeing the log from `journalctl`.
|
||||
|
||||
.. image:: cockpit/log.png
|
||||
|
||||
Accounts management
|
||||
-------------------
|
||||
|
||||
The account management allow creating and managing users. For existing user, the
|
||||
account can be locked, the password changed and SSH public key can be added.
|
||||
|
||||
|
||||
.. image:: cockpit/accounts.png
|
||||
|
||||
Services management
|
||||
-------------------
|
||||
|
||||
The services page allows managing `systemd` service. Service can be started,
|
||||
restarted, stopped, enabled or disabled. Logs related to the service can also be
|
||||
viewed easily.
|
||||
|
||||
.. image:: cockpit/services.png
|
||||
|
||||
Web Terminal
|
||||
------------
|
||||
|
||||
The terminal page gives access to a web terminal, allowing to interact with the
|
||||
shell of the device.
|
||||
|
||||
.. image:: cockpit/terminal.png
|
||||
|
||||
Additional plugins
|
||||
------------------
|
||||
|
||||
Additional plugin can be installed for `cockpit`, like `podman-cockpit` that
|
||||
allow to manage podman container from the cockpit web interface. When possible,
|
||||
CoreOS automatically add the corresponding `cockpit` plugin when additional
|
||||
features are added via :ref:`IMAGE_FEATURES <ref-features-image>`.
|
||||
|
||||
As an example, the `cockpit-podman` package is automatically installed if
|
||||
:ref:`IMAGE_FEATURES <ref-features-image>` contains both `cockpit` and `podman`.
|
||||
|
||||
These plugins are documented in the corresponding features showcase page.
|
||||
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 70 KiB |
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 115 KiB |
|
After Width: | Height: | Size: 110 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
|
@ -0,0 +1,15 @@
|
|||
|
||||
=================
|
||||
Features Showcase
|
||||
=================
|
||||
|
||||
|
|
||||
|
||||
.. toctree::
|
||||
:caption: Table of Contents
|
||||
:numbered:
|
||||
:maxdepth: 1
|
||||
|
||||
cockpit
|
||||
networkmanager
|
||||
podman
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
.. _ref-networkmanager:
|
||||
|
||||
NetworkManager
|
||||
==============
|
||||
|
||||
NetworkManager is the standard Linux network configuration tool suite. It
|
||||
supports large range of networking setups, from desktop to servers and
|
||||
mobile and integrates well with popular desktop environments and server
|
||||
configuration management tools.
|
||||
|
||||
https://networkmanager.dev/
|
||||
|
||||
NetworkManager can be installed on an image by adding `networkmanager` to
|
||||
the :ref:`IMAGE_FEATURES <ref-features-image>` variable. This provide the
|
||||
NetworManager daemon and the `nmcli` tools.
|
||||
|
||||
nmtui
|
||||
-----
|
||||
|
||||
The `nmtui` package provide a terminal user interface for NetworkManager.
|
||||
|
||||
.. only:: html
|
||||
|
||||
.. image:: networkmanager/nmtui.gif
|
||||
|
||||
.. only:: latex
|
||||
|
||||
.. image:: networkmanager/nmtui.png
|
||||
|
||||
|
||||
This package is automatically installed if both `networkmanager` and `dev-tools`
|
||||
:ref:`IMAGE_FEATURES <ref-features-image>` are enabled.
|
||||
|
||||
cockpit-networkmanager
|
||||
----------------------
|
||||
|
||||
The `cockpit-networkmanager` package provide a :ref:`cockpit <ref-cockpit>`
|
||||
plugin that allow to manage NetworkManager from the
|
||||
:ref:`cockpit <ref-cockpit>` web interface.
|
||||
|
||||
.. only:: html
|
||||
|
||||
.. image:: networkmanager/cockpit-networkmanager.gif
|
||||
|
||||
.. only:: latex
|
||||
|
||||
.. image:: networkmanager/cockpit-networkmanager.png
|
||||
|
||||
This package is automatically installed if both `networkmanager` and `cockpit`
|
||||
:ref:`IMAGE_FEATURES <ref-features-image>` are enabled.
|
||||
|
After Width: | Height: | Size: 4.2 MiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 1.6 MiB |
|
After Width: | Height: | Size: 15 KiB |
|
|
@ -0,0 +1,64 @@
|
|||
|
||||
Podman Container Manager
|
||||
=========================
|
||||
|
||||
Podman is a tool to manage pods and containers. Pods come from Kubernetes, that
|
||||
define a pod this way:
|
||||
|
||||
A Pod (as in a pod of whales or pea pod) is a group of one or more
|
||||
containers, with shared storage and network resources, and a specification
|
||||
for how to run the containers.
|
||||
|
||||
.. important::
|
||||
|
||||
CoreOS doesn't mandate the use of `podman` for running container.
|
||||
|
||||
But as we can't support every existing container runtime, `podman` is the
|
||||
only documented/supported way to run container.
|
||||
|
||||
Other container runtimes are available inside the open source
|
||||
`meta-virtualization` layer that is available inside CoreOS.
|
||||
|
||||
Podman can be installed on an image by adding `podman` to the
|
||||
:ref:`IMAGE_FEATURES <ref-features-image>` variable.
|
||||
|
||||
By default, this will just provide the `podman` command. The `podman` command
|
||||
is similar to the `docker` one, and most command should work by replacing
|
||||
`docker` by `podman`. See https://docs.podman.io/en/latest/Commands.html for
|
||||
more info.
|
||||
|
||||
podman-tui
|
||||
----------
|
||||
|
||||
The `podman-tui` package provide a terminal user interface for `podman`. This
|
||||
package is automatically installed if both `podman` and `dev-tools`
|
||||
:ref:`IMAGE_FEATURES <ref-features-image>` are enabled.
|
||||
|
||||
.. only:: html
|
||||
|
||||
.. image:: podman/podman-tui.gif
|
||||
|
||||
.. only:: latex
|
||||
|
||||
.. image:: podman/podman-tui.png
|
||||
|
||||
The above image was copied from https://github.com/containers/podman-tui/blob/e29e47fd392647033dc1c0cc0eaefa1f62661b98/docs/podman-tui.gif
|
||||
|
||||
cockpit-podman
|
||||
--------------
|
||||
|
||||
The `cockpit-podman` package provide a :ref:`cockpit <ref-cockpit>` plugin that
|
||||
allow to manage `podman` from the :ref:`cockpit <ref-cockpit>` web interface.
|
||||
|
||||
This package is automatically installed if both `podman` and `cockpit`
|
||||
:ref:`IMAGE_FEATURES <ref-features-image>` are enabled.
|
||||
|
||||
|
||||
.. only:: html
|
||||
|
||||
.. image:: podman/cockpit-podman.gif
|
||||
|
||||
.. only:: latex
|
||||
|
||||
.. image:: podman/cockpit-podman.png
|
||||
|
||||
|
After Width: | Height: | Size: 3.7 MiB |
|
After Width: | Height: | Size: 89 KiB |
|
After Width: | Height: | Size: 661 KiB |
|
After Width: | Height: | Size: 14 KiB |