diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 00000000..5b4751d4 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,25 @@ +name: Deploy Book +on: + push: + branches: + - main + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup mdBook + uses: peaceiris/actions-mdbook@v2 + with: + mdbook-version: 'latest' + + - run: mdbook build + + - name: Deploy + uses: peaceiris/actions-gh-pages@v3 + if: ${{ github.ref == 'refs/heads/main' }} + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./book diff --git a/README.md b/README.md index 8ce6e939..3bcfec13 100644 --- a/README.md +++ b/README.md @@ -78,7 +78,7 @@ It's often helpful to get feedback on your concept before diving into the design In short, to get a major feature added to Cedar, you must first get the RFC merged into the RFC repo as a markdown file. At that point the RFC is 'active' and may be implemented with the goal of eventual inclusion into Cedar. -* Work on your proposal in a markdown file based on the template (). Put care into the details: RFCs that do not present convincing motivation, demonstrate understanding of the impact of the design, or are disingenuous about the drawbacks or alternatives tend to be poorly-received. Copy your markdown file into `text/0000-my-feature.md`, where my-feature is descriptive. +* Work on your proposal in a markdown file based on the template (). Put care into the details: RFCs that do not present convincing motivation, demonstrate understanding of the impact of the design, or are disingenuous about the drawbacks or alternatives tend to be poorly-received. Copy your markdown file into `text/0000-my-feature.md`, where my-feature is descriptive. * Fork this repository and create a PR with your markdown file. Once you have a PR, fill in the number in your filename with the PR number (e.g., `0003-my-feature.md` for PR #3). We will use this PR to provide feedback and to come to a consensus on whether the RFC should be accepted. Revisions to the RFC based on feedback should be done in the same PR. * Your RFC is now Pending. See "The RFC life-cycle" above for more on the next steps. diff --git a/text/0068-entity-tags.md b/archive/rfc/0068-entity-tags.md similarity index 100% rename from text/0068-entity-tags.md rename to archive/rfc/0068-entity-tags.md diff --git a/book.toml b/book.toml new file mode 100644 index 00000000..8a66b788 --- /dev/null +++ b/book.toml @@ -0,0 +1,9 @@ +[book] +authors = ["Cedar Contributors"] +language = "en" +multilingual = false +src = "text" +title = "Cedar RFC Book" + +[output.html] +no-section-label = true diff --git a/0000-template.md b/text/0000-template.md similarity index 100% rename from 0000-template.md rename to text/0000-template.md diff --git a/text/SUMMARY.md b/text/SUMMARY.md new file mode 100644 index 00000000..d0460712 --- /dev/null +++ b/text/SUMMARY.md @@ -0,0 +1,24 @@ +[Introduction](./intro.md) +[RFC Template](./0000-template.md) + +# Cedar RFCs + +- [0005-is-operator](0005-is-operator.md) +- [0009-disallow-whitespace-in-entityuid](0009-disallow-whitespace-in-entityuid.md) +- [0019-stricter-validation](0019-stricter-validation.md) +- [0020-unique-record-keys](0020-unique-record-keys.md) +- [0021-any-and-all-operators](0021-any-and-all-operators.md) +- [0024-schema-syntax](0024-schema-syntax.md) +- [0032-port-formalization-to-lean](0032-port-formalization-to-lean.md) +- [0034-precomputed-entity-attributes](0034-precomputed-entity-attributes.md) +- [0048-schema-annotations](0048-schema-annotations.md) +- [0052-reserved-namespaces](0052-reserved-namespaces.md) +- [0053-enum-entities](0053-enum-entities.md) +- [0055-remove-unspecified](0055-remove-unspecified.md) +- [0057-general-multiplication](0057-general-multiplication.md) +- [0062-extended-has](0062-extended-has.md) +- [0070-disallow-empty-namespace-shadowing](0070-disallow-empty-namespace-shadowing.md) +- [0071-trailing-commas](0071-trailing-commas.md) +- [0076-entity-slice-validation](0076-entity-slice-validation.md) +- [0080-datetime-extension](0080-datetime-extension.md) +- [0082-entity-tags](0082-entity-tags.md) diff --git a/text/intro.md b/text/intro.md new file mode 100644 index 00000000..8214b240 --- /dev/null +++ b/text/intro.md @@ -0,0 +1,11 @@ +# Introduction + +[Cedar](https://www.cedarpolicy.com/en) +is an open source policy language and evaluation engine. +This book collects all the accepted RFCs +([Request for Comments](https://en.wikipedia.org/wiki/Request_for_Comments)) for Cedar, +providing a central repository for easier access and reference. + +# RFC Status + +