Diskussion:ServiceBSD: Unterschied zwischen den Versionen

Aus C3D2
Wechseln zu: Navigation, Suche
(Prototype Fund (4. Runde))
(domains)
Zeile 4: Zeile 4:
 
* bsd co it
 
* bsd co it
 
* bsd promo
 
* bsd promo
* bsd run
+
* <s>bsd run</s>
 
* biesdi de
 
* biesdi de
 
* beasde
 
* beasde
Zeile 37: Zeile 37:
 
** services
 
** services
 
** …
 
** …
 +
* jailed
 +
** space
  
 
== Ansible bei [[FreeBSD]] ==
 
== Ansible bei [[FreeBSD]] ==

Version vom 30. Juni 2019, 20:18 Uhr

domains

vielleicht noch verfügbare und lustige domains:

  • bsd co it
  • bsd promo
  • bsd run
  • biesdi de
  • beasde
  • beasde
  • bsd space
  • jail me it
  • jail zone
  • freehub
    • site
    • host
    • space
  • ouros
    • site
    • host
    • space
  • administration
    • wiki
    • team
    • group
  • usage
    • group
  • unx
    • wiki
    • space
    • guru
    • group
    • works
    • style
    • sh
    • zone
    • guide
    • services
  • jailed
    • space

Ansible bei FreeBSD

Ansible Installation

pkg install ansible

Message from ansible-2.2.1.0:
===============================================================================

To use Ansible, you need at least a host database.
If you installed examples, you will have a sample
host database and a sample configuration file:

  /usr/local/share/examples/ansible/hosts
  /usr/local/share/examples/ansible/ansible.cfg

To use Ansible to control FreeBSD hosts, you need to
install the lang/python package on remote machines.

To use Ansible to control systems other than FreeBSD,
set the Python interpreter in the host database for
that system. Example:

  [freebsd]
  host1
  host2

  [centos]
  host3
  host4

  [centos:vars]
  ansible_python_interpreter=/usr/bin/python

Python notes:

Python 3.x support is BETA. Most modules should work
and important ones have been audited and tested.
If you have issues with Python 3, please set
ansible_python_interpreter=/usr/local/bin/python2

Ansible 2 requires that lang/python port is built
with SEM option enabled, which is the default

===============================================================================
SEM for python
pkg query %Ok python
pkg query %do python
lang/python27
lang/python2
pkg query %Ok python27
DEBUG
IPV6
LIBFFI
NLS
PYMALLOC
SEM
THREADS
UCS2
UCS4
pkg query %Ok python2
pkg query %do python2
lang/python27
paramiko as part of ansible
Die Verwendung von paramiko wird von ansible empfohlen.
pkg install -y py27-paramiko

The most recent version of packages are already installed

Ansible Konfiguration

ansible-lint

github:willthames/ansible-lint

Ansible Weblinks

SaltStack bei FreeBSD

SaltStack Installation


eigentlich nur
pkg install -y py27-salt

Aber SaltStack bietet auch direkt eigene (fertige) Pakete für FreeBSD an.
cat /usr/local/etc/pkg/repos/FreeBSD.conf
FreeBSD: {
  url: "pkg+http://pkg.FreeBSD.org/freebsd:10:x86:64/latest",
  mirror_type: "srv",
  enabled: yes
}
$EDITOR /usr/local/etc/pkg/repos/saltstack.conf
saltstack: {
  url: "https://repo.saltstack.com/freebsd/${ABI}/",
  enabled: yes
}
Kornkurierende Pakete von SaltStack und FreeBSD
pkg search py27-salt
py27-salt-2016.11.1_1          Distributed remote execution and configuration management system
py27-salt-2016.11.0            Distributed remote execution and configuration management system
Zur großen Überraschung wirken die Pakete von FreeBSD neuer als die von SaltStack angeboten werden.
von FreeBSD
pkg install py27-salt-2016.11.1_1

