Initial commit

This commit is contained in:
SIG/Containers 2024-08-22 19:26:03 +00:00
commit 2e8c4da878
21 changed files with 2443 additions and 0 deletions

41
.github/workflows/build.yml vendored Normal file
View File

@ -0,0 +1,41 @@
---
name: mkdocs build
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
container:
image: docker.io/rockylinux:9
steps:
- name: Install deps
run: |
dnf -y upgrade
dnf -y install git python3 python3-pip cairo-devel
- name: checkout
run:
git clone https://git.resf.org/$GITHUB_REPOSITORY.git $GITHUB_WORKSPACE
- name: Install python requirements
run: python3 -m pip install -r requirements.txt
- name: Build
run: |
python3 -m mkdocs build
- name: Install fastly CLI
run: |
dnf -y install \
npm \
https://github.com/fastly/cli/releases/download/v10.13.3/fastly_10.13.3_linux_amd64.rpm
- name: Deploy
env:
FASTLY_API_TOKEN: "${{ secrets.FASTLY_API_TOKEN }}"
run: |
pushd compute-js
npm install
fastly compute publish

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
site/
.cache/

8
Containerfile Normal file
View File

@ -0,0 +1,8 @@
FROM quay.io/rockylinux/rockylinux:9
RUN dnf -y upgrade
RUN dnf install -y git python3 python3-pip cairo-devel
COPY . /wiki
WORKDIR /wiki
RUN pip install -r requirements.txt

9
LICENSE Normal file
View File

@ -0,0 +1,9 @@
MIT License
Copyright (c) <year> <copyright holders>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

33
README.md Normal file
View File

@ -0,0 +1,33 @@
# REPLACEME Wiki
@TODO - fill in :)
## Continuous Integration / Continuous Deployment
Actions Runner executes workflow to publish to https://REPLACEME.rocky.page on push to main.
## Building Locally
In order to build this wiki locally, a docker-compose configuration and container file are supplied which when invoked, will launch mkdocs' development server in a container bound to port 8000 and will live-reload when changes are made to the wiki files.
To run the containers on your system, invoke podman or docker compose like so:
```
podman-compose -f docker-compose.yml up -d
```
The container will build and then launch itself. Afterwards, you should be able to view the wiki content at http://localhost:8000.
The compose file accepts a build argument if you need to run it on a different port. For example, to bind to port 8080 on your local machine:
```
podman-compose -f docker-compose --build-arg PORT=8080 up -d
```
## Project layout
mkdocs.yml # The configuration file.
README.md # This file.
docs/
index.md # The documentation homepage.
... # Other markdown pages, images and other files.

4
compute-js/.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
/node_modules
/bin
/pkg
/static-publisher

11
compute-js/fastly.toml Normal file
View File

@ -0,0 +1,11 @@
# This file describes a Fastly Compute package. To learn more visit:
# https://www.fastly.com/documentation/reference/compute/fastly-toml
authors = ["FIXME@rocky.page"]
description = "FIXME"
language = "javascript"
manifest_version = 2
name = "FIXME.rocky.page"
[scripts]
build = "npm run build"

2051
compute-js/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

23
compute-js/package.json Normal file
View File

@ -0,0 +1,23 @@
{
"name": "FIXME",
"version": "0.1.0",
"description": "FIXME",
"author": "FIXME",
"type": "module",
"devDependencies": {
"@fastly/compute-js-static-publish": "^6.0.3"
},
"dependencies": {
"@fastly/js-compute": "^3.20.0"
},
"engines": {
"node": ">=18.0.0"
},
"license": "UNLICENSED",
"private": true,
"scripts": {
"deploy": "fastly compute deploy",
"prebuild": "npx @fastly/compute-js-static-publish --build-static",
"build": "js-compute-runtime ./src/index.js ./bin/main.wasm"
}
}

18
compute-js/src/index.js Normal file
View File

@ -0,0 +1,18 @@
/// <reference types="@fastly/js-compute" />
import { getServer } from '../static-publisher/statics.js';
const staticContentServer = getServer();
// eslint-disable-next-line no-restricted-globals
addEventListener("fetch", (event) => event.respondWith(handleRequest(event)));
async function handleRequest(event) {
const response = await staticContentServer.serveRequest(event.request);
if (response != null) {
return response;
}
// Do custom things here!
// Handle API requests, serve non-static responses, etc.
return new Response('Not found', { status: 404 });
}

View File

@ -0,0 +1,34 @@
/*
* Copyright Fastly, Inc.
* Licensed under the MIT license. See LICENSE file for details.
*/
// Commented items are defaults, feel free to modify and experiment!
// See README for a detailed explanation of the configuration options.
/** @type {import('@fastly/compute-js-static-publish').StaticPublisherConfig} */
const config = {
rootDir: "../site",
staticContentRootDir: "./static-publisher",
// kvStoreName: false,
// excludeDirs: [ './node_modules' ],
// excludeDotFiles: true,
// includeWellKnown: true,
// contentAssetInclusionTest: (filename) => true,
// contentCompression: [ 'br', 'gzip' ], // For this config value, default is [] if kvStoreName is null.
// moduleAssetInclusionTest: (filename) => false,
// contentTypes: [
// { test: /.custom$/, contentType: 'application/x-custom', text: false },
// ],
server: {
publicDirPrefix: "",
staticItems: ["/assets/"],
// compression: [ 'br', 'gzip' ],
spaFile: false,
notFoundPageFile: "/404.html",
autoExt: [],
autoIndex: ["index.html","index.htm"],
},
};
export default config;

13
docker-compose.yml Normal file
View File

