Skip to content

Commit

Permalink
Work in progress
Browse files Browse the repository at this point in the history
  • Loading branch information
amousset committed Feb 8, 2019
1 parent 7e7bd54 commit 2350c92
Showing 1 changed file with 53 additions and 78 deletions.
131 changes: 53 additions & 78 deletions README.asciidoc
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@

image::readme-resources/color_logo_horizontal_small.png[Rudder]

Continuous configuration for effective compliance
-------------------------------------------------
Continuous Auditing & Configuration
-----------------------------------

image:https://img.shields.io/badge/chat-with the community-brightgreen.svg?style=flat[link="https://docs.rudder.io"]
image:https://img.shields.io/badge/read-documentation-green.svg?style=flat[link="https://docs.rudder.io"]
image:https://img.shields.io/badge/open-an issue-blue.svg?style=flat[link="https://issues.rudder.io"]
image:https://img.shields.io/badge/visit-our website-blueviolet.svg?style=flat[link="https://issues.rudder.io"]
image:https://img.shields.io/twitter/follow/rudderio.svg?style=social[link="https://twitter.com/rudderio"]

image:https://badges.gitter.im/normation/rudder.svg[link="https://gitter.im/normation/rudder?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge"]
'''

Rudder is an easy to use, web-driven, role-based solution for IT Infrastructure
Automation & Compliance.
Expand All @@ -21,15 +26,15 @@ The workflow offers different users options at their own level:
Rudder is an established project with several 10000s of node managed, in companies
from small to biggest-in-their-field. Typical deployments manage 100s to 1000s of nodes.
The biggest known deployment in 2016 is about 7000 nodes.

The biggest known deployment are about 10.000 nodes.

image::readme-resources/dashboard.png[Rudder Dashboard]

'''

=== Feature overview

* Web interface to manage nodes and define policies
** https://www.rudder-project.org/site/documentation/screenshots/
* Continuously assesses drift compared to defined policies (with or without auto-healing)
* Optionally, continuously enforces configuration over time (configuring once is good,
ensuring configuration is always valid and automatically fixing it is better)
Expand All @@ -39,29 +44,17 @@ image::readme-resources/dashboard.png[Rudder Dashboard]
* Automate common system administration tasks (installation, configuration)
* Full REST API to interact with the Rudder server


TIP: Rudder is open source – we welcome ideas, comments, criticism, patches and
any other contributions! So get chatting with our community
https://www.rudder-project.org/site/support/chat-mailing-lists/[on IRC]!

=== Documentation and community

[horizontal]
Rudder site:: http://rudder-project.org
User documentation:: https://docs.rudder.io/
API documentation:: https://docs.rudder.io/api
Mailing list, IRC:: https://www.rudder-project.org/site/community/mailing-lists/
Bug report:: http://www.rudder-project.org/redmine/projects/rudder/issues
Source:: https://github.com/Normation/rudder


=== Testing and installing Rudder

==== 5 minute tests

===== Demo site

You can see a demo version of Rudder: http://demo.rudder-project.org/
You can see a demo version of Rudder: https://demo.rudder.io

===== Vagrant

Expand All @@ -73,7 +66,7 @@ for getting started with Rudder on Vagrant.

===== Rudder Test Framework (rtf)

Rudder test framework is a tool that allows to define full environnements and set
Rudder test framework is a tool that allows to define full environments and set
them up for you. For example, you can define a platform with a Rudder server on
Debian stable, 2 nodes on CentOS connected to it, and a Rudder Relay Server with
its own 2 Debian nodes in 3 lines of configuration and commands.
Expand Down Expand Up @@ -101,14 +94,28 @@ embedded Linux on ARM/x86, Android, FreeBSD but no ready-to-use packages are pro

Normation offers AIX, Solaris and Windows agents.

=== Links

[horizontal]
Website:: https://www.rudder.io
Documentation:: https://docs.rudder.io
API documentation:: https://docs.rudder.io/api
Chat:: https://chat.rudder.io
Bug report:: https://issues.rudder.io/projects/rudder/issues
Source:: https://github.com/Normation/rudder