The following 30 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        py27-salt: 2016.11.1_1 [FreeBSD]
        py27-setuptools27: 32.1.0 [FreeBSD]
        py27-requests: 2.11.1 [FreeBSD]
        py27-enum34: 1.1.6 [FreeBSD]
        py27-yaml: 3.11_2 [FreeBSD]
        py27-progressbar: 2.3_2 [FreeBSD]
        py27-pycrypto: 2.6.1_1 [FreeBSD]
        gmp: 6.1.2 [FreeBSD]
        py27-Jinja2: 2.8 [FreeBSD]
        py27-Babel: 2.3.4 [FreeBSD]
        py27-pytz: 2016.10,1 [FreeBSD]
        py27-MarkupSafe: 0.23_1 [FreeBSD]
        py27-botocore: 1.5.6 [FreeBSD]
        py27-docutils: 0.13.1 [FreeBSD]
        py27-jmespath: 0.9.0_1 [FreeBSD]
        py27-dateutil: 2.5.3 [FreeBSD]
        py27-six: 1.10.0 [FreeBSD]
        py27-msgpack-python: 0.4.7 [FreeBSD]
        py27-libcloud: 1.5.0 [FreeBSD]
        py27-futures: 3.0.5 [FreeBSD]
        py27-tornado: 4.4.2 [FreeBSD]
        py27-singledispatch: 3.4.0.3_1 [FreeBSD]
        py27-certifi: 2017.1.23 [FreeBSD]
        py27-backports_abc: 0.5 [FreeBSD]
        py27-pyzmq: 16.0.2 [FreeBSD]
        libzmq4: 4.1.5 [saltstack]
        openpgm: 5.2.122_2 [FreeBSD]
        norm: 1.5r6 [FreeBSD]
        libsodium: 1.0.11_1 [FreeBSD]
        python2: 2_3 [FreeBSD]
von SaltStack
pkg install py27-salt-2016.11.0

The following 32 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        py27-salt: 2016.11.0 [saltstack]
        py27-setuptools27: 28.1.0 [saltstack]
        py27-requests: 2.11.1 [saltstack]
        py27-enum34: 1.1.6 [saltstack]
        py27-yaml: 3.11_2 [saltstack]
        libyaml: 0.1.6_2 [saltstack]
        py27-progressbar: 2.3_2 [saltstack]
        py27-pycrypto: 2.6.1_1 [saltstack]
        gmp: 5.1.3_3 [saltstack]
        py27-Jinja2: 2.8 [saltstack]
        py27-Babel: 2.3.4 [saltstack]
        py27-pytz: 2016.7,1 [saltstack]
        py27-MarkupSafe: 0.23 [saltstack]
        py27-botocore: 1.4.77 [saltstack]
        py27-docutils: 0.12_1 [saltstack]
        py27-pygments: 2.1.3 [saltstack]
        py27-jmespath: 0.9.0 [saltstack]
        py27-dateutil: 2.5.3 [saltstack]
        py27-six: 1.10.0 [saltstack]
        py27-msgpack-python: 0.4.7 [saltstack]
        py27-libcloud: 1.3.0 [saltstack]
        py27-futures: 3.0.5 [saltstack]
        py27-tornado: 4.4.2 [saltstack]
        py27-singledispatch: 3.4.0.3_1 [saltstack]
        py27-certifi: 2016.2.28 [saltstack]
        py27-backports_abc: 0.5 [saltstack]
        py27-pyzmq: 16.0.1 [saltstack]
        libzmq4: 4.1.5 [FreeBSD]
        openpgm: 5.2.122_2 [saltstack]
        norm: 1.5r6 [saltstack]
        libsodium: 1.0.11_1 [saltstack]
        python2: 2_3 [saltstack]

aber dennoch letztlich
pkg install -y py27-salt

The following 30 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        py27-salt: 2016.11.1_1 [FreeBSD]
        py27-setuptools27: 32.1.0 [FreeBSD]
        py27-requests: 2.11.1 [FreeBSD]
        py27-enum34: 1.1.6 [FreeBSD]
        py27-yaml: 3.11_2 [FreeBSD]
        py27-progressbar: 2.3_2 [FreeBSD]
        py27-pycrypto: 2.6.1_1 [FreeBSD]
        gmp: 6.1.2 [FreeBSD]
        py27-Jinja2: 2.8 [FreeBSD]
        py27-Babel: 2.3.4 [FreeBSD]
        py27-pytz: 2016.10,1 [FreeBSD]
        py27-MarkupSafe: 0.23_1 [FreeBSD]
        py27-botocore: 1.5.6 [FreeBSD]
        py27-docutils: 0.13.1 [FreeBSD]
        py27-jmespath: 0.9.0_1 [FreeBSD]
        py27-dateutil: 2.5.3 [FreeBSD]
        py27-six: 1.10.0 [FreeBSD]
        py27-msgpack-python: 0.4.7 [FreeBSD]
        py27-libcloud: 1.5.0 [FreeBSD]
        py27-futures: 3.0.5 [FreeBSD]
        py27-tornado: 4.4.2 [FreeBSD]
        py27-singledispatch: 3.4.0.3_1 [FreeBSD]
        py27-certifi: 2017.1.23 [FreeBSD]
        py27-backports_abc: 0.5 [FreeBSD]
        py27-pyzmq: 16.0.2 [FreeBSD]
        libzmq4: 4.1.5 [saltstack]
        openpgm: 5.2.122_2 [FreeBSD]
        norm: 1.5r6 [FreeBSD]
        libsodium: 1.0.11_1 [FreeBSD]
        python2: 2_3 [FreeBSD]

