From 992b903defb2c6e9f709b1bff0917246cae8cccf Mon Sep 17 00:00:00 2001 From: hahn <axel.hahn@iml.unibe.ch> Date: Wed, 20 Jul 2022 11:44:25 +0200 Subject: [PATCH] add basic docs folder --- docs/_index.md | 55 +++++++++++++++ docs/config.json | 22 ++++++ docs/style.css | 176 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 253 insertions(+) create mode 100644 docs/_index.md create mode 100644 docs/config.json create mode 100644 docs/style.css diff --git a/docs/_index.md b/docs/_index.md new file mode 100644 index 00000000..b593dc01 --- /dev/null +++ b/docs/_index.md @@ -0,0 +1,55 @@ +# CI Server # + +Free software and Open Source from University of Bern :: IML - Institute of Medical Education + +📄 Source: <https://git-repo.iml.unibe.ch/iml-open-source/imldeployment> \ +📜 License: GNU GPL 3.0 \ +📖 Docs: TODO + +- - - + +## Description ## + +CI node that checks out projects from git repositories and builds an deployable archive. +The archives can be synched to multiple deployment targets e.g. puppet master or a protected software archive. + +## Related projects ## + +* CI package server <https://git-repo.iml.unibe.ch/iml-open-source/ci-pkg> +* Deployment client written in bash <https://git-repo.iml.unibe.ch/iml-open-source/imldeployment-client> + +## Features ## + +* API to start a build from somewhere, e.g. from a devops workplace or Gitlab server +* checkout from git via SSH with multiple ssh keys (can be extended with a plugin) +* build has hooks to customize build process +* In our institute it builds projects written in + * PHP + * NodeJS - using NVM for custom Node versions + * Ruby - using RVM for custom Ruby versions +* sync built archives to deploy systems +* trigger rollout via ssh command or AWX API call (can be extended with a plugin) +* receives install status +* sends messages (email, Slack) + +## file structure ## + +* web - ui and api +* data dir - configuration, database, built archives +* temp area - checked out projects to read comit messages + +### Data ### + +By default: /var/imldeployment + +```txt +imldeployment/ +├── build +├── data +│ ├── database +│ ├── projects +│ └── sshkeys +├── defaults +└── packages + └── _files +``` diff --git a/docs/config.json b/docs/config.json new file mode 100644 index 00000000..cb7021c8 --- /dev/null +++ b/docs/config.json @@ -0,0 +1,22 @@ +{ + "title": "IML Appmonitor", + "author": "Axel Hahn", + "tagline": "Application monitoring with low requirements.", + + "html": { + "auto_toc": true, + "auto_landing": false, + "date_modified": false, + "jump_buttons": true, + "edit_on_github_": "iml-it/appmonitor/tree/master/docs", + "edit_on_": { + "name": "Gitlab", + "basepath": "__" + }, + "links": { + "GitHub Repo": "https://github.com/iml-it/appmonitor" + }, + "theme": "daux-blue", + "search": true + } +} diff --git a/docs/style.css b/docs/style.css new file mode 100644 index 00000000..909562cb --- /dev/null +++ b/docs/style.css @@ -0,0 +1,176 @@ +/* + + patch css elements of daux.io blue theme + version 2022-05-13 + +*/ + + +/* ---------- vars ---------- */ + +:root{ + + /* background colors */ + --bg:none; + --bg-body: #fff; + --bg-navlinkactive:#f4f4f4; + --bg-navlinkactive: linear-gradient(-90deg,rgba(0,0,0,0), rgba(40,60,80,0.05) 30%); + --bg-pre:#f8f8f8; + --bg-toc: #fff; + + /* foreground colors */ + --color: #234; + --navlinkactive:#f33; + --title: #aaa; + + --link:#12a; + --toclink:rgba(40,60,80,0.8); + + --h1: rgba(40,60,80,0.8); + --h1-bottom: 1px solid rgba(40,60,80,0.1); + --h2: #468; + --h3: #579; + +} + +/* ---------- tags ---------- */ + +a.Brand::before { + background: rgb(255,0,51); + color: #fff; + font-family: arial; + font-weight: bold; + padding: 0.5em 0.3em; + content: 'IML'; + margin-right: 0.4em; +} + +body, *{color: var(--color);} +body{background: var(--bg-body);} + + +a{color: var(--link);} +a:hover{opacity: 0.7;} + +h1>a{ color:var(--title);} +_h1:nth-child(1){position: fixed; background: var(--bg); box-shadow: 0 0 1em #ccc; padding: 0 1em} +h1:nth-child(1)>a{ color:var(--navlinkactive); } + +.s-content h1{color: var(--h1); font-size: 200%; font-weight:bold; margin-top: 2em; border-bottom: var(--h1-bottom);} +.s-content h2{color: var(--h2); font-size: 160%; } +.s-content h3{color: var(--h3); font-size: 140%; } +.s-content h4{margin: 0; font-size: 100%; text-align: center; background-color: rgba(0,0,0,0.05);padding: 0.3em;} + +.s-content pre{ + background: var(--bg-pre); +} + +/* ---------- classes ---------- */ + +.required{color:#a42;} +.optional{color:#888;} + + +/* ----- top left */ +.Brand, +.Columns__left { + background: var(--bg); + border-right: 0px solid #e7e7e9; + color: var(--color); +} +.Brand{font-size: 200%; + background_: linear-gradient(-10deg,#fff 50%, #ddd); + background: var(--bg); +} +.Columns__right__content { + background: var(--bg); +} + +/* ----- Navi left */ + +.Nav a:hover{ + background: none; + color: var(--navlinkactive) !important; +} + +.Nav__item--active { + border-right_: 0.3em solid var(--navlinkactive); +} +.Nav__item--active > a{ + background: var(--bg-navlinkactive); + color: var(--navlinkactive); +} +.Nav .Nav .Nav__item--active a { + color: var(--navlinkactive); +} +.Nav .Nav .Nav__item a { + opacity: 1; +} +.Nav__item--open > a { + background-color: var(--bg); +} + +.Nav a[href*="__Welcome"]{ + background: url("/icons/house.png") no-repeat 10px 4px ; + padding-left: 40px; +} +.Nav a[href*="__How_does_it_work"]{ + background: url("/icons/light-bulb.png") no-repeat 10px 4px ; + padding-left: 40px; +} + + + + +/* ---------- classes ---------- */ + +/* FIX smaller fnt size in tables */ +.s-content table { + font-size: 1em; +} + + +/* TOC */ +@media(min-width:1700px){ + .TableOfContentsContainer{ + position: fixed; + right: 2em; + top: 1em; + } +} + +.TableOfContentsContainer{ + border-top-left-radius: 1em; + background-color: var(--bg-toc); + border-left: 2px solid rgba(0,0,0,0.05); + padding: 0em; +} +.TableOfContentsContainer__content { + + border: none; + font-size: 0.5em; + +} +ul.TableOfContents ul{ + list-style-type: none; + padding-left: 1em; +} +.TableOfContentsContainer a{ color:var(--toclink);} + +.TableOfContentsContainer__content > .TableOfContents > li + li { + border-top: none; +} +.TableOfContentsContainer__content > .TableOfContents > li { + border-bottom: 1px dashed #ddd; +} + +/* pager - prev .. next */ +.s-content{ + margin-bottom: 6em; +} +.Pager{ + border-top: 1px dashed #aaa; margin: 0; padding: 1em; +} +.Pager a{ + color:var(--navlinkactive); +} -- GitLab