Compare commits

...

3 commits
dev ... main

Author SHA1 Message Date
3de4b8042d
rwx/dev
All checks were successful
/ job (push) Successful in 1m13s
2024-12-27 21:31:38 +01:00
52ed2e1db2
refactor
All checks were successful
/ job (push) Successful in 1m13s
2024-12-16 19:28:12 +01:00
8885969e90
squash 2024-12-16 19:00:32 +01:00
5 changed files with 364 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>
""",
)

255
index.gv Normal file
View file

@ -0,0 +1,255 @@
# ╭───────╮
# │ 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"
shape="record"
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"]
# ╭─────╮
# │ RWX │
# ╰─────╯
subgraph cluster_rwx {
label="rwx.work"
URL="https://rwx.work"
rwx_blog [
fontcolor="#8080FF"
label="Blog"
URL="https://blog.rwx.work"
]
rwx_forge [
fontcolor="#8080FF"
label="Forge"
URL="https://forge.rwx.work"
]
rwx_ilos [
fontcolor="#8080FF"
label="ILOS:\nIncremental Live\nOperating System"
URL="https://ilos.rwx.work"
]
subgraph cluster_rwx_lsgm {
label="LSGM:\nLive Scan Grub Menu"
URL="https://lsgm.rwx.work"
rwx_lsgm_python [label="Python"]
rwx_lsgm_shell [label="Shell"]
}
rwx_ofsp [
fontcolor="#8080FF"
label="OFSP:\nOperating File\nSystem Profile"
URL="https://ofsp.rwx.work"
]
rwx_prj [
fontcolor="#8080FF"
label="PRJ:\nPRJ"
URL="https://prj.rwx.work"
]
rwx_rtfd [
fontcolor="#8080FF"
label="RTFD:\nRead The\nFancy Docs"
URL="https://rtfd.rwx.work"
]
subgraph cluster_rwx_rwx {
label="RWX:\nRead Write eXecute"
URL="https://rwx.rwx.work"
rwx_rwx_dev [label="Proper\ndev branch"]
rwx_rwx_python [label="Python"]
rwx_rwx_shell [label="Shell"]
}
rwx_spcd [
fontcolor="#8080FF"
label="SPCD:\nShell to Python\nContinuous Deployment"
URL="https://spcd.rwx.work"
]
rwx_srmp [
fontcolor="#8080FF"
label="SRMP:\nSoftware Repositories\nMirror Profile"
URL="https://srmp.rwx.work"
]
rwx_todo [
fontcolor="#8080FF"
label="TODO:\nTO\nDO"
URL="https://todo.rwx.work"
]
}
# ╭─────┬───────╮
# │ RWX │ Forge │
# ╰─────┴───────╯
rwx_forge_marc [
fontcolor="#8080FF"
label="Marc"
URL="https://forge.rwx.work/marc.beninca"
]
rwx_forge_marc -> rwx_forge
# ╭─────┬──────╮
# │ RWX │ OFSP │
# ╰─────┴──────╯
{
rwx_ofsp_python [label="Python"]
rwx_ofsp_shell [label="Shell"]
} -> rwx_ofsp
# ╭─────┬──────╮
# │ RWX │ RTFD │
# ╰─────┴──────╯
{
rwx_rtfd_forgejo [label="Forgejo"]
} -> rwx_rtfd
# ╭─────┬─────┬────────╮
# │ RWX │ RWX │ Python │
# ╰─────┴─────┴────────╯
{
rwx_rwx_python_codium [label="Codium"]
rwx_rwx_python_ffmpeg [label="FFMPEG"]
rwx_rwx_python_freetube [label="FreeTube"]
rwx_rwx_python_gource [label="Gource"]
rwx_rwx_python_logo [label="Logo"]
rwx_rwx_python_venvs [label="Build VEnvs"]
} -> rwx_rwx_python
# ╭─────┬─────┬───────╮
# │ RWX │ RWX │ Shell │
# ╰─────┴─────┴───────╯
{
rwx_rwx_shell_cs [label="CryptSetup"]
rwx_rwx_shell_ffmpeg [label="FFMPEG"]
rwx_rwx_shell_git [label="Git"]
rwx_rwx_shell_venv [label="Use VEnv"]
} -> rwx_rwx_shell
# ╭─────┬──────╮
# │ RWX │ SRMP │
# ╰─────┴──────╯
{
rwx_srmp_alma [label="Alma"]
rwx_srmp_debian [label="Debian"]
rwx_srmp_docker [label="Docker"]
rwx_srmp_msys [label="MSys"]
rwx_srmp_pypi [label="PyPI"]
rwx_srmp_python [label="Python"]
} -> rwx_srmp
# ╭─────┬──────┬────────╮
# │ RWX │ SRMP │ Debian │
# ╰─────┴──────┴────────╯
{
rwx_srmp_debian_codium [label="Codium"]
rwx_srmp_debian_incus [label="Incus"]
} -> rwx_srmp_debian
# ╭─────┬──────╮
# │ RWX │ TODO │
# ╰─────┴──────╯
{
rwx_todo_name [label="Name"]
rwx_todo_subdomain [label="Subdomain"]
} -> rwx_todo
}

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)