Message from py27-salt-2016.11.1_1:
===================================================================================================

To configure a Salt Master, do the following:

  o Copy /usr/local/etc/salt/master.sample to /usr/local/etc/salt/master
  o Update to meet your needs
  o sysrc salt_master_enable="YES"

---------------------------------------------------------------------------------------------------

To configure a Salt Minion, do the following:

  o Copy /usr/local/etc/salt/minion.sample to /usr/local/etc/salt/minion
  o Update 'master: salt' to point to your Salt Master's hostname or IP
  o sysrc salt_minion_enable="YES"

---------------------------------------------------------------------------------------------------

To configure a Salt Proxy Minion, do the following:

  o sysrc salt_proxy_enable="YES"
  o sysrc salt_proxy_list=""
  o Update the salt_proxy_list with the proxy minion name(s)

===================================================================================================

SaltStack Konfiguration

SaltStack Konfiguration master

SaltStack Konfiguration minion

cp /usr/local/etc/salt/minion.sample /usr/local/etc/salt/minion
cat /usr/local/etc/salt/minion
ls /usr/local/etc/salt/minion.d/
sysrc salt_minion_enable="YES"
service salt_minion start
service salt_minion status
service salt_minion stop

SaltStack Weblinks

good practice

Sicherheit

weitere ähnliche Ansätze

Prototype Fund (4. Runde)

Es gibt eine "Aktion" Prototype Fund, wobei - maßgeblich auch finanziell - die Entwicklung von Ideen zu tatsächlichen Prototypen gefördert wird.

Das klingt ja charmant, da sich somit Leute wirklich einmal zeitweise für die Realisierung von Ideen - wie es hier eine gibt - hinsetzen könnten.

Es gab (Stand 2018-03) bereits 3 Runden (Förderzeiträume). Eine neue Runde steht an und spätestens im 2018-03 muss sich beworben werden. Thema (ferner Motto) lautet Power to the Users – Mehr Selbstbestimmung, Sicherheit und Vertrauen durch Open Source Tools..[1]

Genau das Thema passt ja genau, oder? (Im Übrigen fühlte sich user:vater ja überhaupt nur dadurch aktiviert.) Insbesondere auch mit dem bereits bestehenden Ansatz von OurOS ist das ja ideal.

Die Finanzierung - insbesondere auch die formalen Gepflogenheiten - ergeben sich aus der Förderung durch Mittel vom BMBF unter der Bezeichnung "Software-Sprint" – Förderung von Open Source Entwicklerinnen und Entwicklern[2]

Im Übrigen läuft das Ganze - also auch die Einreichung einer Bewerbung - über die OKFN, was es ja zeigt, dass das "keine dumme Sache" ist.
erstellte Bewerbung (aka Einreichung)

Für das Formular der Bewerbung wurde entsprechend Inhalte erarbeitet. (Einige - insbesondere formale - sind klar. Andere - hier nachstehende - sind erst einmal zu erstellen.)

Anrede
Name
Vorname
GitHub/BitBucket Accounts
An welchen Open-Source-Projekten hast Du/habt Ihr bisher gearbeitet?

TrueOS

Bewerbt Ihr Euch als Team um die Förderung?*
[O] ja
[ ] nein
Namen der Teammitglieder

… Crew

Projekttitel

OurOS, a ServiceBSD

Ordne das Projekt einem Bereich zu.*
[ ] Civic Tech
[ ] Datensicherheit
[ ] Data Literacy
[O] Infrastruktur
Bezieht sich Dein Projekt auf den Themenschwerpunkt der 4. Runde?*
[O] ja
[ ] nein
Beschreibe Dein Projekt kurz.
Max. 700 Zeichen

