From b64aed80d4db4e49b74be9a3f2b43f6b29954eee Mon Sep 17 00:00:00 2001 From: Ben Cotton Date: Jun 17 2019 20:18:25 +0000 Subject: Add initial infrastructure --- diff --git a/README.md b/README.md new file mode 100644 index 0000000..1cece70 --- /dev/null +++ b/README.md @@ -0,0 +1,84 @@ +# Fedora Editions and Objectives Status + +This repository provides a location for Edition and Objective leads to provide status reports to the Fedora Council. +Leads are expected to provide updates to their report weekly, and the Fedora Program Manager will publish regular summaries of these reports on the Community Blog. + + +## Local preview + +This repo includes scripts to build and preview the contents of this repository. + +**NOTE**: Please note that if you reference pages from other repositoreis, such links will be broken in this local preview as it only builds this repository. If you want to rebuild the whole Fedora Docs site, please see [the Fedora Docs build repository](https://pagure.io/fedora-docs/docs-fp-o/) for instructions. + +Both scripts work on Fedora (using Podman) and macOS (using Docker). + +To build and preview the site, run: + +``` +$ ./build.sh && ./preview.sh +``` + +The result will be available at http://localhost:8080 + +### Installing Podman on Fedora + +Fedora Workstation doesn't come with Podman preinstalled by default — so you might need to install it using the following command: + +``` +$ sudo dnf install podman +``` + +### Preview as a part of the whole Fedora Docs site + +You can also build the whole Fedora Docs site locally to see your changes in the whole context. +This is especially useful for checking if your `xref` links work properly. + +To do this, you need to clone the main [Fedora Docs build repository](https://pagure.io/fedora-docs/docs-fp-o), modify the `site.yml` file to reference a repo with your changes, and build it. +Steps: + +Clone the main repository and cd into it: + +``` +$ git clone https://pagure.io/fedora-docs/docs-fp-o.git +$ cd docs-fp-o +``` + +Find a reference to the repository you're changing in the `site.yml` file, and change it so it points to your change. +So for example, if I made a modification to the Modularity docs, I would find: + +``` +... + - url: https://pagure.io/fedora-docs/modularity.git + branches: + - master +... +``` + +And replaced it with a pointer to my fork: +``` +... + - url: https://pagure.io/forks/asamalik/fedora-docs/modularity.git + branches: + - master +... +``` + +I could also point to a local repository, using `HEAD` as a branch to preview the what's changed without the need of making a commit. + +**Note:** I would need to move the repository under the `docs-fp-o` directory, because the builder won't see anything above. +So I would need to create a `repositories` directory in `docs-fp-o` and copy my repository into it. + +``` +... + - url: ./repositories/modularity + branches: + - HEAD +... +``` + +To build the whole site, I would run the following in the `docs-fp-o` directory. + +``` +$ ./build.sh && ./preview.sh +``` + diff --git a/antora.yml b/antora.yml new file mode 100644 index 0000000..22cb330 --- /dev/null +++ b/antora.yml @@ -0,0 +1,16 @@ +# Name will be mostly visible in the URL. Treat it as an indentifier. +# Tip: If you want to use the local preview scripts that come with this repository, please change this value in the site.yml file as well. (under site/start_page) +name: dashboard # <---- PLEASE MODIFY + +# Title will be visible on the page. +title: Project Dashboard # <---- PLEASE MODIFY + +# If you don't plan to have multiple versions of the docs (for example, to document multiple versions of some software), you can ignore this field. Otherwise, change "master" to a specific version. +version: master + +# We encourage you to name the index page as "index.adoc". If you absolutely have to use a different name, please reflect it here. You can ignore this field otherwise. +start_page: ROOT:index + +# This lists all the menu definitions of your component. +nav: +- modules/ROOT/nav.adoc diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..1e4db2d --- /dev/null +++ b/build.sh @@ -0,0 +1,46 @@ +#!/bin/sh + +image="docker.io/antora/antora" +cmd="--html-url-extension-style=indexify site.yml" + +if [ "$(uname)" == "Darwin" ]; then + # Running on macOS. + # Let's assume that the user has the Docker CE installed + # which doesn't require a root password. + echo "" + echo "This build script is using Docker container runtime to run the build in an isolated environment." + echo "" + docker run --rm -it -v $(pwd):/antora $image $cmd + +elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then + # Running on Linux. + # Check whether podman is available, else faill back to docker + # which requires root. + + if [ -f /usr/bin/podman ]; then + echo "" + echo "This build script is using Podman to run the build in an isolated environment." + echo "" + podman run --rm -it -v $(pwd):/antora:z $image $cmd + + elif [ -f /usr/bin/docker ]; then + echo "" + echo "This build script is using Docker to run the build in an isolated environment." + echo "" + + if groups | grep -wq "docker"; then + docker run --rm -it -v $(pwd):/antora:z $image $cmd + else + echo "" + echo "This build script is using $runtime to run the build in an isolated environment. You might be asked for your password." + echo "You can avoid this by adding your user to the 'docker' group, but be aware of the security implications. See https://docs.docker.com/install/linux/linux-postinstall/." + echo "" + sudo docker run --rm -it -v $(pwd):/antora:z $image $cmd + fi + else + echo "" + echo "Error: Container runtime haven't been found on your system. Fix it by:" + echo "$ sudo dnf install podman" + exit 1 + fi +fi diff --git a/modules/ROOT/assets/images/green.jpg b/modules/ROOT/assets/images/green.jpg new file mode 100644 index 0000000..8b0b412 Binary files /dev/null and b/modules/ROOT/assets/images/green.jpg differ diff --git a/modules/ROOT/assets/images/red.png b/modules/ROOT/assets/images/red.png new file mode 100644 index 0000000..2fc31e5 Binary files /dev/null and b/modules/ROOT/assets/images/red.png differ diff --git a/modules/ROOT/assets/images/yellow.jpg b/modules/ROOT/assets/images/yellow.jpg new file mode 100644 index 0000000..6a0f3f9 Binary files /dev/null and b/modules/ROOT/assets/images/yellow.jpg differ diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/modules/ROOT/nav.adoc diff --git a/modules/ROOT/pages/editions/fcos.adoc b/modules/ROOT/pages/editions/fcos.adoc new file mode 100644 index 0000000..0f1e9d4 --- /dev/null +++ b/modules/ROOT/pages/editions/fcos.adoc @@ -0,0 +1,8 @@ +== image:green.jpg[Green,25,25] Fedora CoreOS +// == image:yellow.jpg[Yellow,25,25] Fedora CoreOS +// == image:red.png[Red,25,25] Fedora CoreOS + +Point of Contact: bgilbert +link:https://coreos.fedoraproject.org/[More information] + +* Some status information diff --git a/modules/ROOT/pages/editions/server.adoc b/modules/ROOT/pages/editions/server.adoc new file mode 100644 index 0000000..4a67fd6 --- /dev/null +++ b/modules/ROOT/pages/editions/server.adoc @@ -0,0 +1,8 @@ +== image:green.jpg[Green,25,25] Fedora Server +// == image:yellow.jpg[Yellow,25,25] Fedora Server +// == image:red.png[Red,25,25] Fedora Server + +Point of Contact: sgallagh +link:https://fedoraproject.org/wiki/Server[More information] + +* Some status information diff --git a/modules/ROOT/pages/editions/silverblue.adoc b/modules/ROOT/pages/editions/silverblue.adoc new file mode 100644 index 0000000..ba26dd5 --- /dev/null +++ b/modules/ROOT/pages/editions/silverblue.adoc @@ -0,0 +1,8 @@ +== image:green.jpg[Green,25,25] Fedora Silverblue +// == image:yellow.jpg[Yellow,25,25] Fedora Silverblue +// == image:red.png[Red,25,25] Fedora Silverblue + +Point of Contact: uraeus +link:https://silverblue.fedoraproject.org/[More information] + +* Some status information diff --git a/modules/ROOT/pages/editions/workstation.adoc b/modules/ROOT/pages/editions/workstation.adoc new file mode 100644 index 0000000..8434361 --- /dev/null +++ b/modules/ROOT/pages/editions/workstation.adoc @@ -0,0 +1,8 @@ +== image:green.jpg[Green,25,25] Fedora Workstation +// == image:yellow.jpg[Yellow,25,25] Fedora Workstation +// == image:red.png[Red,25,25] Fedora Workstation + +Point of Contact: mcatanzaro +link:https://fedoraproject.org/wiki/Workstation[More information] + +* Some status information diff --git a/modules/ROOT/pages/index.adoc b/modules/ROOT/pages/index.adoc new file mode 100644 index 0000000..7f31558 --- /dev/null +++ b/modules/ROOT/pages/index.adoc @@ -0,0 +1,21 @@ += Project Dashboard + +This dashboard tracks the high-level status of link:https://docs.fedoraproject.org/en-US/project/objectives/[Fedora Objectives] and link:https://fedoraproject.org/wiki/Editions[Fedora Editions]. +This is not a technical status dashboard. + +''' +include::objectives/ci.adoc[leveloffset=+1] +''' +include::objectives/iot.adoc[leveloffset=+1] +''' +include::objectives/minimization.adoc[leveloffset=+1] +''' +include::objectives/modularity.adoc[leveloffset=+1] +''' +include::editions/fcos.adoc[leveloffset=+1] +''' +include::editions/server.adoc[leveloffset=+1] +''' +include::editions/silverblue.adoc[leveloffset=+1] +''' +include::editions/workstation.adoc[leveloffset=+1] diff --git a/modules/ROOT/pages/objectives/ci.adoc b/modules/ROOT/pages/objectives/ci.adoc new file mode 100644 index 0000000..1c0e658 --- /dev/null +++ b/modules/ROOT/pages/objectives/ci.adoc @@ -0,0 +1,8 @@ +== image:green.jpg[Green,25,25] Continuous Integration/Continuous Delivery +// == image:yellow.jpg[Yellow,25,25] Continuous Integration/Continuous Delivery +// == image:red.png[Red,25,25] Continuous Integration/Continuous Delivery + +Point of Contact: dperpeet +link:https://fedoraproject.org/wiki/CI[More information] + +* Some status information diff --git a/modules/ROOT/pages/objectives/iot.adoc b/modules/ROOT/pages/objectives/iot.adoc new file mode 100644 index 0000000..86d2eb9 --- /dev/null +++ b/modules/ROOT/pages/objectives/iot.adoc @@ -0,0 +1,8 @@ +== image:green.jpg[Green,25,25] Internet of Things +// == image:yellow.jpg[Yellow,25,25] Internet of Things +// == image:red.png[Red,25,25] Internet of Things + +Point of Contact: pbrobinson +link:https://iot.fedoraproject.org[More information] + +* Some status information diff --git a/modules/ROOT/pages/objectives/minimization.adoc b/modules/ROOT/pages/objectives/minimization.adoc new file mode 100644 index 0000000..ed19cb5 --- /dev/null +++ b/modules/ROOT/pages/objectives/minimization.adoc @@ -0,0 +1,8 @@ +== image:green.jpg[Green,25,25] Minimization +// == image:yellow.jpg[Yellow,25,25] Minimization +// == image:red.png[Red,25,25] Minimization + +Point of Contact: asamalik +link:https://pagure.io/Fedora-Council/tickets/issue/253[More information] + +* Some status information diff --git a/modules/ROOT/pages/objectives/modularity.adoc b/modules/ROOT/pages/objectives/modularity.adoc new file mode 100644 index 0000000..3641d80 --- /dev/null +++ b/modules/ROOT/pages/objectives/modularity.adoc @@ -0,0 +1,8 @@ +== image:green.jpg[Green,25,25] Modularity +// == image:yellow.jpg[Yellow,25,25] Modularity +// == image:red.png[Red,25,25] Modularity + +Point of Contact: langdon +link:https://docs.pagure.org/modularity/[More information] + +* Some status information diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..f7093b3 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,14 @@ +server { + listen 80; + server_name localhost; + + location / { + root /antora/public; + index index.html index.htm; + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html; + } +} diff --git a/preview.sh b/preview.sh new file mode 100755 index 0000000..acc52af --- /dev/null +++ b/preview.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +if [ "$(uname)" == "Darwin" ]; then + # Running on macOS. + # Let's assume that the user has the Docker CE installed + # which doesn't require a root password. + echo "The preview will be available at http://localhost:8080/" + docker run --rm -v $(pwd):/antora:ro -v $(pwd)/nginx.conf:/etc/nginx/conf.d/default.conf:ro -p 8080:80 nginx + +elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then + # Running on Linux. + # Fedora Workstation has python3 installed as a default, so using that + echo "" + echo "The preview is available at http://localhost:8080" + echo "" + cd ./public + python3 -m http.server 8080 +fi diff --git a/site.yml b/site.yml new file mode 100644 index 0000000..ca2243b --- /dev/null +++ b/site.yml @@ -0,0 +1,20 @@ +site: + title: Local Preview + start_page: dashboard::index +content: + sources: + - url: . + branches: HEAD +ui: + bundle: + url: https://asamalik.fedorapeople.org/ui-bundle.zip + snapshot: true + default_layout: with_menu +output: + clean: true + dir: ./public + destinations: + - provider: archive +runtime: + pull: true + cache_dir: ./cache