=== Contributing

Thank you for your interest in our project! We welcome pull requests on any of the Rudder repositories.

The contribution process is detailed https://www.rudder.io/en/expand/contribute/[on our website].

=== Authors

Rudder is supported by Normation http://www.normation.com/en/rudder/
Rudder is supported by https://www.rudder.io/en/company/about-us/[Normation].

The list of contributors is available in https://github.com/Normation/rudder/graphs/contributors


=== License

This project is licensed under GPLv3 license, see the provided "LICENSE" file or
Expand All @@ -118,74 +125,55 @@ We added an extension to the main GPLv3 license to allows to build and use plugi
on top of Rudder with any license, open source or closed/proprietary, see:
https://github.com/Normation/rudder/blob/master/LICENSE_EXCEPTION

=== Contributing

Thank you for your interest in our project!

We welcome pull requests on any of the Rudder repositories.

The contribution process is detailed here:
http://www.rudder-project.org/HowToContribute

=== Rudder components and projects overview

==== Functional Components

image::readme-resources/rudder-functional-component-diagram.png[Rudder Functional Components]

==== Projects

Rudder is now composed of several projects:
Rudder is composed of several sub-projects:

|====
|Component | Description and GitHub Projects
|Component | Description and repositories

| Server |
This is the Scala web application responsible for policy definition and
generation by node, and compliance reporting. It also manages node
inventories.

| Rudder documentation |
https://github.com/Normation/rudder

| Documentation |
We have a project for main documentation and API documentation:
https://github.com/Normation/rudder-doc
https://github.com/Normation/rudder-api-doc

| Rudder agent |
| Agent |
This project contains the CLI for Rudder agent
https://github.com/Normation/rudder-agent

| Rudder Techniques |
Provided Techniques coming in the base set-up of Rudder
| Techniques |
Provided techniques coming in the base set-up of Rudder
https://github.com/Normation/rudder-techniques

| ncf framework |
A powerful and structured CFEngine framework used to build Rudder Techniques
| Configuration framework |
A powerful and structured configuration framework used to build Rudder techniques
https://github.com/Normation/ncf

| Rudder server |
This is the Scala web application responsible for policy definition and
generation by node, and compliance reporting. It also manages node
inventories.
It is composed of several Scala projects:

https://github.com/Normation/rudder-parent-pom
https://github.com/Normation/rudder-commons
https://github.com/Normation/scala-ldap
https://github.com/Normation/cf-clerk
https://github.com/Normation/rudder
https://github.com/Normation/ldap-inventory

| Rudder packages |
| Packages |
This project contains all the logic to build both server and agent packages for Rudder
https://github.com/Normation/rudder-packages

| Rudder tools |
| Tools |
Nice tools around Rudder
https://github.com/Normation/rudder-tools

| Rudder plugins |
| Plugins |
Plugin examples:
https://github.com/Normation/rudder-plugin-helloworld
https://github.com/Normation/rudder-plugin-external-node-information
https://github.com/Normation/rudder-plugins
https://github.com/Normation/rudder-plugin-itop

|====

=== Build the server

.On a more 'developer oriented' usage on this repository only (not as Rudder as a whole):

Expand All @@ -194,24 +182,11 @@ You will need a working Maven 3.x.x installation.

.Clean, build and install on your local repository:

We are working on a public artefact repository for Rudder, so for now you will
We are working on a public artifact repository for Rudder, so for now you will
need to build all dependencies for the Scala web application yourself.
You can create a script with the following lines:

----
$ echo clone-build-rudder.sh
git clone https://github.com/Normation/rudder.git
mvn install
----

----
#!/bin/sh
BASE="$PWD"
REPOS="rudder-parent-pom rudder-commons scala-ldap ldap-inventory rudder"
for i in ${REPOS}; do
echo "\e[0;32mCloning ${i}\e[0m"
git clone https://github.com/Normation/$i.git
P=${BASE}/${i}
cd ${P}
echo "\e[0;32mBuilding ${P}\e[0m"
mvn install
done
----

0 comments on commit 2350c92

Please sign in to comment.