Ziel des Projektes ist es Organisationen - oder auch nur Einzelpersonen - zu ermächtigen, sachgemäß selbst digitale Infrastruktur zu betreiben. Dabei sollen "übliche" Dienste auf hohem Niveau - im Sinne von "good practice" - standardmäßig verwendbar gemacht werden. Ergebnis soll die einfache Bedienung zum Betrieb "gängiger" Anwendungen durch selbstverwaltete Instanzen sein.

Welches gesellschaftliche Problem willst Du mit Deinem Projekt lösen?*
Max. 700 Zeichen

Es gibt für den Betrieb von digitalen Diensten (nicht unerheblich hohe) Hürden. Gruppen - oder auch selbst Einzelpersonen - fehlt oft das Wissen zum "ordentlichen" Betrieb von Diensten für sich selbst. Die Folgen sind:

  • fehlende Kenntnis oder Bereitschaft zur Benutzung von eigentlich schon zur Verfügung stehenden Diensten und entsprechenden Anwendungen
    Das Potential für das Engagement des eigentlichen Zwecks der Gruppe wird kann nicht gehoben werden. Es wird sich durch die fehlende Verwendung von modernen Technologien unnötig schwer gemacht. Mögliche Effizienz - gar Effektivität - für die Zusammenarbeit der Gruppe bleibt aus.
  • eigentlich nicht erwünschte Verwendung von "externen" Plattformen
    Es muss auf bekannte (und auch gut erst einmal gut funktionierende) Dienste, die durch Fremde - insbesondere auch Kommerzielle - betrieben werden, "ausgewichen" werden. Es gibt ein breites Spektrum von nachteiligen Auswirkungen, die Gruppen dadurch betreffen kann. (finanzieller Aufwand; fehlende Möglichkeit zur Überführung in später besser geeignete Lösungen durch andere Anwendungen; unerwünschte (oder vielleicht gar nicht offensichtliche) Weiterverwendung der Daten der Gruppe; fehlende Vertrauenswürdigkeit gegen das Ausspähen der Daten durch Angriffe, wegen lohneswert großen Datenmassen einer Vielzahl von Gruppen und Personen)
  • unsachgemäße - im Sinne von "laienhafte" - Einrichtung von Diensten
    Einerseits kann es bei Unerfahrenen zu einfachen Fehlern bei der Einrichtung - ferner Konfiguration - von Diensten kommen. Andererseits ist das Einrichten von zeitgemäßen Komponenten, die für Sicherheit beim Betrieb sorgen, nicht trivial und stellt einen nenneswerten Aufwand dar, der oftmals schlicht "verdrängt" wird.

Das kann im Chaos enden!

Wie willst Du Dein Projekt technisch umsetzen?*
Max. 1300 Zeichen

  • solide Isolation der einzelnen Diensten (Verletzlichkeit einzelner Anwendungen sollen nicht das Gesamtsystem möglichst wenig angreifbar machen.)
    • Jails (FreeBSD), alternativ Zones (Illumos), anderenfalls LXC (GNU/Linux)
  • notwendige Verknüpfung von einzelnen Diensten (Es soll beispielsweise einen zentralen Dienst für die Verwaltung von allen einzelnen Benutzerinnen und Benutzern sowie Gruppen der Organisation geben. Alle Anwendungen, die von Konten und Berechtigungen abhängen, sollen dort angebunden sein und somit konfiguriert werden.)
    • klassisch LDAP, alternativ FreeIPA, anderenfalls Datenbank
  • ordentliche Verwaltung der gemeinsamen Quellen für die gemeinsamen Inhalte als standardmäßige Blaupause (Konfiguration vom Betriebssystem, Anwendungen und Kombinationen)
    • Gitea, alternativ GitLab, notfalls GitHub
  • moderne (zeitgemäß "professionell") Techniken wie beispielsweise:
    • beim Dateisystem mit ZFS (etwa auch das Übertragen von Sicherungen vom Massenspeicher), alternativ Btrfs, anderenfalls anders mit Ceph
    • bei der Verwaltung der Konfiguration mit SaltStack, alternativ Ansible, anderenfalls sogar mit Nixpkgs
    • bei der grafischen Oberfläche mit React, alternativ AngularJS
    • bei der Programmiersprache mit Rust, alternativ Go (, anderenfalls Swift), alternativ Haskell (, anderenfalls Erlang) notfalls C++ (, anderenfalls C)

Welche ähnlichen Lösungen gibt es schon, und was wird Dein Projekt anders bzw. besser machen?*

