Compare commits

...

36 commits

Author SHA1 Message Date
0a073a7a93
rwx/
All checks were successful
/ job (push) Successful in 1m12s
2024-12-15 14:24:15 +01:00
4773a9282e
todo 2024-12-14 23:55:43 +01:00
c2208eeed9
shell/ffmpeg 2024-12-14 21:57:51 +01:00
6e6c9a1c4c
tipeee 2024-12-14 20:58:49 +01:00
d2f07fb757
lsgm
All checks were successful
/ job (push) Successful in 1m12s
2024-12-14 20:30:08 +01:00
ad86fdf9f5
patreon 2024-12-14 13:05:30 +01:00
7dc85fb4c9
dns/ 2024-12-14 13:02:59 +01:00
d8633c27a5
tilde 2024-12-14 12:56:20 +01:00
74f0cf8f42
beninca 2024-12-14 12:55:26 +01:00
9cd5d17a0a
domains 2024-12-14 12:52:31 +01:00
4428ed2a6b
dns 2024-12-14 12:48:05 +01:00
0af08d12b7
social/support 2024-12-14 12:36:24 +01:00
7c773dd588
devops/invis 2024-12-14 12:30:55 +01:00
b5274a3d3e
devops 2024-12-14 12:14:51 +01:00
e5c61c8d2e
ffmpeg,gource,logo 2024-12-14 12:08:37 +01:00
5cfd5dbb9b
social 2024-12-14 11:52:06 +01:00
bcc7019b2c
fix 2024-12-14 11:22:04 +01:00
5aea61d7a4
devops 2024-12-14 11:20:35 +01:00
fa9556338a
git 2024-12-14 11:14:59 +01:00
bb42ba9af9
wip
All checks were successful
/ job (push) Successful in 1m10s
2024-12-14 02:35:53 +01:00
d2b27df4c9
venv
All checks were successful
/ job (push) Successful in 1m16s
2024-12-14 02:05:31 +01:00
8a9e5dbc42
discord,keyoxide
All checks were successful
/ job (push) Successful in 1m13s
2024-12-12 20:58:40 +01:00
887f0491e1
socials 2024-12-11 22:12:15 +01:00
3967cf176f
ruff/format
All checks were successful
/ job (push) Successful in 1m18s
2024-12-11 21:21:49 +01:00
0987cfe925
workflow
Some checks failed
/ job (push) Failing after 1m24s
2024-12-11 21:11:12 +01:00
51f62fb702
py 2024-12-10 00:33:01 +01:00
e139aeb6e6
wip 2024-12-10 00:20:55 +01:00
468c2cbb1a
sites 2024-12-09 22:50:46 +01:00
1715f0b58d
fixes 2024-12-09 20:23:03 +01:00
e6d1e5db7f
css 2024-12-09 19:47:51 +01:00
8867e24251
readme/todo 2024-12-09 17:31:36 +01:00
16753214d0
todo 2024-12-09 15:15:34 +01:00
55a6a193f4
build/dev,ops 2024-12-09 13:10:43 +01:00
5190ef129e
/out 2024-12-09 12:37:03 +01:00
68aa3f0120
readme 2024-12-09 02:01:50 +01:00
d22c36d01d
build/web 2024-12-09 01:19:40 +01:00
5 changed files with 499 additions and 0 deletions

View file

@ -0,0 +1,18 @@
on: [push]
jobs:
job:
container:
image: ${{vars.DOCKER}}debian:bookworm
steps:
- name: spcd
env:
SPCD: ${{vars.SPCD}}
SPCD_SSH_HOSTS: ${{vars.SPCD_SSH_HOSTS}}
SPCD_SSH_KEY: ${{secrets.SPCD_SSH_KEY}}
SPCD_TXT_LOCALE: ${{vars.SPCD_TXT_LOCALE}}
run: ${{vars.SPCD}}
- run: spcd-check-project
- run: spcd-build-project
- run: spcd-browse-workspace
- run: spcd-synchronize

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
/out

41
build.py Executable file
View file

