├── _config.yml ├── .gitignore ├── Dockerfile-CI ├── Dockerfile ├── .github └── workflows │ └── main.yml ├── ci-entrypoint.sh ├── SECURITY.md ├── CONTRIBUTING.md ├── Makefile ├── README.md ├── LICENSE ├── uptane-standard.md └── release-artifacts └── ieee-isto-6100.1.0.0.uptane-standard.html /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-slate -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.xml 2 | *.html 3 | *.txt 4 | -------------------------------------------------------------------------------- /Dockerfile-CI: -------------------------------------------------------------------------------- 1 | FROM uptane/rfc2629 2 | 3 | RUN apk add git make 4 | 5 | ADD ci-entrypoint.sh /entrypoint.sh 6 | ENTRYPOINT ["/entrypoint.sh"] 7 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ruby:alpine 2 | 3 | RUN apk add py-setuptools py-six py-requests py3-pip \ 4 | && pip install xml2rfc \ 5 | && gem install kramdown-rfc2629 6 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: 'Uptane Standard CI Job' 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | 8 | jobs: 9 | build: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Build and publish artifacts 13 | env: 14 | ACCESS_TOKEN: ${{ secrets.GITHUB_ACCESS_TOKEN }} 15 | uses: docker://uptane/uptane-standard-ci 16 | -------------------------------------------------------------------------------- /ci-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | if [ -z "$ACCESS_TOKEN" ] 6 | then 7 | echo "Error: Needs an access token with commit rights to uptane/uptane-standard set as ACCESS_TOKEN." 8 | exit 1 9 | fi 10 | 11 | git config --global user.email "noreply@uptane.github.io" && \ 12 | git config --global user.name "Uptane CI" && \ 13 | 14 | git clone "https://${ACCESS_TOKEN}@github.com/uptane/uptane-standard.git" && \ 15 | cd uptane-standard && \ 16 | make html plaintext && \ 17 | mkdir build_tmp && \ 18 | mv uptane-standard.html uptane-standard.txt uptane-standard.xml build_tmp/ && \ 19 | git checkout gh-pages && \ 20 | mv build_tmp/* . && \ 21 | git commit -am "Rendered documents from commit $(git rev-parse master)" --quiet && \ 22 | git push origin gh-pages && \ 23 | echo "Deployment succesful!" 24 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | The Uptane community is committed to maintaining a reliable and consistent Standard. If you believe you have identified errata—including security issues—in the Uptane Standard, please follow these guidelines for responsible disclosure. 4 | 5 | ## Supported Versions 6 | 7 | We release updates to the Uptane specification to address errata. You may report errata for the most recent version of the Uptane Standard. We will not retroactively make changes to older versions. 8 | 9 | ## Reporting Errata 10 | 11 | Please report (suspected) errata in the specification. You can create an issue in the appropriate repository or send feedback directly to our mailing list at uptane-standards [at] googlegroups [dot] com. 12 | 13 | ## Guidelines 14 | 15 | We're committed to working with security researchers to resolve errata they discover. You can help us by following these guidelines: 16 | 17 | * Please give as much detail as possible for a suspected errata in Uptane including: 18 | * Version in which it was found 19 | * Description of errata 20 | * Examples (if applicable) 21 | * We are committed to acknowledging the contributions of security researchers (if desired) 22 | * If you have found a vulnerability related to a certain vendor's implementation of the Uptane standard, please report it directly to that solution provider 23 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## Contributing 2 | 3 | The standard is being written in [RFC 2629](https://tools.ietf.org/html/rfc2629)/[RFC 7749](https://tools.ietf.org/html/rfc7749) format, using Markdown as a source. Comments, issues, and pull requests are welcome. 4 | 5 | We use [GitHub Flow](https://guides.github.com/introduction/flow/) for contributing content. When you are working on a section, make a branch off the current master, and submit a pull request when it's ready to merge. If GitHub reports any merge conflicts in the PR, please rebase until the merge can be done cleanly. 6 | 7 | ### Commit messages and squashes 8 | 9 | Use clear, informative commit messages, and squash any minor commits that do not represent an actual contribution of content (e.g. typo fixes). It is not necessary to squash all your commits when submitting a PR, but please try to keep the commit history reasonably clean. 10 | 11 | ### Text formatting 12 | 13 | Don't use fixed-width columns. The `plaintext` rendering target will produce a text file with fixed-width columns; using fixed-width columns in the Markdown source just makes the diffs harder to read. 14 | 15 | ### Style guide 16 | 17 | Capitalize proper nouns and titles of things, such as the names of roles, repositories, and specific types of metadata. Do not capitalize the words role, repository, and metadata, however. For example, write "Targets role" and "Director repository." 18 | 19 | For headings and sub-headings, capitalize only the first word in a heading UNLESS the heading contains a proper noun. 20 | 21 | Do not hyphenate the adjectival phrase "partial verification Secondary". 22 | 23 | Use American English spellings (i.e. write "color" instead of "colour" and "artifacts" instead of "artefacts"). 24 | 25 | Links to the Standard (from outside the Standard) should point to the latest rendered released version. It is preferred to link by section name, not number, as the numbers tend to change more than the names. Internal links within the Standard should use the standard cross-link syntax. 26 | 27 | Links to the Deployment Best Practices should point to the [deployed web pages](https://uptane.github.io/deployment-considerations/index.html). 28 | 29 | When referring to actions in the Standard that require compliance, the word SHALL will be used, rather than the word MUST. 30 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: clean help html xml open plaintext html-docker xml-docker open-docker plaintext-docker 2 | .DEFAULT_GOAL := help 3 | 4 | OPEN=$(word 1, $(wildcard /usr/bin/xdg-open /usr/bin/open /bin/echo)) 5 | MKD := uptane-standard.md 6 | HTML := uptane-standard.html 7 | RAWHTML := uptane-standard-raw.html 8 | XML := uptane-standard.xml 9 | TXT := uptane-standard.txt 10 | RAWTXT := uptane-standard.raw.txt 11 | 12 | clean: ## Remove the generated files 13 | @rm -rf $(HTML) $(XML) $(TXT) .refcache/ 14 | 15 | help: ## Print this message and exit 16 | @echo "\033[1;37mRequires Docker or 'gem install kramdown-rfc2629' and 'apt-get install xml2rfc'\033[0m" 17 | @awk 'BEGIN {FS = ":.*?## "} /^[0-9a-zA-Z_-]+:.*?## / {printf "\033[36m%s\033[0m : %s\n", $$1, $$2}' $(MAKEFILE_LIST) \ 18 | | column -s ':' -t 19 | 20 | open: html ## Create an HTML version from the markdown, then open it in a browser 21 | @$(OPEN) $(HTML) 22 | 23 | html: xml ## Create an HTML version from the markdown 24 | @xml2rfc --v2 --html --out=$(RAWHTML) $(XML) 25 | @mv $(HTML) $(RAWHTML) 26 | @cat $(RAWHTML) |sed '/