Max. 400 Zeichen

Eine solche konkrete "mächtige" fertige Lösung gibt es nicht.

Zur Orientierung können aber Konzepte von

  • FreeNAS (Open Source Storage Operating System)
  • Rockstor (Linux & BTRFS powered Opensource NAS solution)
  • FreedomBox (designed to be your own inexpensive server at home)
  • YunoHost (self-hosting accessible to everyone)
  • NethServer (operating system for the Linux enthusiast, designed for small offices and medium enterprises)
  • Sandstorm (Self-host web-based productivity apps easily and securely)
  • Univention Corporate Server (UCS) (Server software for easy-to-use IT operations)
  • CBSD (FreeBSD virtual environment management and repository)
  • fractal cells (an integrated solution)
  • BetterCrypto⋅org (focuses on our target group (system administrators))
  • iRedMail (Free, Open Source Mail Server Solution)
  • DebOps (Your Debian-based data center in a box)
  • Systemli (Your friendly tech collective)
  • immerda.ch (nichtkommerzielles Projekt von AktivistInnen für AktivistInnen)

dienen.

Wer ist die Zielgruppe, und wie soll Dein Tool sie erreichen?*
Max. 700 Zeichen

Konzeptionell - insbesondere vom Leistungsumfang her - sind einfach übliche Organisationen die Zielgruppe. Das Spektrum reicht von der kleinen aktionistischen Gruppe, über den klassischen eingetragen Verein oder eine einfache Körperschaft öffentlichen Rechts, bis zur kleinen Unternehmung. Aber auch eine Einzelperson - etwa die für sich und vielleicht auch die Familie und Bekannte Dienste betreibt - soll adressiert sein. Letztlich sollen alle erreicht werden können, die den üblichen Anwendungsfall der "Selbstverwaltung" von Diensten zu bewältigen haben.

Hast Du schon an der Idee gearbeitet? Wenn ja, beschreibe kurz den aktuellen Stand und erkläre die Neuerung.*

Nein.

https://wiki.c3d2.de/ServiceBSD
https://wiki.c3d2.de/OurOS

Link zum bestehenden Projekt (falls vorhanden)

https://wiki.c3d2.de/Diskussion:ServiceBSD#Prototype_Fund_.284._Runde.29

Wie viele Stunden willst Du (bzw. will das Team) in den 6 Monaten Förderzeitraum an der Umsetzung arbeiten?*
Bitte eine Zahl eintragen.

523

Skizziere kurz die wichtigsten Meilensteine, die Du (bzw. das Team) im Förderzeitraum umsetzen willst.*
Max. 700 Zeichen

  • Auftakt mit alle Mitgliedern und Interessierten, gar potentiellen weiteren Mitwirkenden
  • Feststellung der Anforderungen an "die übliche Fälle" der Dienste
  • Präsentation zur Vorstellung von bestehenden Projekten mit ähnlichen Ansätzen
  • Ermittlung von Anwendungen (bestehende gute Software-Pakete) mit Komponenten der einzelnen Dienste
  • Ermittlung von Komponenten (auch Programmiersprachen) (z.B. Rust, SaltStack, React)
  • Ermittlung von Konfigurationen (bestehende gute Anleitungen usw.) der einzelnen Anwendungen
  • Konzeptionierung vom CLI (als eigene Umgebung (middleware)) zur lokalen Verwaltung auf dem Server
  • gestaltungstechnisches (Gliederung) Konzept vom WUI
  • Version zum selbstständigen Erstellen der Entwicklungsumgebung
  • Implementierung erster Funktionalitäten(administratives Auflisten und Ändern) im CLI
  • Darstellung von ersten Funktionalitäten im WUI
  • Testversion (der ersten bestehenden) Funktionalitäten
  • besondere Evaluierung der Entwicklung im Förder(ungs)zeitraum, insbesondere auch zur Weiterentwicklung
  • Präsentation
  • "Abschluss" und "Auftakt" zur möglichen Weiterentwicklung

Wenn meine Projektidee nicht gefördert wird, darf sie trotzdem auf prototypefund.de und in wissenschaftlichen Publikationen rund um das Programm veröffentlicht werden?*
[ ] ja
[O] nein

Prototype Fund (6. Runde)

  1. https://prototypefund.de/2018/01/31/4-runde-power-users/
  2. https://www.bmbf.de/foerderungen/bekanntmachung-1225.html