@ -0,0 +1,41 @@
#! /usr/bin/env python3
"""Build web."""
from pathlib import Path
from rwx.fs import make_directory, read_file_text, write
from rwx.ps import run
if __name__ == "__main__":
root = Path(__file__).parent
out = root / "out" / "web"
gv = root / "index.gv"
svg = out / "index.svg"
make_directory(out)
run("dot", str(gv), "-Tsvg", "-o", str(svg))
text = read_file_text(svg)
write(
out / "index.css",
"""\
html {
background-color: #202020;
}
""",
)
write(
out / "index.html",
f"""\
<!DOCTYPE html>
<html><head>
<meta charset="UTF-8">
<link rel="stylesheet" href="index.css">
<title>todo.rwx.work</title>
</head><body>
{text}
</body></html>
""",
)

390
index.gv Normal file
View file

@ -0,0 +1,390 @@
# ╭───────╮
# │ Graph │
# ╰───────╯
digraph "index" {
bgcolor="transparent"
color="#C0C000"
fontcolor="#FF8000"
fontname="DejaVu Sans"
penwidth="2"
rankdir="RL"
# ╭───────┬──────╮
# │ Graph │ Edge │
# ╰───────┴──────╯
edge [
fontcolor="#FF4040"
fontname="DejaVu Sans"
style="filled"
]
# ╭───────┬──────╮
# │ Graph │ Edge │
# ╰───────┴──────╯
node [
color="#C0C0C0"
fontcolor="#FFFFFF"
fontname="DejaVu Sans"
penwidth="2"
style="filled"
]
{ rank="max"
"" [style="invis"]
}
edge [color="#008000"]
node [fillcolor="#408040"]
# ╭────────╮
# │ DevOps │
# ╰────────╯
subgraph "cluster/devops" { label="DevOps"
"devops/dev/plan" -> "devops/ops/release" [style="invis"]
"devops/dev/test" -> "devops/ops/monitor" [style="invis"]
# ╭────────┬─────╮
# │ DevOps │ Dev │
# ╰────────┴─────╯
subgraph "cluster/devops/dev" { label="Dev"
"devops/dev/plan" [label="Plan"]
"devops/dev/code" [label="Code"]
"devops/dev/build" [label="Build"]
"devops/dev/test" [label="Test"]
}
"devops/dev/plan" -> "devops/dev/code" -> "devops/dev/build" -> "devops/dev/test" -> "devops/dev/plan"
# ╭────────┬─────╮
# │ DevOps │ Ops │
# ╰────────┴─────╯
subgraph "cluster/devops/ops" { label="Ops"
"devops/ops/release" [label="Release"]
"devops/ops/deploy" [label="Deploy"]
"devops/ops/operate" [label="Operate"]
"devops/ops/monitor" [label="Monitor"]
}
"devops/ops/release" -> "devops/ops/deploy" -> "devops/ops/operate" -> "devops/ops/monitor" -> "devops/ops/deploy"
# ╭────────╮
# │ DevOps │
# ╰────────╯
"devops/dev/test" -> "devops/ops/release"
"devops/ops/monitor" -> "devops/dev/plan"
}
edge [color="#FF0000"]
node [fillcolor="#303030"]
# ╭────────╮
# │ Social │
# ╰────────╯
subgraph "cluster/social" {
label="Social"
# ╭────────┬──────╮
# │ Social │ Corp │
# ╰────────┴──────╯
subgraph "cluster/social/corp" {
label="Corp"
"social/corp/discord" [
fontcolor="#8080FF"
label="Discord"
URL="https://discord.gg/v6p7CtZ4Zh"
]
"social/corp/instagram" [
fontcolor="#8080FF"
label="InstaGram"
URL="https://instagram.com/marc.beninca"
]
"social/corp/linkedin" [
fontcolor="#8080FF"
label="LinkedIn"
URL="https://linkedin.com/in/marc-beninca"
]
"social/corp/youtube" [
fontcolor="#8080FF"
label="YouTube"
URL="https://youtube.com/@marc.beninca"
]
}
# ╭────────┬──────╮
# │ Social │ Open │
# ╰────────┴──────╯
subgraph "cluster/social/open" {
label="Open"
"social/open/bluesky" [
fontcolor="#8080FF"
label="BlueSky"
URL="https://bsky.app/profile/marc.beninca.link"
]
# ╭────────┬──────┬──────────╮
# │ Social │ Open │ KeyOxide │
# ╰────────┴──────┴──────────╯
subgraph "cluster/social/open/keyoxide" {
label="KeyOxide"
"social/open/keyoxide/pgp" [
fontcolor="#8080FF"
label="PGP"
URL="https://keyoxide.org/08EDA7006234A0EB29A3A8471DBD5EC4BADA5579"
]
"social/open/keyoxide/asp" [
fontcolor="#8080FF"
label="ASP"
URL="https://keyoxide.org/aspe:keyoxide.org:WUD5YVN52J3RJ6CD4ZCWYL6S54"
]
}
}
# ╭────────┬─────────╮
# │ Social │ Support │
# ╰────────┴─────────╯
subgraph "cluster/social/support" {
label="Support"
"social/support/liberapay" [
fontcolor="#8080FF"
label="LiberaPay"
URL="https://liberapay.com/marc.beninca"
]
"social/support/patreon" [
fontcolor="#8080FF"
label="Patreon"
URL="https://patreon.com/marc_beninca"
]
"social/support/tipeee" [
fontcolor="#8080FF"
label="Tipeee"
URL="https://tipeee.com/marc-beninca"
]
}
}
# ╭─────╮
# │ DNS │
# ╰─────╯
subgraph "cluster/dns" {
label="Domains"
# ╭─────┬─────────╮
# │ DNS │ Beninca │
# ╰─────┴─────────╯
subgraph "cluster/dns/beninca" {
label="beninca.link"
URL="https://beninca.link"
"dns/beninca/marc" [
fontcolor="#8080FF"
label="Marc"
URL="https://marc.beninca.link"
]
}
# ╭─────┬─────╮
# │ DNS │ RWX │
# ╰─────┴─────╯
subgraph "cluster/dns/rwx" {
label="rwx.work"
URL="https://rwx.work"
"dns/rwx/blog" [
fontcolor="#8080FF"
label="Blog"
URL="https://blog.rwx.work"
]
"dns/rwx/forge" [
fontcolor="#8080FF"
label="Forge"
URL="https://forge.rwx.work"
]
"dns/rwx/ilos" [
fontcolor="#8080FF"
label="ILOS:\nIncremental Live\nOperating System"
URL="https://ilos.rwx.work"
]
subgraph "cluster/dns/rwx/lsgm" {
label="LSGM:\nLive Scan Grub Menu"
URL="https://lsgm.rwx.work"
"dns/rwx/lsgm/python" [label="Python"]
"dns/rwx/lsgm/shell" [label="Shell"]
}
"dns/rwx/ofsp" [
fontcolor="#8080FF"
label="OFSP:\nOperating File\nSystem Profile"
URL="https://ofsp.rwx.work"
]
"dns/rwx/prj" [
fontcolor="#8080FF"
label="PRJ:\nPRJ"
URL="https://prj.rwx.work"
]
"dns/rwx/rtfd" [
fontcolor="#8080FF"
label="RTFD:\nRead The\nFancy Docs"
URL="https://rtfd.rwx.work"
]
subgraph "cluster/dns/rwx/rwx" {
label="RWX:\nRead Write eXecute"
URL="https://rwx.rwx.work"
"dns/rwx/rwx/python" [label="Python"]
"dns/rwx/rwx/shell" [label="Shell"]
}
"dns/rwx/spcd" [
fontcolor="#8080FF"
label="SPCD:\nShell to Python\nContinuous Deployment"
URL="https://spcd.rwx.work"
]
"dns/rwx/srmp" [
fontcolor="#8080FF"
label="SRMP:\nSoftware Repositories\nMirror Profile"
URL="https://srmp.rwx.work"
]
"dns/rwx/todo" [
fontcolor="#8080FF"
label="TODO:\nTO\nDO"
URL="https://todo.rwx.work"
]
}
# ╭─────┬─────┬───────╮
# │ DNS │ RWX │ Forge │
# ╰─────┴─────┴───────╯
"dns/rwx/forge/marc" [
fontcolor="#8080FF"
label="Marc"
URL="https://forge.rwx.work/marc.beninca"
]
"dns/rwx/forge/marc" -> "dns/rwx/forge"
# ╭─────┬─────┬──────╮
# │ DNS │ RWX │ OFSP │
# ╰─────┴─────┴──────╯
{
"dns/rwx/ofsp/python" [label="Python"]
"dns/rwx/ofsp/shell" [label="Shell"]
} -> "dns/rwx/ofsp"
# ╭─────┬─────┬──────╮
# │ DNS │ RWX │ RTFD │
# ╰─────┴─────┴──────╯
{
"dns/rwx/rtfd/forgejo" [label="Forgejo"]
} -> "dns/rwx/rtfd"
# ╭─────┬─────┬─────┬────────╮
# │ DNS │ RWX │ RWX │ Python │
# ╰─────┴─────┴─────┴────────╯
{
"dns/rwx/rwx/python/codium" [label="Codium"]
"dns/rwx/rwx/python/ffmpeg" [label="FFMPEG"]
"dns/rwx/rwx/python/freetube" [label="FreeTube"]
"dns/rwx/rwx/python/gource" [label="Gource"]
"dns/rwx/rwx/python/logo" [label="Logo"]
"dns/rwx/rwx/python/venvs" [label="Build VEnvs"]
} -> "dns/rwx/rwx/python"
# ╭─────┬─────┬─────┬───────╮
# │ DNS │ RWX │ RWX │ Shell │
# ╰─────┴─────┴─────┴───────╯
{
"dns/rwx/rwx/shell/cs" [label="CryptSetup"]
"dns/rwx/rwx/shell/ffmpeg" [label="FFMPEG"]
"dns/rwx/rwx/shell/git" [label="Git"]
"dns/rwx/rwx/shell/venv" [label="Use VEnv"]
} -> "dns/rwx/rwx/shell"
# ╭─────┬─────┬──────╮
# │ DNS │ RWX │ SRMP │
# ╰─────┴─────┴──────╯
{
"dns/rwx/srmp/alma" [label="Alma"]
"dns/rwx/srmp/debian" [label="Debian"]
"dns/rwx/srmp/docker" [label="Docker"]
"dns/rwx/srmp/msys" [label="MSys"]
"dns/rwx/srmp/pypi" [label="PyPI"]
"dns/rwx/srmp/python" [label="Python"]
} -> "dns/rwx/srmp"
# ╭─────┬─────┬──────┬────────╮
# │ DNS │ RWX │ SRMP │ Debian │
# ╰─────┴─────┴──────┴────────╯
{
"dns/rwx/srmp/debian/codium" [label="Codium"]
"dns/rwx/srmp/debian/incus" [label="Incus"]
} -> "dns/rwx/srmp/debian"
# ╭─────┬─────┬──────╮
# │ DNS │ RWX │ TODO │
# ╰─────┴─────┴──────╯
{
"dns/rwx/todo/name" [label="Name"]
"dns/rwx/todo/subdomain" [label="Subdomain"]
} -> "dns/rwx/todo"
# ╭─────┬───────╮
# │ DNS │ Tilde │
# ╰─────┴───────╯
subgraph "cluster/dns/tilde" {
label="tilde.link"
URL="https://tilde.link"
"dns/tilde/tm" [
fontcolor="#8080FF"
label="TM:\nTrack Mania"
URL="https://tm.tilde.link"
]
}
}
}

49
readme.md Normal file
View file

@ -0,0 +1,49 @@
# Track Ongoing DevOps
A graph to track things to do.
---
## Why
Dependencies between tasks of projects.
---
## How
A tree to identify leafs.
---
## What
Generate:
* [X] SVG with GraphViz
* [X] HTML including SVG
---
## Authors
* [Marc Beninca](https://marc.beninca.link)
---
## Where
### Chat
* [Discord](https://discord.com/channels/983145051985154108/1315476519325274112)
* [IRC](ircs://irc.libera.chat/#todo)
### Forge
* [Repository](https://forge.rwx.work/rwx.work/todo)
* [RSS](https://forge.rwx.work/rwx.work/todo.rss)
* [Workflows](https://forge.rwx.work/rwx.work/todo/actions)
### Deployment
* [Site](https://todo.rwx.work)