Fixing broken images and probably making it worse, because that's how I roll. (#973)

This commit is contained in:
James Hodgkinson 2022-08-08 09:55:03 +10:00 committed by GitHub
parent f0075378d9
commit c6e5e426d0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 53 additions and 23 deletions

View file

@ -116,6 +116,7 @@ doc: ## Build the rust documentation locally
doc: doc:
cargo doc --document-private-items cargo doc --document-private-items
book: ## Build the Kanidm book
book: book:
cargo doc --no-deps cargo doc --no-deps
mdbook build kanidm_book mdbook build kanidm_book

View file

@ -31,6 +31,7 @@ admin (system admin) account.
{{#template {{#template
templates/kani-warning.md templates/kani-warning.md
imagepath=images
text=Warning: The server must not be running at this point, as it requires exclusive access to the database. text=Warning: The server must not be running at this point, as it requires exclusive access to the database.
}} }}

View file

@ -55,11 +55,14 @@ the number of backup versions to keep. An example is located in
# Configuration Test # Configuration Test
You can test your configuration will correctly start with the server. {{#template
templates/kani-warning.md
imagepath=images
title=Take note!
text=While this is a configuration file test, it still needs to open the database so that it can check a number of internal values are consistent with the configuration. As a result, this requires the instance under config test to be stopped!
}}
> **WARNING:** While this is a configuration test, it still needs to open the database so that You can test that your configuration is correct, and the server should correctly start.
> it can check a number of internal values are consistent with the configuration. As a result,
> this requires the instance under config test to be stopped!
docker stop <container name> docker stop <container name>
docker run --rm -i -t -v kanidmd:/data \ docker run --rm -i -t -v kanidmd:/data \

View file

@ -3,6 +3,7 @@
{{#template {{#template
../../templates/kani-warning.md ../../templates/kani-warning.md
imagepath=../../images
text=Here begins some early notes on the REST interface - much better ones are in the repository's designs directory. text=Here begins some early notes on the REST interface - much better ones are in the repository's designs directory.
}} }}

View file

@ -7,9 +7,13 @@ authentication for many years, with almost every application in the world being
able to search and bind to LDAP. As many organization still rely on LDAP, Kanidm able to search and bind to LDAP. As many organization still rely on LDAP, Kanidm
can host a read-only LDAP interface. can host a read-only LDAP interface.
> **WARNING** The LDAP server in Kanidm is not RFC compliant. This {{#template
> is intentional, as Kanidm wants to cover the common use case, ../templates/kani-warning.md
> simple bind and search. imagepath=../images
title=Warning!
text=The LDAP server in Kanidm is not RFC compliant. This is intentional, as Kanidm wants to cover the common use case, simple bind and search.
}}
## What is LDAP ## What is LDAP
@ -105,10 +109,22 @@ Kanidm native attributes.
## Example ## Example
Given a default install with domain "example.com" the configured LDAP DN will be "dc=example,dc=com". Given a default install with domain "example.com" the configured LDAP DN will be "dc=example,dc=com".
Run your server:
cargo run -- server \
-D kanidm.db \
-C ca.pem -c cert.pem \
-k key.pem \
-b 127.0.0.1:8443 \
-l 127.0.0.1:3636
This can be queried with: This can be queried with:
cargo run -- server -D kanidm.db -C ca.pem -c cert.pem -k key.pem -b 127.0.0.1:8443 -l 127.0.0.1:3636 LDAPTLS_CACERT=ca.pem ldapsearch \
> LDAPTLS_CACERT=ca.pem ldapsearch -H ldaps://127.0.0.1:3636 -b 'dc=example,dc=com' -x '(name=test1)' -H ldaps://127.0.0.1:3636 \
-b 'dc=example,dc=com' \
-x '(name=test1)'
# test1@example.com, example.com # test1@example.com, example.com
dn: spn=test1@example.com,dc=example,dc=com dn: spn=test1@example.com,dc=example,dc=com
@ -122,10 +138,10 @@ This can be queried with:
spn: test1@example.com spn: test1@example.com
entryuuid: 22a65b6c-80c8-4e1a-9b76-3f3afdff8400 entryuuid: 22a65b6c-80c8-4e1a-9b76-3f3afdff8400
It is recommended that client applications filter accounts that can login with '(class=account)' It is recommended that client applications filter accounts that can login with `(class=account)`
and groups with '(class=group)'. If possible, group membership is defined in RFC2307bis or and groups with `(class=group)`. If possible, group membership is defined in RFC2307bis or
Active Directory style. This means groups are determined from the "memberof" attribute which contains Active Directory style. This means groups are determined from the "memberof" attribute which
a DN to a group. contains a DN to a group.
LDAP binds can use any unique identifier of the account. The following are all valid bind DNs for LDAP binds can use any unique identifier of the account. The following are all valid bind DNs for
the object listed above (if it was a POSIX account, that is). the object listed above (if it was a POSIX account, that is).
@ -138,8 +154,8 @@ the object listed above (if it was a POSIX account, that is).
ldapwhoami ... -x -D 'spn=test1@example.com,dc=example,dc=com' ldapwhoami ... -x -D 'spn=test1@example.com,dc=example,dc=com'
ldapwhoami ... -x -D 'name=test1,dc=example,dc=com' ldapwhoami ... -x -D 'name=test1,dc=example,dc=com'
Most LDAP clients are very picky about TLS, and can be very hard to debug or display errors. For example Most LDAP clients are very picky about TLS, and can be very hard to debug or display errors.
these commands: For example these commands:
ldapsearch -H ldaps://127.0.0.1:3636 -b 'dc=example,dc=com' -x '(name=test1)' ldapsearch -H ldaps://127.0.0.1:3636 -b 'dc=example,dc=com' -x '(name=test1)'
ldapsearch -H ldap://127.0.0.1:3636 -b 'dc=example,dc=com' -x '(name=test1)' ldapsearch -H ldap://127.0.0.1:3636 -b 'dc=example,dc=com' -x '(name=test1)'

