Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes #15306: Update link in readme to rudder.io and missing smarttag for create-node-api #178

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 35 additions & 22 deletions README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ This is the repository for plugins for Rudder: Continuous configuration for effe

https://www.rudder-project.org/site/documentation/

Creating a new plugin
---------------------
== Creating a new plugin

If you want to create a new plugin, you can use giter8 (http://www.foundweekends.org/giter8/) on
that repository or directly from the file system.

Once `g8` command is installed (see http://www.foundweekends.org/giter8/setup.html), use:
If you want to create a new plugin, you can use giter8 (http://www.foundweekends.org/giter8/) on
that repository or directly from the file system.

Once `g8` command is installed (see http://www.foundweekends.org/giter8/setup.html), use:

```
% g8 file://.
Expand All @@ -21,7 +21,7 @@ You can alos use the github resolution:
% g8 normation/rudder-plugins
```

And answer the questions. Only the `name` is mandatory: use the plugin short name, with
And answer the questions. Only the `name` is mandatory: use the plugin short name, with
space and capital if you want (see convetion below).
Juste hitting <ENTER> choose the default value (the one between []).

Expand All @@ -37,11 +37,11 @@ plugin_class [NodeExternalReports]: <ENTER>
```

If you don't want to use giter8, you can replace by hand the placeholders `$plugin_name$`,
`$plugin_pkg$` and `$plugin_class$` using the same convention as the previous example.
Be careful to replace them in both file (with `sed` for example) and in path (with `mv`).
`$plugin_pkg$` and `$plugin_class$` using the same convention as the previous example.
Be careful to replace them in both file (with `sed` for example) and in path (with `mv`).

== Repository structure

Repository structure
---------------------

The repository is organized with one directory for each plugin under repository root directory.

Expand All @@ -50,8 +50,8 @@ minus 'rudder-plugin-" prefix.

Each plugin build information are grouped in file `build.conf` in plugin root directory.

Branch versionning and compability with Rudder versions
-------------------------------------------------------
== Branch versionning and compability with Rudder versions


Plugins are linked to Rudder main version, so we retrieve in `rudder-plugins` the same branch
structure than in `rudder`. Moreover, one needs to always compile and use a plugin for the
Expand All @@ -77,8 +77,8 @@ explain which plugin versions are compatible with which Rudder versions in plugi

Please see file: version-compat.adoc

Plugin version and Tag convention
---------------------------------
== Plugin version and Tag convention


Plugin versions are composed in two parts separated by a `-`:

Expand Down Expand Up @@ -107,9 +107,10 @@ datasources-4.2-1.1

```

== Building plugins

=== Building and Java stack requirements

Building and Java stack requirements
-------------------------------------

All plugins share the same build infrastructure based on Make.

Expand Down Expand Up @@ -148,25 +149,37 @@ This package can then be transfered to a Rudder server and installed with the co
/opt/rudder/bin/rudder-pkg install-file /path/to/pluginShortName-pluginVersion.rpkg
```

Building licensed / limited plugin version
------------------------------------------
=== Building licensed / limited plugin version


As of Rudder 4.1, plugins can have a license and adapt there behavior based on runtime license information.
The licensing framework is not open source, and such plugin need access to Rudder private repositories.

The common API can be build and installed in user local maven repository with the following command line
when on `rudder-plugins` directory (for example for `datasources`, use the same `-licensed` naming
when on `rudder-plugins` directory (for example for `datasources`, use the same `-licensed` naming
convention for other):

```
make datasources-licensed SIGNED_LICENSE_PATH="./license.sign" PUBLIC_KEY_PATH=/path/to/the/public/key.pub
make datasources-licensed
```

The file `license.sign` is a license information file signed with the private key matching the public one
used in the command line. The path of `license.sign` is relative to the plugin directory, so in our example,
it will be located at: `./datasources/license.sign`

Licensing
---------
== Licensing

License are by-plugin and the license for a given plugin is specified in the LICENSE file in its plugin directory.

Nonetheless most projects are licensed under GNU GPLv3 license (http://www.gnu.org/licenses/gpl-3.0.txt) or
ASLv2 (https://www.apache.org/licenses/LICENSE-2.0)

== Contributing

Thank you for your interest in your our project!
The contribution process is detailed here:
https://www.rudder.io/en/expand/contribute/

== Authors

Authors are tracked by their git name and public git hostory of the project.
27 changes: 13 additions & 14 deletions api-authorizations/README.adoc
Original file line number Diff line number Diff line change
@@ -1,20 +1,19 @@
Rudder plugin: API Authorizations
---------------------------------
# Rudder plugin: API Authorizations

This project is part of Rudder - Continuous configuration for effective compliance
This project is part of Rudder - IT infrastructure Automation and Compliance.
See: http://rudder.io for more information.

Rudder is an easy to use, web-driven, role-based solution for IT Infrastructure
Automation & Compliance.
See repository main README for information about licensing, contribution, and
other general information.

See: http://rudder-project.org for more information.

=== Synopsis
== Synopsis

This plugin provides fine grained Access Control List on APIs.
It also allows registered Rudder users to get private token with the same
rights as their role allows.

=== Logging
== Logging

You can log information about ACL (behavior and errors) by adding the following lines in your ```logback.xml``` file:

Expand Down Expand Up @@ -43,15 +42,15 @@ You can log information about ACL (behavior and errors) by adding the following
== User personnal API Token

When you use `api-authorizations` plugin, any logged user can get a personnal API token by clicking on
its login information:
its login information:

image:api-authorizations/api-authorizations-user-no-token.png[User requesting a personnal API token]

Once you click on the button, you get you personnal API token that can get revoked at any time:

image:api-authorizations/api-authorizations-user-with-token.png[Personnal API token information]

The user can use that token to execute API requests for the same action that his role allows him to do:
The user can use that token to execute API requests for the same action that his role allows him to do:

image:api-authorizations/api-authorizations-user-curl.png[Personnal API token information]

Expand All @@ -62,20 +61,20 @@ image:api-authorizations/api-authorizations-user-event-log.png[Personnal API tok

== API ACLs

The plugin also allows to configure fine grained access control for a token. By selecting
"Custom ACL" access level, you can choose what endpoints are accessible for that API token.
The plugin also allows to configure fine grained access control for a token. By selecting
"Custom ACL" access level, you can choose what endpoints are accessible for that API token.

For example, you can create an API token which can only access compliance information:

image:api-authorizations/api-authorizations-new-token-description.png[Create a new API token with "ACL" access level]

image:api-authorizations/api-authorizations-new-token-acl.png[And only authorize access to compliance endpoints]

That token can of course access `compliance` related endpoints:
That token can of course access `compliance` related endpoints:

image:api-authorizations/api-authorizations-curl-success.png[Token can access compliance information]

But if it tries to access an other endpoint, it get an authorization error:
But if it tries to access an other endpoint, it get an authorization error:

image:api-authorizations/api-authorizations-curl-error.png[Token is not authorized to access directives information]

16 changes: 8 additions & 8 deletions auth-backends/README.adoc
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
= Rudder plugin: Auth Backends
# Rudder plugin: Auth Backends

This project is part of Rudder - Continuous configuration for effective compliance
This project is part of Rudder - IT infrastructure Automation and Compliance.
See: http://rudder.io for more information.

Rudder is an easy to use, web-driven, role-based solution for IT Infrastructure
Automation & Compliance.
See repository main README for information about licensing, contribution, and
other general information.

See: http://rudder-project.org for more information.

// Everything after this line goes into Rudder documentation
// ====doc====
Expand All @@ -18,7 +18,7 @@ This plugins allows to use alternative authentication backends for Rudder: LDAP/

=== Version 5.0-1.2 needs Rudder 5.0.2 or above

There was a problem in the initialization order that cause the plugin backends to never be loaded correctly.
There was a problem in the initialization order that cause the plugin backends to never be loaded correctly.

- Rudder ticket: https://issues.rudder.io/issues/13695
- Plugin ticket: https://issues.rudder.io/issues/13709
Expand Down Expand Up @@ -70,9 +70,9 @@ Be careful to have only one `rudder.auth.provider` property in your file!
In case your authentication backend does not work, you can still configure the
`rootAccount` in `/opt/rudder/etc/rudder-web.properties` to regain an administrator
access. Once logged as an administrator, you can go to the `Plugins > Authentication
Backends` page to check that Rudder interpreted correctly your configuration.
Backends` page to check that Rudder interpreted correctly your configuration.

In particular, check that `Computed list of providers` entry matches your will.
In particular, check that `Computed list of providers` entry matches your will.

=====

Expand Down
21 changes: 12 additions & 9 deletions branding/README.asciidoc
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
Rudder plugin: Branding
-------------------------------------------
# Rudder plugin: Branding

This project is part of Rudder - Continuous configuration for effective compliance
This project is part of Rudder - IT infrastructure Automation and Compliance.
See: http://rudder.io for more information.

Rudder is an easy to use, web-driven, role-based solution for IT Infrastructure
Automation & Compliance.

See: http://rudder-project.org for more information.
See repository main README for information about licensing, contribution, and
other general information.

=== Synopsis
// Everything after this line goes into Rudder documentation
// ====doc====
[branding]
= Branding Plugin

This plugin allows to build advanced reports and export them in pdf format.
This plugin allows to customize some part of Rudder UI to facilitate its integration with
your other applications or internal branding but also to clearly differentiate among
several Rudder instances (typically, with a dedicated color and message for test/qa/prod instances).
30 changes: 14 additions & 16 deletions centreon/README.adoc
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
Plugin for Centreon and Rudder
------------------------------
# Plugin for Centreon and Rudder

This project is part of Rudder - IT automation and compliance made easy.
See: http://rudder-project.org for more information.
This project is part of Rudder - IT infrastructure Automation and Compliance.
See: http://rudder.io for more information.

Mailing list, irc :
https://www.rudder-project.org/site/community/mailing-lists/
See repository main README for information about licensing, contribution, and
other general information.

Synposis
~~~~~~~~
== Synposis

This plugin aims at providing Rudder integration with Centreon. It can
automatically add or remove hosts in Centreon when the corresponding
Expand All @@ -19,7 +17,7 @@ appropriate generic methods in the technique editor.

// Everything after this line goes into Rudder documentation
// ====doc====

[centreon-plugin]
= Centreon

This plugin aims at providing Rudder integration with Centreon. It can
Expand All @@ -39,7 +37,7 @@ server.
* Edit the configuration file `/opt/rudder/etc/centreon.conf`. This config
file has to contain your Centreon server’s webservice API URL, the
credentials to access it, and the name of the Centreon poller used to
monitor Rudder nodes (Central by default).
monitor Rudder nodes (Central by default).

NOTE: make sure that there is no /api in your centreonWebserviceURL.

Expand Down Expand Up @@ -77,21 +75,21 @@ servers to handle the modifications.

=== Monitoring with Centreon

If you want to monitor your rudder-nodes
If you want to monitor your rudder-nodes

In your rudder interface, you can choose among different available rudder directives
In your rudder interface, you can choose among different available rudder directives
or create your own technique editor which is a description in code form of what the agent
has to do on the node and it will be deployed on a rudder-nodes throufh rules.
has to do on the node and it will be deployed on a rudder-nodes throufh rules.

Note: Rule is the application of one or more directives to a group of nodes.
It is the glue between both Asset Management and Configuration Management parts of
Note: Rule is the application of one or more directives to a group of nodes.
It is the glue between both Asset Management and Configuration Management parts of
the application.

* Centreon comes with the possiblity to add monitoring templates to its hosts.

* Create a service template model in centreon or check for available ones proposed by Centreon interface.

Once you know the name of a suitable template for a Rudder node/nodegroup, you can add it using the *Monitoring template*
Once you know the name of a suitable template for a Rudder node/nodegroup, you can add it using the *Monitoring template*
generic method from the technique editor.

In order to configure the monitoring of the Rudder nodes, you can provide Centreon with parameters associated to its hosts. The *Monitoring parameter* generic method acheives this.
Expand Down
11 changes: 5 additions & 6 deletions change-validation/README.adoc
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
= Rudder plugin: Change Validation

This project is part of Rudder - Continuous configuration for effective compliance
This project is part of Rudder - IT infrastructure Automation and Compliance.
See: http://rudder.io for more information.

Rudder is an easy to use, web-driven, role-based solution for IT Infrastructure
Automation & Compliance.

See: http://rudder-project.org for more information.
See repository main README for information about licensing, contribution, and
other general information.

== Description

Expand All @@ -14,7 +13,7 @@ Enable configuration change requests and validation workflows in Rudder

// Everything after this line goes into Rudder documentation
// ====doc====

[change-validation]
= Change validation

The validation workflow is a feature whose purpose is to hold any changes (Rule, Directive, Group) made by users in the web interface,
Expand Down
Loading