@ -0,0 +1,13 @@
---
version: '3'
services:
wiki:
build:
context: .
dockerfile: Containerfile
command: ["mkdocs", "serve", "-w", "/wiki", "--dev-addr", "0.0.0.0:${PORT:-8000}"]
volumes:
- .:/wiki:z,rw
ports:
- "${PORT:-8000}:8000"

1
docs/CNAME Normal file
View File

@ -0,0 +1 @@
REPLACEME.rocky.page

33
docs/assets/extra.css Normal file
View File

@ -0,0 +1,33 @@
:root {
@media screen and (max-width: 76.234375em) {
.md-nav__title[for="__drawer"] {
background: linear-gradient(135deg, #10b981 0%, #1055b9 100%);
}
}
}
[data-md-color-scheme="resf"] {
--md-accent-fg-color: #0e7391;
--md-primary-fg-color--dark: #107fa1;
--md-primary-fg-color--light: #FFFFFF;
--md-primary-fg-color: #107fa1;
--md-typeset-a-color: #107fa1;
}
[data-md-color-scheme="resf-dark"] {
color-scheme: dark;
--md-default-fg-color: #FFFFFF;
--md-default-bg-color: rgb(30, 33, 41);
--md-primary-fg-color: #107fa1;
--md-primary-bg-color: #FFFFFF;
--md-primary-fg-color--dark: #107fa1;
--md-accent-fg-color: #0e7391;
--md-default-fg-color--light: rgba(226, 228, 233, 0.56);
--md-typeset-table-color: rgba(240, 241, 244, 0.12);
--md-typeset-color: rgba(226, 228, 233, 0.82);
--md-typeset-a-color: #107fa1;
}

View File

@ -0,0 +1,3 @@
<svg width="4096" height="4096" viewBox="0 0 192 192" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M186.658 127.658C190.119 117.746 192 107.093 192 96C192 42.9807 149.019 0 96 0C42.9807 0 0 42.9807 0 96C0 122.234 10.523 146.011 27.5783 163.338L124.958 65.9584L149 90L186.658 127.658ZM169.122 158.205L124.958 114.042L55.7978 183.202C68.0268 188.849 81.6455 192 96 192C125.288 192 151.514 178.884 169.122 158.205Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 487 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 381 KiB

BIN
docs/assets/resf-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

View File

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="44.450001mm"
height="44.450001mm"
viewBox="0 0 44.450001 44.450001"
version="1.1"
id="svg1"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
sodipodi:docname="resf-white.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="1.624662"
inkscape:cx="105.86818"
inkscape:cy="665.36917"
inkscape:window-width="1440"
inkscape:window-height="3356"
inkscape:window-x="0"
inkscape:window-y="52"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs1" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-2.5796834,-3.8748417)">
<path
d="M 2.5796834,3.8748417 H 47.029686 V 31.39389 l -6.87626,-6.876256 -5.13556,5.135562 -10.27113,-10.271125 -5.13556,5.135298 -10.2710976,-10.271045 -6.760395,6.760289 z"
fill="#ffffff"
id="path3"
style="stroke-width:0.264583" />
<path
d="m 40.153426,32.220977 -16.10386,16.103865 h 22.98012 v -9.227609 z"
fill="#ffffff"
id="path4"
style="stroke-width:0.264583" />
<path
d="M 24.746736,27.085415 31.166056,33.505 16.346271,48.324842 H 3.5072594 Z"
fill="#ffffff"
id="path5"
style="stroke-width:0.264583" />
<path
d="m 9.3400784,21.949588 -6.760395,6.760633 V 41.549127 L 15.759558,28.369173 Z"
fill="#ffffff"
id="path6"
style="stroke-width:0.264583" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

10
docs/index.md Normal file
View File

@ -0,0 +1,10 @@
# REPLACEME Wiki
## Links
## Responsibilities
## Meetings / Communications
## Members

78
mkdocs.yml Normal file
View File

@ -0,0 +1,78 @@
---
# Project information
site_name: REPLACEME Wiki
site_url: https://REPLACEME.rocky.page
site_description: >-
REPLACEME
# Repository
repo_url: https://git.resf.org/REPLACEME/wiki
repo_name: REPLACEME/wiki
edit_uri: _edit/main/docs/
# Copyright
copyright: Copyright &copy; 2024 Rocky Enterprise Software Foundation
extra_css:
- assets/extra.css
# Configuration
theme:
name: material
logo: assets/resf-white.svg
palette:
- media: "(prefers-color-scheme: light)"
scheme: resf
toggle:
icon: material/weather-night
name: Switch to dark mode
- media: "(prefers-color-scheme: dark)"
scheme: resf-dark
toggle:
icon: material/weather-sunny
name: Switch to light mode
highlightjs: true
hljs_languages:
- bash
- perl
- python
- yaml
features:
- navigation.expand
- navigation.indexes
- navigation.instant
- navigation.sections
- navigation.top
- navigation.tracking
- navigation.path
- search.highlight
- search.suggest
- toc.integrate
- content.action.edit
# Plugins
plugins:
- autolinks
- social
- awesome-pages
- git-revision-date-localized:
type: date
- search
# Extensions
markdown_extensions:
- abbr
- admonition
- attr_list
- def_list
- footnotes
- meta
- pymdownx.details # this allows collapsible attributions
- pymdownx.emoji:
emoji_index: !!python/name:material.extensions.emoji.twemoji
emoji_generator: !!python/name:material.extensions.emoji.to_svg
- pymdownx.superfences
- pymdownx.tabbed:
alternate_style: true
- toc:
permalink: true

8
requirements.txt Normal file
View File

@ -0,0 +1,8 @@
mkdocs
mkdocs-autolinks-plugin
mkdocs-awesome-pages-plugin
mkdocs-git-revision-date-localized-plugin
mkdocs-macros-plugin
mkdocs-material
mkdocs-windmill
mkdocs-material[imaging]