View file

@ -12,6 +12,7 @@ The intent of the Kanidm project is to:
{{#template {{#template
templates/kani-warning.md templates/kani-warning.md
imagepath=images
title=NOTICE title=NOTICE
text=This is a pre-release project. While all effort has been made to ensure no data loss or security flaws, you should still be careful when using this in your environment. text=This is a pre-release project. While all effort has been made to ensure no data loss or security flaws, you should still be careful when using this in your environment.
}} }}

View file

@ -3,9 +3,12 @@
The recycle bin is a storage of deleted entries from the server. This allows The recycle bin is a storage of deleted entries from the server. This allows
recovery from mistakes for a period of time. recovery from mistakes for a period of time.
> **WARNING:** The recycle bin is a best effort - when recovering in some cases {{#template
> not everything can be "put back" the way it was. Be sure to check your entries templates/kani-warning.md
> are valid once they have been revived. imagepath=images
title=Warning!
text=The recycle bin is a best effort - when recovering in some cases not everything can be "put back" the way it was. Be sure to check your entries are valid once they have been revived.
}}
## Where is the Recycle Bin? ## Where is the Recycle Bin?

View file

@ -2,7 +2,7 @@
### Configuring server.toml ### Configuring server.toml
You need a configuration file in the volume named `server.toml`. (Within the container it should be `/data/server.toml`.) Its contents should be as follows: You need a configuration file in the volume named `server.toml`. (Within the container it should be `/data/server.toml`) Its contents should be as follows:
# The webserver bind address. Will use HTTPS if tls_* # The webserver bind address. Will use HTTPS if tls_*
# is provided. # is provided.
@ -102,10 +102,14 @@ You need a configuration file in the volume named `server.toml`. (Within the con
# #
An example is located in [examples/server.toml](../../examples/server.toml). An example is located in [examples/server.toml](https://github.com/kanidm/kanidm/blob/master/examples/server.toml).
> **WARNING** You MUST set the `domain` name correctly, aligned with your `origin`, else the server {{#template
> may refuse to start, or some features (e.g. webauthn, oauth) may not work correctly! templates/kani-warning.md
imagepath=images
title=Warning!
text=You MUST set the `domain` name correctly, aligned with your `origin`, else the server may refuse to start or some features (e.g. webauthn, oauth) may not work correctly!
}}
### Check the configuration is valid. ### Check the configuration is valid.

View file

@ -1,6 +1,6 @@
<table> <table>
<tr> <tr>
<td rowspan=2><img src="/images/kani-warning.png" alt="Kani Warning" /></td> <td rowspan=2><img src="[[#imagepath]]/kani-warning.png" alt="Kani Warning" /></td>
<td><strong>[[#title]]</strong></td> <td><strong>[[#title]]</strong></td>
</tr> </tr>
<tr> <tr>