Skip to content

Commit

Permalink
Adding a bunch of checks, linting all the things, fixing a link (#27)
Browse files Browse the repository at this point in the history
* adding a zola check step
* adding codespell
* adding deno
* fixing broken link
* linting all the things, adding automated checks, applying lints
* OAuth2
  • Loading branch information
yaleman authored Jun 6, 2024
1 parent 3f511c0 commit c9df8e6
Show file tree
Hide file tree
Showing 14 changed files with 287 additions and 303 deletions.
14 changes: 11 additions & 3 deletions .github/workflows/zola_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,20 @@ jobs:
uses: actions/checkout@v4
- name: Setup Pages
uses: actions/configure-pages@v5
- uses: taiki-e/install-action@v2
- name: Install zola
uses: taiki-e/install-action@v2
with:
tool: [email protected]
tool: [email protected]
- name: Install Deno
uses: denoland/setup-deno@v1
with:
deno-version: vx.x.x
- name: Check content and links
run: |
pip install --user codespell
make check
- name: Build
run: |
find .
zola build
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
Expand Down
245 changes: 113 additions & 132 deletions LICENSE.md

Large diffs are not rendered by default.

18 changes: 18 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,21 @@ help:
serve: ## Use zola in "serve" mode
serve:
zola serve

.PHONY: codespell
codespell: ## Spell check things
codespell:
find . -not -path './themes/*' -name '*.md' -exec codespell "{}" \;

.PHONY: deno/check
deno/check: ## Check the deno lints
deno fmt --check --ignore=themes/juice/ --line-width=120

.PHONY: deno/apply
deno/apply: ## Apply the deno suggestions
deno fmt --ignore=themes/juice/ --line-width=120

.PHONY: check
check: ## Lint the things
check: codespell deno/check
zola check
47 changes: 20 additions & 27 deletions content/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,10 @@ title: "Code of Conduct"

## Our Pledge

In the interest of fostering an open and welcoming environment, we as contributors and maintainers
pledge to making participation in our project and our community a harassment-free experience for
everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity
and expression, level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making
participation in our project and our community a harassment-free experience for everyone, regardless of age, body size,
disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education,
socioeconomic status, nationality, personal appearance, race, religion, or sexual identity and orientation.

## Our Standards

Expand All @@ -25,43 +24,37 @@ Examples of unacceptable behavior by participants include:
- The use of sexualized language or imagery and unwelcome sexual attention or advances
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others’ private information, such as a physical or electronic address, without explicit
permission
- Publishing others’ private information, such as a physical or electronic address, without explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are
expected to take appropriate and fair corrective action in response to any instances of unacceptable
behavior.
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take
appropriate and fair corrective action in response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits,
code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or
to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful. Scope
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits,
issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any
contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. Scope

This Code of Conduct applies both within project spaces and in public spaces when an individual is
representing the project or its community. Examples of representing a project or community include
using an official project e-mail address, posting via an official social media account, or acting as
an appointed representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the
project or its community. Examples of representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed representative at an online or offline
event. Representation of a project may be further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting
the project team at:
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at:

- william at blackhats.net.au
- james at terminaloutcomes.com
- charcol at redhat.com

All complaints will be reviewed and investigated and will result in a response that is deemed
necessary and appropriate to the circumstances. The project team is obligated to maintain
confidentiality with regard to the reporter of an incident. Further details of specific enforcement
policies may be posted separately.
All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate
to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an
incident. Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face
temporary or permanent repercussions as determined by other members of the project’s leadership.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent
repercussions as determined by other members of the project’s leadership.

## Attribution

Expand Down
41 changes: 20 additions & 21 deletions content/_index.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
+++
title = "Kanidm"
+++
---
title: Kanidm
---

Kanidm is a simple and secure identity management platform, allowing other applications and services to offload the
challenge of authenticating and storing identities to Kanidm.

Kanidm is a simple and secure identity management platform, allowing other applications and services
to offload the challenge of authenticating and storing identities to Kanidm.
The goal of this project is to be a complete identity provider, covering the broadest possible set of requirements and
integrations. You should not need any other components (like Keycloak) when you use Kanidm - we already have everything
you need!

The goal of this project is to be a complete identity provider, covering the broadest possible set
of requirements and integrations. You should not need any other components (like Keycloak) when you
use Kanidm - we already have everything you need!

To achieve this we rely heavily on strict defaults, simple configuration, and self-healing
components. This allows Kanidm to run from small home labs, for families, small business, and all
the way to the largest enterprise needs.
To achieve this we rely heavily on strict defaults, simple configuration, and self-healing components. This allows
Kanidm to run from small home labs, for families, small business, and all the way to the largest enterprise needs.

If you want to host your own authentication service, then Kanidm is for you!

Expand All @@ -30,31 +28,32 @@ If you want to host your own authentication service, then Kanidm is for you!

## Documentation / Getting Started / Support

If you want to read more about what Kanidm can do, you should [read our documentation](https://kanidm.github.io/kanidm/stable/).
If you want to read more about what Kanidm can do, you should
[read our documentation](https://kanidm.github.io/kanidm/stable/).

A quick [getting start guide](https://kanidm.github.io/kanidm/stable/evaluation_quickstart.html) is available.

We also have a set of
[support guidelines](https://kanidm.github.io/kanidm/master/support.html)
for what the project team will support.
We also have a set of [support guidelines](https://kanidm.github.io/kanidm/master/support.html) for what the project
team will support.

## Code of Conduct / Ethics

All interactions with the project are covered by our [code of conduct](/code-of-conduct/).

When we develop features we follow our projects guidelines on [rights and ethics](https://kanidm.github.io/kanidm/master/developers/developer_ethics.html).
When we develop features we follow our projects guidelines on
[rights and ethics](https://kanidm.github.io/kanidm/master/developers/developer_ethics.html).

## Getting in Contact

We have a [Gitter community channel](https://gitter.im/kanidm/community) where project members are always happy to answer questions.
We have a [Gitter community channel](https://gitter.im/kanidm/community) where project members are always happy to
answer questions.

Alternately you can open a new [Github discussion](https://github.com/kanidm/kanidm/discussions).

## What does Kanidm mean?

Kanidm is a portmanteau of 'Kani' and 'IDM'. Kani is Japanese for crab, related to Rust's mascot
ferris the crab. identity management is often abbreviated to 'IDM', and is a common industry term
for these services.
Kanidm is a portmanteau of 'Kani' and 'IDM'. Kani is Japanese for crab, related to Rust's mascot ferris the crab.
identity management is often abbreviated to 'IDM', and is a common industry term for these services.

Kanidm is pronounced as "kar - nee - dee - em".

Expand Down
18 changes: 9 additions & 9 deletions content/blog/2022-11-12-Kanidm-2022-report.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
+++
layout = "post"
title = "The Kanidm 2022 Report"
date = "2022-11-12T13:55:25+10:00"
author = "James Hodgkinson"
categories = ["blog"]
+++
---
layout: "post"
title: "The Kanidm 2022 Report"
date: "2022-11-12T13:55:25+10:00"
author: "James Hodgkinson"
categories: ["blog"]
---

On 2022-10-25, William presented an update to the SUSE Labs Conference 2022 on the state of Kanidm.
2022's been a massive year of changes, with many fantastic contributions.
On 2022-10-25, William presented an update to the SUSE Labs Conference 2022 on the state of Kanidm. 2022's been a
massive year of changes, with many fantastic contributions.

{{ youtube(id="jeuyXhsqTBw") }}

Expand Down
14 changes: 7 additions & 7 deletions content/blog/2023-09-29-Kanidm-turns-five.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
+++
layout = "post"
title = "Kanidm turns five!"
date = "2023-09-29T07:00:05+10:00"
author = "James Hodgkinson"
categories = ["blog"]
+++
---
layout: "post"
title: "Kanidm turns five!"
date: "2023-09-29T07:00:05+10:00"
author: "James Hodgkinson"
categories: ["blog"]
---

Congratulations on the great work by all our contributors! It's been quite the journey!

Expand Down
42 changes: 18 additions & 24 deletions content/blog/_index.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,18 @@
+++
title = "Blog"
description = "Blog posts"
draft = false
---

# Used to sort pages by "date", "update_date", "title", "title_bytes", "weight", "slug" or "none". See below for more information
title: "Blog"
description: "Blog posts"
draft: false

sort_by = "date"
# Used to sort pages by "date", "update_date", "title", "title_bytes", "weight", "slug" or "none". See below for more information
sort_by: "date"

# Used by the parent section to order its subsections

# Lower values have higher priority

weight = 0
weight: 0

# Template to use to render this section page
template = "section.html"
template: "section.html"

# The given template is applied to ALL pages below the section, recursively
# If you have several nested sections, each with a page_template set, the page
Expand All @@ -25,50 +23,46 @@ template = "section.html"

# This sets the number of pages to be displayed per paginated page
# No pagination will happen if this isn't set or if the value is 0
paginate_by = 0
paginate_by: 0

# If set, this will be the path used by the paginated page. The page number will be appended after this path
# The default is page/1
paginate_path = "page"
paginate_path: "page"

# If set, there will pagination will happen in a reversed order
paginate_reversed = true
paginate_reversed: true

# This determines whether to insert a link for each header like the ones you can see on this site if you hover over

# a header

# The default template can be overridden by creating an `anchor-link.html` file in the `templates` directory
# This value can be "left", "right", "heading" or "none"
# "heading" means the full heading becomes the text of the anchor
insert_anchor_links = "none"
insert_anchor_links: "none"

# If set to "true", the section pages will be in the search index. This is only used if
# `build_search_index` is set to "true" in the Zola configuration file
in_search_index = true
in_search_index: true

# If set to "true", the section homepage is rendered
# Useful when the section is used to organize pages (not used directly)
render = true
render: true

# This determines whether to redirect when a user lands on the section. Defaults to not being set
# Useful for the same reason as `render` but when you don't want a 404 when
# This determines whether to redirect when a user lands on the section. Defaults to not being set
# Useful for the same reason as `render` but when you don't want a 404 when
# landing on the root section page
# Example: redirect_to = "documentation/content/overview"
# redirect_to =

# If set to "true", the section will pass its pages on to the parent section. Defaults to `false`
# Useful when the section shouldn't split up the parent section, like
# sections for each year under a posts section
transparent = false
transparent: false

# Use aliases if you are moving content but want to redirect previous URLs to the
# current one. This takes an array of paths, not URLs
# aliases = []

# If set to "true", a feed file will be generated for this section at the
# section's root path. This is independent of the site-wide variable of the same
# name. The section feed will only include posts from that respective feed, and
# not from any other sections, including sub-sections under that section
# generate_feed = false
+++
---
19 changes: 8 additions & 11 deletions content/community.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,28 +7,25 @@ title: Community

See our [code of conduct](https://github.com/kanidm/kanidm/blob/master/CODE_OF_CONDUCT.md)

See our documentation on
[rights and ethics](https://github.com/kanidm/kanidm/blob/master/project_docs/ethics/README.md)
See our documentation on [rights and ethics](https://kanidm.github.io/kanidm/master/developers/developer_ethics.html)

## Source code

Check out the source on [Github](https://github.com/kanidm/).

## Getting in Contact / Questions

We have a [gitter community channel](https://gitter.im/kanidm/community) where we can talk.
Firstyear is also happy to answer questions via email, which can be found on their github profile.
We have a [gitter community channel](https://gitter.im/kanidm/community) where we can talk. Firstyear is also happy to
answer questions via email, which can be found on their github profile.

## The Project

Kanidm was created in 2018 by William Brown (Firstyear). Since then the community has grown with
[contributions from more than 40 individuals](https://github.com/kanidm/kanidm/blob/master/CONTRIBUTORS.md)
and has mentored multiple times for Google Summer of Code. The work of everyone of these persons has
made Kanidm the success that it is today.
[contributions from more than 40 individuals](https://github.com/kanidm/kanidm/blob/master/CONTRIBUTORS.md) and has
mentored multiple times for Google Summer of Code. The work of everyone of these persons has made Kanidm the success
that it is today.

### Project Lead / Author

William is a Senior Software Engineer at SUSE Labs, Australia. His work at SUSE has enabled him to
continue to invest in Kanidm and related identity and security technologies such as Webauthn, TPMs,
LDAP, and OpenID/OAuth2.

William is a Senior Software Engineer at SUSE Labs, Australia. His work at SUSE has enabled him to continue to invest in
Kanidm and related identity and security technologies such as Webauthn, TPMs, LDAP, and OpenID/OAuth2.
Loading

0 comments on commit c9df8e6

Please sign in to comment.