Project

General

Profile

« Previous | Next » 

Revision 2bc92b4a

Added by François ARMAND almost 7 years ago

Fixes #10690: Bad links, typo, images in french in intro chapter

View differences:

00_introduction/01_presentation.txt
image::./images/dashboard-overview.png[Rudder dashboard]
==== Made for the Production
==== Made for production environments
We believe that there is a growing impedence mismatch between the Short Time of
application development and deployement, and the Long Time of the infrastructure.
00_introduction/20_key_features.txt
to execute.
Rudder is natively integrated with the supported OS (Linux, Windows, AIX - see
[TODO]) so that it provides generic, abstract, OS independant primitives to the
user who can:
<<node-supported-os>>) so that it provides generic, abstract, OS independant
primitives to the user who can:
image::./images/introduction/core_techniques.png["Standard Technique Library", float="right"]
......
* manage service start-up at boot time and ensure that a service is correctly
running at any time, starting it up again if needed.
The simple primitives can be simply mixed and todo_link[extended] to provide
unfloat::[]
The simple primitives can be simply mixed and <<intro-rudder-extensibility,extended>> to provide
solutions for any and all of your unique use cases of software stacks,
deployments, IT services or configuration that can't be natively supported.
......
linked to the kind of server (physical or virtual), the quantity of RAM
available, the version of an OS library which contains a security bug, etc.
All of these data are also available throught Rudder APIs (see link[TOTO]).
All of these data are also available <<rudder-api-integration, throught Rudder APIs>>.
==== REST API
All Rudder commands are available throught an exhaustive REST API. That API is
http://www.rudder-project.org/rudder-api-doc/[fully documented online] and can
be used to todo_link[quickly and smoothly integrate Rudder with you existing infrastructure].
be used to <<rudder-api-integration, quickly and smoothly integrate Rudder with you existing infrastructure>>.
==== Audit trace and Change Requests
......
The validation process can be externalized to third party ticketing system, like
a CMDB, so that it can integrated into an existing company workflow. This
integration is done thanks to link_toward_thir_party_integration[an existing
plugin or a dedicated synchronisation tool].
integration is done thanks to <<rudder-integration, an existing
plugin or a dedicated synchronisation tool>>.
==== Centralized authentication (LDAP, Active Directory, plugins)
......
or be connected to an SSO to manage users authentication.
Moreover, Rudder authentication layer is plugable and can be extended to other
authentication protocol link_to_plugins[like Radius or SPNEGO with plugins].
authentication protocol <<extending-rudder-with-plugins, like Radius or SPNEGO with plugins>>.
[[intro-rudder-extensibility]]
==== Extensibilty
Rudder has a built-in library of common software components and configuration.
......
unitary modules. Rudder agent is able to translate these abstract modules to
native OS specific commands and configurations.
Module are atomic tasks, that can be extremelly simple (for example, check the
Modules are atomic tasks, that can be extremelly simple (for example, check the
existence of a file, create an user or a group, update a software package) or
more complexe (for example, import JSON data from a REST API).
For information, the following image provides a NON-exhaustive list of
......
image::./images/introduction/rule_directive_generic_method_stack.png[Build your own configuration, matching your requirements]
The unitary configuration module can be configured thanks to a high level
The unitary configuration modules can be configured thanks to a high level
programming language:
image::./images/introduction/ncf_language.png[high level definition language]
00_introduction/40_architecture_and_dependencies.txt
[[architecture]]
=== Technical architecture and software dependencies
==== Functionnal architecture of Rudder
==== Functional architecture of Rudder
Rudder contains several functionnaly independant components, illustrated in the diagram below:
Rudder contains several functionaly independant components, illustrated in the diagram below:
* Inventory database
* Configuration policies database
......
* Node interface: inventory reception, state reports reception, configuration policy sharing
* Relay server to centralize networks flows of an isolated network zone
image::./images/introduction/rudder_functional_component_diagram-simple-v1.png[Rudder functionnal architecture]
image::./images/introduction/rudder_functional_component_diagram-simple-v1.png[Rudder functional architecture]
==== Network architecture in client/server mode
......
and communicates with them. The connection frequency from nodes to server is configurable, from several
minutes to several hours.
The following schema shows the network architecture of a Rudder installation:
The following diagram shows the network architecture of a Rudder installation:
image::./images/introduction/network_connections.png[Network architecture]
10_installation/10_install_server/00_install_intro.txt
specification of the underlying server, to the initial setup of the application.
Before all, you need to setup a server according to
<<Server_supported_OS, the server specifications>>. You should also
<<configure_the_network, configure the network>>. These topics are covered in the
<<server-supported-os, the server specifications>>. You should also
<<configure-the-network, configure the network>>. These topics are covered in the
Architecture chapter.
Ideally, this machine should have Internet access, but this is not a strict requirement.
10_installation/10_install_server/13_install_root_server_centos_rhel.txt
On Red Hat-like systems, a firewall setup is enabled by default, and would need to be adjusted
for Rudder to operate properly. You have to allow all the flows described in the
<<configure_the_network, Network>> section.
<<configure-the-network, Network>> section.
[TIP]
10_installation/11_install_agent/00_install_agent.txt
installation.
To get the list of supported Operating systems, please refer to
<<nodes_supported_OS, the list of supported Operating Systems for the Nodes>>.
<<node-supported-os, the list of supported Operating Systems for the Nodes>>.
=====
20_usage/10_web_interface.txt
The Administration section provides some general settings: you can setup the
available networks for the Policy Server, view the event logs and manage your
plugin collection.
plugins collection.
.Settings screen
43_advanced_administration/992_inventory.txt
There are plugins for Rundeck and Ansible that can be used with each tool to make
them aware of inventory data from Rudder. For more information, see details in
the <<rudder_integration_in_infrastructure, Third party integration with Rudder>>
the <<rudder-integration, Third party integration with Rudder>>
paragraph.
80_extension_and_integration/20_Rudder_plugins.txt
==== Rudder Plugin
A plugin is an archive in the `.rpkg` file format that can be manipulated with the
`rudder-pkg` command (see <<rpkg_plugin_management, Plugins Administration>>)
`rudder-pkg` command (see <<plugins-management, Plugins Administration>>)
A Rudder plugin has full access to all Rudder internal APIs, datas, and process.
Its power is very large, but some care must be taken to ensure that the plugin
......
That is why we prefer to build smaller plugin, adding only one feature, and
doing it in the least impacting way.
Here come a list of some plugin so that one can grasp the kind of feature that a
Here come a list of some plugins so that one can grasp the kind of feature that a
plugin can bring to Rudder:
===== Extending API: rudder-plugin-itop
......
==== Building your own plugins
As of Rudder 4.1, there is no dedicated, frozen plugin API for plugins. A plugin
As of Rudder 4.1, there is no dedicated, frozen plugins API for plugins. A plugin
is built in Scala, and the normal starting point is to clone and study the
template plugin project,
https://github.com/normation/rudder-plugin-helloworld[rudder-plugin-helloworld].
......
Of course, you can look to the other open source plugins listed above to get
other, more involved example about how to do things.
You also can interact with Rudder developpers throught the
You also can interact with Rudder developers throught the
https://www.rudder-project.org/site/community/mailing-lists/[community] regular
communication channels.
90_reference/05_inventory_workflow.txt
Rudder database (technically an LDAP server), waiting for later use.
The goal of that section is to detail the different steps and explain how to
spot and solve a problem on the inventory workflow. Following schema sum up
spot and solve a problem on the inventory workflow. Following diagram sum up
the whole process.
image:./images/rudder-inventory-workflow.png[Inventory workflow, from node to
90_reference/20_agent_data_workflow.txt
=== Rudder Agent workflow
=== Rudder Agent workflow
In this chapter, we will have a more detailed view of the Rudder Agent
workflow. What files and processes are created or modified at the installation
of the Rudder Agent? What is happening when a new Node is created? What are the
recurrent tasks performed by the Rudder Agent? How does the Rudder Server handle
the requests coming from the Rudder Agent? The Rudder Agent workflow schema
the requests coming from the Rudder Agent? The Rudder Agent workflow diagram
summarizes the process that will be described in the next pages.
["graphviz", "agent_workflow.png"]
......
Let's consider the Rudder Agent is installed and configured on the new Node.
The Rudder Agent is regularly launched and performs following tasks
sequentially, in this order:
sequentially, in this order:
==== Request data from Rudder Server
xsl/index.html.tpl
<p>If you are new to Rudder you can follow these steps to discover and start using Rudder:</p>
<ul>
<li>Read <a href="_introduction.html">introduction</a> to get familiar with Rudder architecture and concepts.</li>
<li>Follow the <a href="_installation.html">installation</a> section wich explains the <a href="configure_the_network.html">requirements</a> and the installation steps for the different
<li>Follow the <a href="_installation.html">installation</a> section wich explains the <a href="configure-the-network.html">requirements</a> and the installation steps for the different
types of nodes:</li>
<ul>
<li>The central <a href="_install_rudder_server.html">server</a> </li>
......
<li>Join the <a href="https://www.rudder-project.org/site/support/chat-mailing-lists/">IRC channel</a></li>
</ul>
<li>You need training, or commercial support? Normation provides <a href="http://www.normation.com/en/rudder/services/">services</a> for Rudder</li>
<li>Browse the <a href="http://www.rudder-project.org/foswiki/Development/WebHome">developper documentation</a> if you want to contribute or dive into Rudder internals</li>
<li>Browse the <a href="http://www.rudder-project.org/foswiki/Development/WebHome">developer documentation</a> if you want to contribute or dive into Rudder internals</li>
</ul></div>

Also available in: Unified diff