Show More
@@ -0,0 +1,112 b'' | |||||
|
1 | .. _config-ldap-groups-ref: | |||
|
2 | ||||
|
3 | LDAP/AD With User Groups Sync | |||
|
4 | ----------------------------- | |||
|
5 | ||||
|
6 | |RCM| supports LDAP (Lightweight Directory Access Protocol) or | |||
|
7 | AD (active Directory) authentication. | |||
|
8 | All LDAP versions are supported, with the following |RCM| plugins managing each: | |||
|
9 | ||||
|
10 | * For LDAP/AD with user group sync use ``LDAP + User Groups (egg:rhodecode-enterprise-ee#ldap_group)`` | |||
|
11 | ||||
|
12 | RhodeCode reads all data defined from plugin and creates corresponding | |||
|
13 | accounts on local database after receiving data from LDAP. This is done on | |||
|
14 | every user log-in including operations like pushing/pulling/checkout. | |||
|
15 | In addition group membership is read from LDAP and following operations are done: | |||
|
16 | ||||
|
17 | - automatic addition of user to |RCM| user group | |||
|
18 | - automatic removal of user from any other |RCM| user groups not specified in LDAP. | |||
|
19 | The removal is done *only* on groups that are marked to be synced from ldap. | |||
|
20 | This setting can be changed in advanced settings on user groups | |||
|
21 | - automatic creation of user groups if they aren't yet existing in |RCM| | |||
|
22 | - marking user as super-admins if he is a member of any admin group defined in plugin settings | |||
|
23 | ||||
|
24 | This plugin is available only in EE Edition. | |||
|
25 | ||||
|
26 | .. important:: | |||
|
27 | ||||
|
28 | The email used with your |RCE| super-admin account needs to match the email | |||
|
29 | address attached to your admin profile in LDAP. This is because | |||
|
30 | within |RCE| the user email needs to be unique, and multiple users | |||
|
31 | cannot share an email account. | |||
|
32 | ||||
|
33 | Likewise, if as an admin you also have a user account, the email address | |||
|
34 | attached to the user account needs to be different. | |||
|
35 | ||||
|
36 | ||||
|
37 | LDAP Configuration Steps | |||
|
38 | ^^^^^^^^^^^^^^^^^^^^^^^^ | |||
|
39 | ||||
|
40 | To configure |LDAP|, use the following steps: | |||
|
41 | ||||
|
42 | 1. From the |RCM| interface, select | |||
|
43 | :menuselection:`Admin --> Authentication` | |||
|
44 | 2. Enable the ldap+ groups plugin and select :guilabel:`Save` | |||
|
45 | 3. Select the :guilabel:`Enabled` check box in the plugin configuration section | |||
|
46 | 4. Add the required LDAP information and :guilabel:`Save`, for more details, | |||
|
47 | see :ref:`config-ldap-groups-examples` | |||
|
48 | ||||
|
49 | For a more detailed description of LDAP objects, see :ref:`ldap-gloss-ref`: | |||
|
50 | ||||
|
51 | .. _config-ldap-groups-examples: | |||
|
52 | ||||
|
53 | Example LDAP configuration | |||
|
54 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | |||
|
55 | .. code-block:: bash | |||
|
56 | ||||
|
57 | # Auth Cache TTL, Defines the caching for authentication to offload LDAP server. | |||
|
58 | # This means that cache result will be saved for 3600 before contacting LDAP server to verify the user access | |||
|
59 | 3600 | |||
|
60 | # Host, comma seperated format is optionally possible to specify more than 1 server | |||
|
61 | https://ldap1.server.com/ldap-admin/,https://ldap2.server.com/ldap-admin/ | |||
|
62 | # Default LDAP Port, use 689 for LDAPS | |||
|
63 | 389 | |||
|
64 | # Account, used for SimpleBind if LDAP server requires an authentication | |||
|
65 | e.g admin@server.com | |||
|
66 | # Password used for simple bind | |||
|
67 | ldap-user-password | |||
|
68 | # LDAP connection security | |||
|
69 | LDAPS | |||
|
70 | # Certificate checks level | |||
|
71 | DEMAND | |||
|
72 | # Base DN | |||
|
73 | cn=Rufus Magillacuddy,ou=users,dc=rhodecode,dc=com | |||
|
74 | # User Search Base | |||
|
75 | ou=groups,ou=users | |||
|
76 | # LDAP search filter to narrow the results | |||
|
77 | (objectClass=person) | |||
|
78 | # LDAP search scope | |||
|
79 | SUBTREE | |||
|
80 | # Login attribute | |||
|
81 | sAMAccountName | |||
|
82 | # First Name Attribute to read | |||
|
83 | givenName | |||
|
84 | # Last Name Attribute to read | |||
|
85 | sn | |||
|
86 | # Email Attribute to read email address from | |||
|
87 | ||||
|
88 | # group extraction method | |||
|
89 | rfc2307bis | |||
|
90 | # Group search base | |||
|
91 | ou=RC-Groups | |||
|
92 | # Group Name Attribute, field to read the group name from | |||
|
93 | sAMAAccountName | |||
|
94 | # User Member of Attribute, field in which groups are stored | |||
|
95 | memberOf | |||
|
96 | # LDAP Group Search Filter, allows narrowing the results | |||
|
97 | ||||
|
98 | # Admin Groups. Comma separated list of groups. If user is member of | |||
|
99 | # any of those he will be marked as super-admin in RhodeCode | |||
|
100 | admins, management | |||
|
101 | ||||
|
102 | ||||
|
103 | Below is example setup that can be used with Active Directory and ldap groups. | |||
|
104 | ||||
|
105 | .. image:: ../images/ldap-groups-example.png | |||
|
106 | :alt: LDAP/AD setup example | |||
|
107 | :scale: 50 % | |||
|
108 | ||||
|
109 | .. toctree:: | |||
|
110 | ||||
|
111 | ldap-active-directory | |||
|
112 | ldap-authentication No newline at end of file |
1 | NO CONTENT: new file 100644, binary diff hidden |
|
NO CONTENT: new file 100644, binary diff hidden |
1 | NO CONTENT: file renamed from docs/auth/crowd-auth.rst to docs/auth/auth-crowd.rst |
|
NO CONTENT: file renamed from docs/auth/crowd-auth.rst to docs/auth/auth-crowd.rst |
@@ -1,90 +1,89 b'' | |||||
1 | .. _config-ldap-ref: |
|
1 | .. _config-ldap-ref: | |
2 |
|
2 | |||
3 | LDAP |
|
3 | LDAP/AD | |
4 | ---- |
|
4 | ------- | |
5 |
|
5 | |||
6 | |RCM| supports LDAP (Lightweight Directory Access Protocol) or |
|
6 | |RCM| supports LDAP (Lightweight Directory Access Protocol) or | |
7 | AD (active Directory) authentication. |
|
7 | AD (active Directory) authentication. | |
8 | All LDAP versions are supported, with the following |RCM| plugins managing each: |
|
8 | All LDAP versions are supported, with the following |RCM| plugins managing each: | |
9 |
|
9 | |||
10 |
* For LDAP |
|
10 | * For LDAP or Active Directory use ``LDAP (egg:rhodecode-enterprise-ce#ldap)`` | |
11 | * For LDAPv3 with user group sync use ``LDAP + User Groups (egg:rhodecode-enterprise-ee#ldap_group)`` |
|
11 | ||
|
12 | RhodeCode reads all data defined from plugin and creates corresponding | |||
|
13 | accounts on local database after receiving data from LDAP. This is done on | |||
|
14 | every user log-in including operations like pushing/pulling/checkout. | |||
12 |
|
15 | |||
13 |
|
16 | |||
14 | .. important:: |
|
17 | .. important:: | |
15 |
|
18 | |||
16 | The email used with your |RCE| super-admin account needs to match the email |
|
19 | The email used with your |RCE| super-admin account needs to match the email | |
17 | address attached to your admin profile in LDAP. This is because |
|
20 | address attached to your admin profile in LDAP. This is because | |
18 | within |RCE| the user email needs to be unique, and multiple users |
|
21 | within |RCE| the user email needs to be unique, and multiple users | |
19 | cannot share an email account. |
|
22 | cannot share an email account. | |
20 |
|
23 | |||
21 | Likewise, if as an admin you also have a user account, the email address |
|
24 | Likewise, if as an admin you also have a user account, the email address | |
22 | attached to the user account needs to be different. |
|
25 | attached to the user account needs to be different. | |
23 |
|
26 | |||
|
27 | ||||
24 | LDAP Configuration Steps |
|
28 | LDAP Configuration Steps | |
25 | ^^^^^^^^^^^^^^^^^^^^^^^^ |
|
29 | ^^^^^^^^^^^^^^^^^^^^^^^^ | |
26 |
|
30 | |||
27 | To configure |LDAP|, use the following steps: |
|
31 | To configure |LDAP|, use the following steps: | |
28 |
|
32 | |||
29 | 1. From the |RCM| interface, select |
|
33 | 1. From the |RCM| interface, select | |
30 | :menuselection:`Admin --> Authentication` |
|
34 | :menuselection:`Admin --> Authentication` | |
31 |
2. Enable the |
|
35 | 2. Enable the ldap plugin and select :guilabel:`Save` | |
32 | 3. Select the :guilabel:`Enabled` check box in the plugin configuration section |
|
36 | 3. Select the :guilabel:`Enabled` check box in the plugin configuration section | |
33 | 4. Add the required LDAP information and :guilabel:`Save`, for more details, |
|
37 | 4. Add the required LDAP information and :guilabel:`Save`, for more details, | |
34 | see :ref:`config-ldap-examples` |
|
38 | see :ref:`config-ldap-examples` | |
35 |
|
39 | |||
36 | For a more detailed description of LDAP objects, see :ref:`ldap-gloss-ref`: |
|
40 | For a more detailed description of LDAP objects, see :ref:`ldap-gloss-ref`: | |
37 |
|
41 | |||
38 | .. _config-ldap-examples: |
|
42 | .. _config-ldap-examples: | |
39 |
|
43 | |||
40 | Example LDAP configuration |
|
44 | Example LDAP configuration | |
41 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ |
|
45 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
42 | .. code-block:: bash |
|
46 | .. code-block:: bash | |
43 |
|
47 | |||
44 | # Auth Cache TTL |
|
48 | # Auth Cache TTL, Defines the caching for authentication to offload LDAP server. | |
|
49 | # This means that cache result will be saved for 3600 before contacting LDAP server to verify the user access | |||
45 | 3600 |
|
50 | 3600 | |
46 | # Host |
|
51 | # Host, comma seperated format is optionally possible to specify more than 1 server | |
47 | https://ldap1.server.com/ldap-admin/,https://ldap2.server.com/ldap-admin/ |
|
52 | https://ldap1.server.com/ldap-admin/,https://ldap2.server.com/ldap-admin/ | |
48 | # Port |
|
53 | # Default LDAP Port, use 689 for LDAPS | |
49 | 389 |
|
54 | 389 | |
50 | # Account |
|
55 | # Account, used for SimpleBind if LDAP server requires an authentication | |
51 | cn=admin,dc=rhodecode,dc=com |
|
56 | e.g admin@server.com | |
52 | # Password |
|
57 | # Password used for simple bind | |
53 | ldap-user-password |
|
58 | ldap-user-password | |
54 | # LDAP connection security |
|
59 | # LDAP connection security | |
55 | LDAPS |
|
60 | LDAPS | |
56 | # Certificate checks level |
|
61 | # Certificate checks level | |
57 | DEMAND |
|
62 | DEMAND | |
58 | # Base DN |
|
63 | # Base DN | |
59 | cn=Rufus Magillacuddy,ou=users,dc=rhodecode,dc=com |
|
64 | cn=Rufus Magillacuddy,ou=users,dc=rhodecode,dc=com | |
60 | # User Search Base |
|
65 | # LDAP search filter to narrow the results | |
61 | ou=groups,ou=users |
|
|||
62 | # LDAP search filter |
|
|||
63 | (objectClass=person) |
|
66 | (objectClass=person) | |
64 | # LDAP search scope |
|
67 | # LDAP search scope | |
65 | SUBTREE |
|
68 | SUBTREE | |
66 | # Login attribute |
|
69 | # Login attribute | |
67 | rmagillacuddy |
|
70 | sAMAccountName | |
68 | # First Name Attribute |
|
71 | # First Name Attribute to read | |
69 | Rufus |
|
72 | givenName | |
70 | # Last Name Attribute |
|
73 | # Last Name Attribute to read | |
71 | Magillacuddy |
|
74 | sn | |
72 | # Email Attribute |
|
75 | # Email Attribute to read email address from | |
73 | LDAP-Registered@email.ac |
|
76 | ||
74 | # User Member of Attribute |
|
77 | ||
75 | Organizational Role |
|
78 | ||
76 | # Group search base |
|
79 | Below is example setup that can be used with Active Directory/LDAP server. | |
77 | cn=users,ou=groups,dc=rhodecode,dc=com |
|
80 | ||
78 | # LDAP Group Search Filter |
|
81 | .. image:: ../images/ldap-example.png | |
79 | (objectclass=posixGroup) |
|
82 | :alt: LDAP/AD setup example | |
80 | # Group Name Attribute |
|
83 | :scale: 50 % | |
81 | users |
|
84 | ||
82 | # Group Member Of Attribute |
|
|||
83 | cn |
|
|||
84 | # Admin Groups |
|
|||
85 | admin,devops,qa |
|
|||
86 |
|
85 | |||
87 | .. toctree:: |
|
86 | .. toctree:: | |
88 |
|
87 | |||
89 | ldap-active-directory |
|
88 | ldap-active-directory | |
90 | ldap-authentication |
|
89 | ldap-authentication |
1 | NO CONTENT: file renamed from docs/auth/pam-auth.rst to docs/auth/auth-pam.rst |
|
NO CONTENT: file renamed from docs/auth/pam-auth.rst to docs/auth/auth-pam.rst |
1 | NO CONTENT: file renamed from docs/auth/token-auth.rst to docs/auth/auth-token.rst |
|
NO CONTENT: file renamed from docs/auth/token-auth.rst to docs/auth/auth-token.rst |
@@ -1,37 +1,32 b'' | |||||
1 | .. _authentication-ref: |
|
1 | .. _authentication-ref: | |
2 |
|
2 | |||
3 | Authentication Options |
|
3 | Authentication Options | |
4 | ====================== |
|
4 | ====================== | |
5 |
|
5 | |||
6 |
|RCE| provides a built in authentication |
|
6 | |RCE| provides a built in authentication against its own database. This is | |
7 | ``rhodecode.lib.auth_rhodecode``. This is enabled by default and accessed |
|
7 | implemented using ``rhodecode.lib.auth_rhodecode`` plugin. This plugin is | |
8 | through the administrative interface. Additionally, |
|
8 | enabled by default. | |
9 |
|RCE| provides a Pluggable Authentication System |
|
9 | Additionally, |RCE| provides a Pluggable Authentication System. This gives the | |
10 | administrator greater control over how users authenticate with the system. |
|
10 | administrator greater control over how users authenticate with the system. | |
11 |
|
11 | |||
12 | .. important:: |
|
12 | .. important:: | |
13 |
|
13 | |||
14 | You can disable the built in |RCM| authentication plugin |
|
14 | You can disable the built in |RCM| authentication plugin | |
15 | ``rhodecode.lib.auth_rhodecode`` and force all authentication to go |
|
15 | ``rhodecode.lib.auth_rhodecode`` and force all authentication to go | |
16 |
through your authentication plugin |
|
16 | through your authentication plugin of choice e.g LDAP only. | |
17 |
and your external authentication tools fails, |
|
17 | However, if you do this, and your external authentication tools fails, | |
18 | access |RCM|. |
|
18 | you will be unable to access |RCM|. | |
19 |
|
19 | |||
20 | |RCM| comes with the following user authentication management plugins: |
|
20 | |RCM| comes with the following user authentication management plugins: | |
21 |
|
21 | |||
22 | .. only:: latex |
|
|||
23 |
|
||||
24 | * :ref:`config-ldap-ref` |
|
|||
25 | * :ref:`config-pam-ref` |
|
|||
26 | * :ref:`config-crowd-ref` |
|
|||
27 | * :ref:`config-token-ref` |
|
|||
28 |
|
22 | |||
29 | .. toctree:: |
|
23 | .. toctree:: | |
30 |
|
24 | |||
31 | ldap-config-steps |
|
25 | auth-ldap | |
32 | crowd-auth |
|
26 | auth-ldap-groups | |
33 |
|
|
27 | auth-crowd | |
34 |
|
|
28 | auth-pam | |
|
29 | auth-token | |||
35 | ssh-connection |
|
30 | ssh-connection | |
36 |
|
31 | |||
37 |
|
32 |
@@ -1,317 +1,316 b'' | |||||
1 | # -*- coding: utf-8 -*- |
|
1 | # -*- coding: utf-8 -*- | |
2 | # |
|
2 | # | |
3 | # RhodeCode Enterprise documentation build configuration file, created by |
|
3 | # RhodeCode Enterprise documentation build configuration file, created by | |
4 | # sphinx-quickstart on Tue Nov 4 11:48:37 2014. |
|
4 | # sphinx-quickstart on Tue Nov 4 11:48:37 2014. | |
5 | # |
|
5 | # | |
6 | # This file is execfile()d with the current directory set to its |
|
6 | # This file is execfile()d with the current directory set to its | |
7 | # containing dir. |
|
7 | # containing dir. | |
8 | # |
|
8 | # | |
9 | # Note that not all possible configuration values are present in this |
|
9 | # Note that not all possible configuration values are present in this | |
10 | # autogenerated file. |
|
10 | # autogenerated file. | |
11 | # |
|
11 | # | |
12 | # All configuration values have a default; values that are commented out |
|
12 | # All configuration values have a default; values that are commented out | |
13 | # serve to show the default. |
|
13 | # serve to show the default. | |
14 |
|
14 | |||
15 | import sys |
|
15 | import sys | |
16 | import os |
|
16 | import os | |
17 | import datetime |
|
17 | import datetime | |
18 | import sphinx_rtd_theme |
|
18 | import sphinx_rtd_theme | |
19 |
|
19 | |||
20 | # If extensions (or modules to document with autodoc) are in another directory, |
|
20 | # If extensions (or modules to document with autodoc) are in another directory, | |
21 | # add these directories to sys.path here. If the directory is relative to the |
|
21 | # add these directories to sys.path here. If the directory is relative to the | |
22 | # documentation root, use os.path.abspath to make it absolute, like shown here. |
|
22 | # documentation root, use os.path.abspath to make it absolute, like shown here. | |
23 | sys.path.insert(0, os.path.abspath('.')) |
|
23 | sys.path.insert(0, os.path.abspath('.')) | |
24 | import common |
|
24 | import common | |
25 |
|
25 | |||
26 | # -- General configuration ------------------------------------------------ |
|
26 | # -- General configuration ------------------------------------------------ | |
27 |
|
27 | |||
28 | # If your documentation needs a minimal Sphinx version, state it here. |
|
28 | # If your documentation needs a minimal Sphinx version, state it here. | |
29 | #needs_sphinx = '1.0' |
|
29 | #needs_sphinx = '1.0' | |
30 |
|
30 | |||
31 | # Add any Sphinx extension module names here, as strings. They can be |
|
31 | # Add any Sphinx extension module names here, as strings. They can be | |
32 | # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom |
|
32 | # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom | |
33 | # ones. |
|
33 | # ones. | |
34 | extensions = [ |
|
34 | extensions = [ | |
35 | 'sphinx.ext.intersphinx', |
|
35 | 'sphinx.ext.intersphinx', | |
36 | 'sphinx.ext.todo', |
|
36 | 'sphinx.ext.todo', | |
37 | 'sphinx.ext.imgmath' |
|
37 | 'sphinx.ext.imgmath' | |
38 | ] |
|
38 | ] | |
39 |
|
39 | |||
40 | intersphinx_mapping = { |
|
40 | intersphinx_mapping = { | |
41 | 'enterprise': ('https://docs.rhodecode.com/RhodeCode-Enterprise/', None), |
|
41 | 'enterprise': ('https://docs.rhodecode.com/RhodeCode-Enterprise/', None), | |
42 | 'control': ('https://docs.rhodecode.com/RhodeCode-Control/', None), |
|
42 | 'control': ('https://docs.rhodecode.com/RhodeCode-Control/', None), | |
43 | } |
|
43 | } | |
44 |
|
44 | |||
45 | if tags.has('dev'): |
|
45 | if tags.has('dev'): | |
46 | intersphinx_mapping.update({ |
|
46 | intersphinx_mapping.update({ | |
47 | 'enterprise': ('https://ci.rhodecode.com/documentation/Momentum/', None), |
|
47 | 'enterprise': ('https://ci.rhodecode.com/documentation/Momentum/', None), | |
48 | 'control': ('https://ci.rhodecode.com/documentation/Control/', None), |
|
48 | 'control': ('https://ci.rhodecode.com/documentation/Control/', None), | |
49 | }) |
|
49 | }) | |
50 |
|
50 | |||
51 |
|
51 | |||
52 | # Add any paths that contain templates here, relative to this directory. |
|
52 | # Add any paths that contain templates here, relative to this directory. | |
53 | templates_path = ['_templates'] |
|
53 | templates_path = ['_templates'] | |
54 |
|
54 | |||
55 | # The suffix of source filenames. |
|
55 | # The suffix of source filenames. | |
56 | source_suffix = '.rst' |
|
56 | source_suffix = '.rst' | |
57 |
|
57 | |||
58 | # The encoding of source files. |
|
58 | # The encoding of source files. | |
59 | #source_encoding = 'utf-8-sig' |
|
59 | #source_encoding = 'utf-8-sig' | |
60 |
|
60 | |||
61 | # The master toctree document. |
|
61 | # The master toctree document. | |
62 | master_doc = 'index' |
|
62 | master_doc = 'index' | |
63 |
|
63 | |||
64 | # The version info for the project you're documenting, acts as replacement for |
|
64 | # The version info for the project you're documenting, acts as replacement for | |
65 | # |version| and |release|, also used in various other places throughout the |
|
65 | # |version| and |release|, also used in various other places throughout the | |
66 | # built documents. |
|
66 | # built documents. | |
67 |
|
67 | |||
68 | # TODO: johbo: Move into common package for documentation utilities |
|
68 | # TODO: johbo: Move into common package for documentation utilities | |
69 | def _get_version(): |
|
69 | def _get_version(): | |
70 | with open('../rhodecode/VERSION') as f: |
|
70 | with open('../rhodecode/VERSION') as f: | |
71 | return f.read().strip() |
|
71 | return f.read().strip() | |
72 |
|
72 | |||
73 | # The full version, including alpha/beta/rc tags. |
|
73 | # The full version, including alpha/beta/rc tags. | |
74 | release = _get_version() |
|
74 | release = _get_version() | |
75 | # The short X.Y version. |
|
75 | # The short X.Y version. | |
76 | version = '.'.join(release.split('.', 2)[:2]) # First two parts of release |
|
76 | version = '.'.join(release.split('.', 2)[:2]) # First two parts of release | |
77 |
|
77 | |||
78 | # General information about the project. |
|
78 | # General information about the project. | |
79 | project = u'RhodeCode Enterprise %s ' % _get_version() |
|
79 | project = u'RhodeCode Enterprise %s ' % _get_version() | |
80 | copyright = u'2010-{now.year}, RhodeCode GmbH'.format( |
|
80 | copyright = u'2010-{now.year}, RhodeCode GmbH'.format( | |
81 | now=datetime.datetime.today()) |
|
81 | now=datetime.datetime.today()) | |
82 |
|
82 | |||
83 |
|
83 | |||
84 | # The language for content autogenerated by Sphinx. Refer to documentation |
|
84 | # The language for content autogenerated by Sphinx. Refer to documentation | |
85 | # for a list of supported languages. |
|
85 | # for a list of supported languages. | |
86 | #language = None |
|
86 | #language = None | |
87 |
|
87 | |||
88 | rst_epilog = common.rst_epilog + """ |
|
88 | rst_epilog = common.rst_epilog + """ | |
89 | .. |async| replace:: asynchronous |
|
89 | .. |async| replace:: asynchronous | |
90 | """ |
|
90 | """ | |
91 |
|
91 | |||
92 | # There are two options for replacing |today|: either, you set today to some |
|
92 | # There are two options for replacing |today|: either, you set today to some | |
93 | # non-false value, then it is used: |
|
93 | # non-false value, then it is used: | |
94 | #today = '' |
|
94 | #today = '' | |
95 | # Else, today_fmt is used as the format for a strftime call. |
|
95 | # Else, today_fmt is used as the format for a strftime call. | |
96 | #today_fmt = '%B %d, %Y' |
|
96 | #today_fmt = '%B %d, %Y' | |
97 |
|
97 | |||
98 | # List of patterns, relative to source directory, that match files and |
|
98 | # List of patterns, relative to source directory, that match files and | |
99 | # directories to ignore when looking for source files. |
|
99 | # directories to ignore when looking for source files. | |
100 | exclude_patterns = [ |
|
100 | exclude_patterns = [ | |
101 | # Special directories |
|
101 | # Special directories | |
102 | '_build', |
|
102 | '_build', | |
103 | 'result', |
|
103 | 'result', | |
104 |
|
104 | |||
105 | # Other RST files |
|
105 | # Other RST files | |
106 | 'admin/rhodecode-backup.rst', |
|
106 | 'admin/rhodecode-backup.rst', | |
107 | 'auth/ldap-configuration-example.rst', |
|
|||
108 | 'issue-trackers/redmine.rst', |
|
107 | 'issue-trackers/redmine.rst', | |
109 | 'known-issues/error-msg-guide.rst', |
|
108 | 'known-issues/error-msg-guide.rst', | |
110 | 'tutorials/docs-build.rst', |
|
109 | 'tutorials/docs-build.rst', | |
111 | 'integrations/example-ext.py', |
|
110 | 'integrations/example-ext.py', | |
112 | 'collaboration/supported-workflows.rst', |
|
111 | 'collaboration/supported-workflows.rst', | |
113 | ] |
|
112 | ] | |
114 |
|
113 | |||
115 |
|
114 | |||
116 | # The reST default role (used for this markup: `text`) to use for all |
|
115 | # The reST default role (used for this markup: `text`) to use for all | |
117 | # documents. |
|
116 | # documents. | |
118 | #default_role = None |
|
117 | #default_role = None | |
119 |
|
118 | |||
120 | # If true, '()' will be appended to :func: etc. cross-reference text. |
|
119 | # If true, '()' will be appended to :func: etc. cross-reference text. | |
121 | #add_function_parentheses = True |
|
120 | #add_function_parentheses = True | |
122 |
|
121 | |||
123 | # If true, the current module name will be prepended to all description |
|
122 | # If true, the current module name will be prepended to all description | |
124 | # unit titles (such as .. function::). |
|
123 | # unit titles (such as .. function::). | |
125 | #add_module_names = True |
|
124 | #add_module_names = True | |
126 |
|
125 | |||
127 | # If true, sectionauthor and moduleauthor directives will be shown in the |
|
126 | # If true, sectionauthor and moduleauthor directives will be shown in the | |
128 | # output. They are ignored by default. |
|
127 | # output. They are ignored by default. | |
129 | #show_authors = False |
|
128 | #show_authors = False | |
130 |
|
129 | |||
131 | # The name of the Pygments (syntax highlighting) style to use. |
|
130 | # The name of the Pygments (syntax highlighting) style to use. | |
132 | pygments_style = 'sphinx' |
|
131 | pygments_style = 'sphinx' | |
133 |
|
132 | |||
134 | # A list of ignored prefixes for module index sorting. |
|
133 | # A list of ignored prefixes for module index sorting. | |
135 | #modindex_common_prefix = [] |
|
134 | #modindex_common_prefix = [] | |
136 |
|
135 | |||
137 | # If true, keep warnings as "system message" paragraphs in the built documents. |
|
136 | # If true, keep warnings as "system message" paragraphs in the built documents. | |
138 | keep_warnings = tags.has("dev") |
|
137 | keep_warnings = tags.has("dev") | |
139 |
|
138 | |||
140 |
|
139 | |||
141 | # -- Options for HTML output ---------------------------------------------- |
|
140 | # -- Options for HTML output ---------------------------------------------- | |
142 |
|
141 | |||
143 | # The theme to use for HTML and HTML Help pages. See the documentation for |
|
142 | # The theme to use for HTML and HTML Help pages. See the documentation for | |
144 | # a list of builtin themes. |
|
143 | # a list of builtin themes. | |
145 | #html_theme = 'rctheme' |
|
144 | #html_theme = 'rctheme' | |
146 | html_theme = 'sphinx_rtd_theme' |
|
145 | html_theme = 'sphinx_rtd_theme' | |
147 |
|
146 | |||
148 | # Theme options are theme-specific and customize the look and feel of a theme |
|
147 | # Theme options are theme-specific and customize the look and feel of a theme | |
149 | # further. For a list of options available for each theme, see the |
|
148 | # further. For a list of options available for each theme, see the | |
150 | # documentation. |
|
149 | # documentation. | |
151 | #html_theme_options = {} |
|
150 | #html_theme_options = {} | |
152 | html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] |
|
151 | html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] | |
153 |
|
152 | |||
154 | # Add any paths that contain custom themes here, relative to this directory. |
|
153 | # Add any paths that contain custom themes here, relative to this directory. | |
155 | #html_theme_path = [] |
|
154 | #html_theme_path = [] | |
156 |
|
155 | |||
157 | # The name for this set of Sphinx documents. If None, it defaults to |
|
156 | # The name for this set of Sphinx documents. If None, it defaults to | |
158 | # "<project> v<release> documentation". |
|
157 | # "<project> v<release> documentation". | |
159 | #html_title = None |
|
158 | #html_title = None | |
160 |
|
159 | |||
161 | # A shorter title for the navigation bar. Default is the same as html_title. |
|
160 | # A shorter title for the navigation bar. Default is the same as html_title. | |
162 | #html_short_title = None |
|
161 | #html_short_title = None | |
163 |
|
162 | |||
164 | # The name of an image file (relative to this directory) to place at the top |
|
163 | # The name of an image file (relative to this directory) to place at the top | |
165 | # of the sidebar. |
|
164 | # of the sidebar. | |
166 | #html_logo = None |
|
165 | #html_logo = None | |
167 | html_sidebars = { |
|
166 | html_sidebars = { | |
168 | '**': ['globaltoc.html'], |
|
167 | '**': ['globaltoc.html'], | |
169 | } |
|
168 | } | |
170 |
|
169 | |||
171 | # The name of an image file (within the static path) to use as favicon of the |
|
170 | # The name of an image file (within the static path) to use as favicon of the | |
172 | # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 |
|
171 | # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 | |
173 | # pixels large. |
|
172 | # pixels large. | |
174 | html_favicon = 'images/favicon.ico' |
|
173 | html_favicon = 'images/favicon.ico' | |
175 |
|
174 | |||
176 | # Add any paths that contain custom static files (such as style sheets) here, |
|
175 | # Add any paths that contain custom static files (such as style sheets) here, | |
177 | # relative to this directory. They are copied after the builtin static files, |
|
176 | # relative to this directory. They are copied after the builtin static files, | |
178 | # so a file named "default.css" will overwrite the builtin "default.css". |
|
177 | # so a file named "default.css" will overwrite the builtin "default.css". | |
179 | html_static_path = ['static/css/add.css'] |
|
178 | html_static_path = ['static/css/add.css'] | |
180 |
|
179 | |||
181 | # Add any extra paths that contain custom files (such as robots.txt or |
|
180 | # Add any extra paths that contain custom files (such as robots.txt or | |
182 | # .htaccess) here, relative to this directory. These files are copied |
|
181 | # .htaccess) here, relative to this directory. These files are copied | |
183 | # directly to the root of the documentation. |
|
182 | # directly to the root of the documentation. | |
184 | #html_extra_path = [] |
|
183 | #html_extra_path = [] | |
185 |
|
184 | |||
186 | # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, |
|
185 | # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, | |
187 | # using the given strftime format. |
|
186 | # using the given strftime format. | |
188 | #html_last_updated_fmt = '%b %d, %Y' |
|
187 | #html_last_updated_fmt = '%b %d, %Y' | |
189 |
|
188 | |||
190 | # If true, SmartyPants will be used to convert quotes and dashes to |
|
189 | # If true, SmartyPants will be used to convert quotes and dashes to | |
191 | # typographically correct entities. |
|
190 | # typographically correct entities. | |
192 | #html_use_smartypants = True |
|
191 | #html_use_smartypants = True | |
193 |
|
192 | |||
194 | # Custom sidebar templates, maps document names to template names. |
|
193 | # Custom sidebar templates, maps document names to template names. | |
195 | #html_sidebars = {} |
|
194 | #html_sidebars = {} | |
196 |
|
195 | |||
197 | # Additional templates that should be rendered to pages, maps page names to |
|
196 | # Additional templates that should be rendered to pages, maps page names to | |
198 | # template names. |
|
197 | # template names. | |
199 | #html_additional_pages = {} |
|
198 | #html_additional_pages = {} | |
200 |
|
199 | |||
201 | # If false, no module index is generated. |
|
200 | # If false, no module index is generated. | |
202 | #html_domain_indices = True |
|
201 | #html_domain_indices = True | |
203 |
|
202 | |||
204 | # If false, no index is generated. |
|
203 | # If false, no index is generated. | |
205 | #html_use_index = True |
|
204 | #html_use_index = True | |
206 |
|
205 | |||
207 | # If true, the index is split into individual pages for each letter. |
|
206 | # If true, the index is split into individual pages for each letter. | |
208 | #html_split_index = False |
|
207 | #html_split_index = False | |
209 |
|
208 | |||
210 | # If true, links to the reST sources are added to the pages. |
|
209 | # If true, links to the reST sources are added to the pages. | |
211 | #html_show_sourcelink = True |
|
210 | #html_show_sourcelink = True | |
212 |
|
211 | |||
213 | # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. |
|
212 | # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. | |
214 | #html_show_sphinx = True |
|
213 | #html_show_sphinx = True | |
215 |
|
214 | |||
216 | # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. |
|
215 | # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. | |
217 | #html_show_copyright = True |
|
216 | #html_show_copyright = True | |
218 |
|
217 | |||
219 | # If true, an OpenSearch description file will be output, and all pages will |
|
218 | # If true, an OpenSearch description file will be output, and all pages will | |
220 | # contain a <link> tag referring to it. The value of this option must be the |
|
219 | # contain a <link> tag referring to it. The value of this option must be the | |
221 | # base URL from which the finished HTML is served. |
|
220 | # base URL from which the finished HTML is served. | |
222 | #html_use_opensearch = '' |
|
221 | #html_use_opensearch = '' | |
223 |
|
222 | |||
224 | # This is the file name suffix for HTML files (e.g. ".xhtml"). |
|
223 | # This is the file name suffix for HTML files (e.g. ".xhtml"). | |
225 | #html_file_suffix = None |
|
224 | #html_file_suffix = None | |
226 |
|
225 | |||
227 | # Output file base name for HTML help builder. |
|
226 | # Output file base name for HTML help builder. | |
228 | htmlhelp_basename = 'rhodecode-enterprise' |
|
227 | htmlhelp_basename = 'rhodecode-enterprise' | |
229 |
|
228 | |||
230 |
|
229 | |||
231 | # -- Options for LaTeX output --------------------------------------------- |
|
230 | # -- Options for LaTeX output --------------------------------------------- | |
232 |
|
231 | |||
233 | latex_elements = { |
|
232 | latex_elements = { | |
234 | 'classoptions': ',oneside', |
|
233 | 'classoptions': ',oneside', | |
235 | 'babel': '\\usepackage[english]{babel}', |
|
234 | 'babel': '\\usepackage[english]{babel}', | |
236 |
|
235 | |||
237 | # The paper size ('letterpaper' or 'a4paper'). |
|
236 | # The paper size ('letterpaper' or 'a4paper'). | |
238 | #'papersize': 'letterpaper', |
|
237 | #'papersize': 'letterpaper', | |
239 |
|
238 | |||
240 | # The font size ('10pt', '11pt' or '12pt'). |
|
239 | # The font size ('10pt', '11pt' or '12pt'). | |
241 | #'pointsize': '10pt', |
|
240 | #'pointsize': '10pt', | |
242 |
|
241 | |||
243 | # Additional stuff for the LaTeX preamble. |
|
242 | # Additional stuff for the LaTeX preamble. | |
244 | #'preamble': '', |
|
243 | #'preamble': '', | |
245 | } |
|
244 | } | |
246 |
|
245 | |||
247 | # Grouping the document tree into LaTeX files. List of tuples |
|
246 | # Grouping the document tree into LaTeX files. List of tuples | |
248 | # (source start file, target name, title, |
|
247 | # (source start file, target name, title, | |
249 | # author, documentclass [howto, manual, or own class]). |
|
248 | # author, documentclass [howto, manual, or own class]). | |
250 | latex_documents = [ |
|
249 | latex_documents = [ | |
251 | ('index', 'RhodeCodeEnterprise.tex', u'RhodeCode Enterprise', |
|
250 | ('index', 'RhodeCodeEnterprise.tex', u'RhodeCode Enterprise', | |
252 | u'RhodeCode GmbH', 'manual'), |
|
251 | u'RhodeCode GmbH', 'manual'), | |
253 | ] |
|
252 | ] | |
254 |
|
253 | |||
255 | # The name of an image file (relative to this directory) to place at the top of |
|
254 | # The name of an image file (relative to this directory) to place at the top of | |
256 | # the title page. |
|
255 | # the title page. | |
257 | #latex_logo = None |
|
256 | #latex_logo = None | |
258 |
|
257 | |||
259 | # For "manual" documents, if this is true, then toplevel headings are parts, |
|
258 | # For "manual" documents, if this is true, then toplevel headings are parts, | |
260 | # not chapters. |
|
259 | # not chapters. | |
261 | #latex_use_parts = False |
|
260 | #latex_use_parts = False | |
262 |
|
261 | |||
263 | # If true, show page references after internal links. |
|
262 | # If true, show page references after internal links. | |
264 | latex_show_pagerefs = True |
|
263 | latex_show_pagerefs = True | |
265 |
|
264 | |||
266 | # If true, show URL addresses after external links. |
|
265 | # If true, show URL addresses after external links. | |
267 | latex_show_urls = 'footnote' |
|
266 | latex_show_urls = 'footnote' | |
268 |
|
267 | |||
269 | # Documents to append as an appendix to all manuals. |
|
268 | # Documents to append as an appendix to all manuals. | |
270 | #latex_appendices = [] |
|
269 | #latex_appendices = [] | |
271 |
|
270 | |||
272 | # If false, no module index is generated. |
|
271 | # If false, no module index is generated. | |
273 | #latex_domain_indices = True |
|
272 | #latex_domain_indices = True | |
274 |
|
273 | |||
275 | # Mode for literal blocks wider than the frame. Can be |
|
274 | # Mode for literal blocks wider than the frame. Can be | |
276 | # overflow, shrink or truncate |
|
275 | # overflow, shrink or truncate | |
277 | pdf_fit_mode = "truncate" |
|
276 | pdf_fit_mode = "truncate" | |
278 |
|
277 | |||
279 |
|
278 | |||
280 | # -- Options for manual page output --------------------------------------- |
|
279 | # -- Options for manual page output --------------------------------------- | |
281 |
|
280 | |||
282 | # One entry per manual page. List of tuples |
|
281 | # One entry per manual page. List of tuples | |
283 | # (source start file, name, description, authors, manual section). |
|
282 | # (source start file, name, description, authors, manual section). | |
284 | man_pages = [ |
|
283 | man_pages = [ | |
285 | ('index', 'rhodecodeenterprise', u'RhodeCode Enterprise', |
|
284 | ('index', 'rhodecodeenterprise', u'RhodeCode Enterprise', | |
286 | [u'RhodeCode GmbH'], 1) |
|
285 | [u'RhodeCode GmbH'], 1) | |
287 | ] |
|
286 | ] | |
288 |
|
287 | |||
289 | # If true, show URL addresses after external links. |
|
288 | # If true, show URL addresses after external links. | |
290 | #man_show_urls = False |
|
289 | #man_show_urls = False | |
291 |
|
290 | |||
292 |
|
291 | |||
293 | # -- Options for Texinfo output ------------------------------------------- |
|
292 | # -- Options for Texinfo output ------------------------------------------- | |
294 |
|
293 | |||
295 | # Grouping the document tree into Texinfo files. List of tuples |
|
294 | # Grouping the document tree into Texinfo files. List of tuples | |
296 | # (source start file, target name, title, author, |
|
295 | # (source start file, target name, title, author, | |
297 | # dir menu entry, description, category) |
|
296 | # dir menu entry, description, category) | |
298 | texinfo_documents = [ |
|
297 | texinfo_documents = [ | |
299 | ('index', 'RhodeCodeEnterprise', u'RhodeCode Enterprise', |
|
298 | ('index', 'RhodeCodeEnterprise', u'RhodeCode Enterprise', | |
300 | u'RhodeCode Docs Team', 'RhodeCodeEnterprise', 'RhodeCode Docs Project', |
|
299 | u'RhodeCode Docs Team', 'RhodeCodeEnterprise', 'RhodeCode Docs Project', | |
301 | 'Miscellaneous'), |
|
300 | 'Miscellaneous'), | |
302 | ] |
|
301 | ] | |
303 |
|
302 | |||
304 | # Documents to append as an appendix to all manuals. |
|
303 | # Documents to append as an appendix to all manuals. | |
305 | #texinfo_appendices = [] |
|
304 | #texinfo_appendices = [] | |
306 |
|
305 | |||
307 | # If false, no module index is generated. |
|
306 | # If false, no module index is generated. | |
308 | #texinfo_domain_indices = True |
|
307 | #texinfo_domain_indices = True | |
309 |
|
308 | |||
310 | # How to display URL addresses: 'footnote', 'no', or 'inline'. |
|
309 | # How to display URL addresses: 'footnote', 'no', or 'inline'. | |
311 | #texinfo_show_urls = 'footnote' |
|
310 | #texinfo_show_urls = 'footnote' | |
312 |
|
311 | |||
313 | # If true, do not generate a @detailmenu in the "Top" node's menu. |
|
312 | # If true, do not generate a @detailmenu in the "Top" node's menu. | |
314 | #texinfo_no_detailmenu = False |
|
313 | #texinfo_no_detailmenu = False | |
315 |
|
314 | |||
316 | # We want to see todo notes in case of a pre-release build of the documentation |
|
315 | # We want to see todo notes in case of a pre-release build of the documentation | |
317 | todo_include_todos = tags.has("dev") |
|
316 | todo_include_todos = tags.has("dev") |
1 | NO CONTENT: file was removed |
|
NO CONTENT: file was removed |
General Comments 0
You need to be logged in to leave comments.
Login now