Defined Core System Norm

This commit is contained in:
Kevin Veen-Birkenbach 2020-04-28 17:48:16 +02:00
parent 56b8eabae2
commit 8bc55f0c96
2 changed files with 29 additions and 12 deletions

23
CORE_SYSTEM_NORM.md Normal file
View File

@ -0,0 +1,23 @@
# CORE SYSTEM NORM
## Idea
This ***Core System Norm*** defines interfaces and structures which software **MUST** use to comply to this software and to avoid data and software redundancies.
## Wording
The key words **“MUST”**, **“MUST NOT”**, **“REQUIRED”**, **“SHALL”**, **“SHALL NOT”**, **“SHOULD”**,
**“SHOULD NOT”**, **“RECOMMENDED”**, **“MAY”**, and **“OPTIONAL”** in the \*.md files and in the comments of the code are to be
interpreted as described in [RFC 2119](https://tools.ietf.org/html/rfc2119).
## Structure
### Folder
The following folder structures **MUST** be used:
| Path | Description |
|---|---|
$HOME/Documents/certificates/ | Contains certificates to authenticate via [certificate based authentication](https://blog.couchbase.com/x-509-certificate-based-authentication/). |
| $HOME/Documents/recovery_codes/ | Contains files with recovery_codes e.g. for [Two-factor authentication](https://en.wikipedia.org/wiki/Multi-factor_authentication). |
| $HOME/Documents/identity/ | Contains files to prove the identity of the *Core System Owner* in physical live like passports. |
| $HOME/Documents/passwords/ | Contains e.g the [KeePassXC](https://keepassxc.org/) database with all *Core System Owner* passwords. |
| $HOME/Documents/repositories/ | Contains all git repositories |
| $HOME/images/ | contains os images|

View File

@ -2,15 +2,19 @@
[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](./LICENSE.txt) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/6e66409513d7451b949afbf0373ba71f)](https://www.codacy.com/manual/KevinFrantz/core-system?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=KevinFrantz/core-system&amp;utm_campaign=Badge_Grade) <!--[![Travis CI](https://travis-ci.org/KevinFrantz/core-system.svg?branch=master)](https://travis-ci.org/KevinFrantz/core-system)-->
## Goal
The goal is to never setup and configure a system again or to care about loosing passwords and important data.
The goal is to never setup and configure a system manual again or to care about loosing passwords and important data. Instead the whole process **SHOULD** be automatized.
## Description
This repository contains scripts to set up an working client system, maintain it and to save all important and configuration data on an USB stick. The data is stored encrypted with [EncFS](https://en.wikipedia.org/wiki/EncFS).
It's adapted to the needs of Kevin Veen-Birkenbach aka. Frantz. Feel free to modularize it and to adapt it to your needs.
It's adapted to the needs of Kevin Veen-Birkenbach. Feel free to modularize it and to adapt it to your needs.
![Empty Core System Screen](./.meta/core-system-screenshot.png)
<sub>*Core System* changes the wallpaper every day to the [Astronomy Picture of the Day](https://apod.nasa.gov/apod/). This wallpaper is from the 2019-10-07 and shows Jupiter with the shadow of his moon Io. </sub>
## Core System Norm
This software and compatible software **MUST** adapt to the ["Core System Norm"](./CORE_SYSTEM_NORM.md).
## Requirements
This script is optimized for a [Manjaro Linux](https://manjaro.org). It's recommended to encrypt the hard drive with [LUKS](https://en.wikipedia.org/wiki/Linux_Unified_Key_Setup) if the computer isn't shared.
@ -36,16 +40,6 @@ The following *Core System* specific key bindings exist:
### User Data
Right now the software expects that the *Core System Owner* has on all systems the same username. By executing the *import script* it automatic backups the application configuration data, ssh keys and other important data which is saved in well defined configuration files and folders.
#### Folders
Next to this the following specific folders exist:
| Path | Description |
|---|---|
$HOME/Documents/certificates/ | Contains certificates to authenticate via [certificate based authentication](https://blog.couchbase.com/x-509-certificate-based-authentication/). |
| $HOME/Documents/recovery_codes/ | Contains files with recovery_codes e.g. for [Two-factor authentication](https://en.wikipedia.org/wiki/Multi-factor_authentication). |
| $HOME/Documents/identity/ | Contains files to prove the identity of the *Core System Owner* in physical live like passports. |
| $HOME/Documents/passwords/ | Contains e.g the [KeePassXC](https://keepassxc.org/) database with all *Core System Owner* passwords. |
| $HOME/Documents/repositories/ | Contains all git repositories |
### Functions