zeus
3 years ago
11 changed files with 290 additions and 1 deletions
@ -0,0 +1,5 @@ |
|||
name: swarmlab_faq |
|||
title: swarmlab_faq |
|||
version: docs |
|||
nav: |
|||
- modules/ROOT/nav.adoc |
After Width: | Height: | Size: 146 KiB |
After Width: | Height: | Size: 80 KiB |
@ -0,0 +1 @@ |
|||
* xref:index.adoc[faq] |
@ -0,0 +1,197 @@ |
|||
= FAQ! |
|||
|
|||
image::ROOT:swarmlab.png[swarmlab,150,float=right] |
|||
|
|||
|
|||
xref:index.adoc.adoc#netflix[netflix] |
|||
|
|||
|
|||
|
|||
|
|||
== Why Docker |
|||
|
|||
https://www.cloudbees.com/blog/why-dockero[Why Docker^] |
|||
|
|||
== Intro docker |
|||
|
|||
https://www.compose-spec.io/[docker-compose^] |
|||
|
|||
https://github.com/veggiemonk/awesome-docker[github docker-compose^] |
|||
|
|||
https://twitter.com/awesome_docker[github awesome docker] |
|||
|
|||
=== Learn to build and deploy your distributed applications easily to the cloud with Docker |
|||
|
|||
https://docker-curriculum.com/[HowTo] |
|||
|
|||
== Next Step DockerSwarm |
|||
|
|||
**** |
|||
TIP: DockerSwarm |
|||
|
|||
video::Tm0Q5zr3FL4[youtube, start=0] |
|||
**** |
|||
|
|||
https://www.simplilearn.com/tutorials/docker-tutorial/docker-swarm[docker-swarm tutorial^] |
|||
|
|||
=== Getting started with swarm - official from docker |
|||
|
|||
https://docs.docker.com/engine/swarm/swarm-tutorial/https://k21academy.com/docker-kubernetes/docker-swarm/[docker-swarm^] |
|||
|
|||
=== Replicability, use the same files as when developing locally. |
|||
|
|||
https://dockerswarm.rocks/[dockerswarm.rocks^] |
|||
|
|||
=== Open Source Cloud Guide από την IBM |
|||
|
|||
https://open-cloud-guide.dev/[open-cloud huide^] |
|||
|
|||
=== Alternatives |
|||
|
|||
https://www.nomadproject.io/[monad^] |
|||
|
|||
https://dev.to/stevenmcgown/kubernetes-for-dummies-5hmh[kubernetes^] |
|||
|
|||
=== Raft consensus in swarm mode |
|||
|
|||
https://docs.docker.com/engine/swarm/raft/[raft^] |
|||
|
|||
https://raft.github.io/[raft github^] |
|||
|
|||
http://thesecretlivesofdata.com/raft/[raft demo^] |
|||
|
|||
== Next Step Storage |
|||
|
|||
**** |
|||
TIP: Storage |
|||
|
|||
video::W2Z7fbCLSTw[youtube, start=0] |
|||
**** |
|||
|
|||
=== Generic |
|||
|
|||
https://docs.mongodb.com/manual/replication/[Mongo replica^] |
|||
|
|||
https://docs.mongodb.com/manual/core/capped-collections/[mongo capped^] |
|||
|
|||
=== On memory |
|||
|
|||
https://redis.io/topics/cluster-tutorial[Redis cluster^] |
|||
|
|||
https://redis.io/[redis server^] |
|||
|
|||
https://www.instaclustr.com/blog/redis-vs-memcached/[redis vs memcached^] |
|||
|
|||
=== Sharing |
|||
|
|||
==== NFS |
|||
|
|||
https://cloud.netapp.com/blog/azure-anf-blg-linux-nfs-server-how-to-set-up-server-and-client[NFS^] |
|||
|
|||
https://www.gluster.org/[GlusterFS^] |
|||
|
|||
|
|||
== Deploy |
|||
|
|||
https://www.compose-spec.io/[docker-compose^] |
|||
|
|||
**** |
|||
TIP: Deploy |
|||
|
|||
video::zLltQxVb3NI[youtube, start=0] |
|||
**** |
|||
|
|||
https://12factor.net/[12factor^] |
|||
|
|||
|
|||
== Technologies |
|||
|
|||
=== programming language |
|||
==== nodeJS |
|||
**** |
|||
TIP: NodeJS |
|||
|
|||
video::ENrzD9HAZK4[youtube, start=0] |
|||
**** |
|||
|
|||
https://nodejs.org/en/[nodeJS^] |
|||
|
|||
https://p5js.org/[p5js^] |
|||
|
|||
https://threejs.org/[threejs^] |
|||
|
|||
==== python |
|||
https://www.python.org/[python^] |
|||
|
|||
=== Big data and Scientific analysis |
|||
|
|||
https://numpy.org/[numpy^] |
|||
|
|||
https://scipy.org/[scipy^] |
|||
|
|||
https://jupyter.org/[jupyter^] |
|||
|
|||
=== Rest API |
|||
**** |
|||
TIP: Rest api |
|||
|
|||
video::s7wmiS2mSXY[youtube, start=0] |
|||
**** |
|||
|
|||
=== Sockets |
|||
**** |
|||
TIP: Sockets |
|||
|
|||
video::ZBM28ZPlin8[youtube, start=0] |
|||
**** |
|||
|
|||
https://socket.io/[socket.io^] |
|||
|
|||
== Auth |
|||
|
|||
https://oauth.net/2/[auth2^] |
|||
|
|||
https://oauth.net/code/nodejs/[Nodejs auth library^] |
|||
|
|||
=== Auth server |
|||
|
|||
https://www.keycloak.org/[auth2 server^] |
|||
|
|||
== Security VPN etc |
|||
|
|||
https://www.wireguard.com/[simply the best VPN out there^] |
|||
|
|||
== POC |
|||
|
|||
=== netflix |
|||
|
|||
[#netflix] |
|||
**** |
|||
TIP: Netflix |
|||
|
|||
video::CZ3wIuvmHeM[youtube, start=0] |
|||
**** |
|||
|
|||
6:50 monolithic |
|||
|
|||
8:24 minroservices |
|||
|
|||
19:00 microservice |
|||
|
|||
see also 37:00 |
|||
|
|||
https://netflix.github.io/[netflix github^] |
|||
|
|||
=== Robots and IoT |
|||
https://nodebots.io/[nodebot^] |
|||
|
|||
http://johnny-five.io/[johny-five^] |
|||
|
|||
https://ardupilot.org/[eduplot^] |
|||
|
|||
https://github.com/ArduPilot/ardupilot[ardupilot^] |
|||
|
|||
|
|||
|
|||
|
|||
|
@ -0,0 +1,4 @@ |
|||
antora --fetch /antora/site-intro.yml |
|||
antora /antora/site-intro.yml |
|||
ifconfig |
|||
http-server build/site -c-1 |
@ -0,0 +1,4 @@ |
|||
antora --fetch /antora/site.yml |
|||
antora /antora/site.yml |
|||
ifconfig |
|||
http-server build/site -c-1 |
@ -0,0 +1,21 @@ |
|||
site: |
|||
title: Swarmlab faq |
|||
url: http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs |
|||
start_page: swarmlab_faq::index.adoc |
|||
content: |
|||
sources: |
|||
- url: https://git.swarmlab.io:3000/docs/Documentation.git |
|||
branches: master |
|||
start_path: faq |
|||
ui: |
|||
bundle: |
|||
url: https://git.swarmlab.io:3000/docs/docs/raw/branch/master/ui-bundle.zip |
|||
snapshot: true |
|||
supplemental_files: ./supplemental-ui |
|||
asciidoc: |
|||
attributes: |
|||
:plantuml-server-url: http://www.plantuml.com/plantuml |
|||
extensions: |
|||
- '@djencks/asciidoctor-mathjax' |
|||
- asciidoctor-plantuml |
|||
|
@ -0,0 +1,48 @@ |
|||
#!/bin/bash |
|||
|
|||
|
|||
SOURCE="${BASH_SOURCE[0]}" |
|||
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink |
|||
TARGET="$(readlink "$SOURCE")" |
|||
if [[ $TARGET == /* ]]; then |
|||
SOURCE="$TARGET" |
|||
else |
|||
DIR="$( dirname "$SOURCE" )" |
|||
SOURCE="$DIR/$TARGET" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located |
|||
fi |
|||
done |
|||
|
|||
SRPATH="$( dirname "$SOURCE" )" |
|||
SFPATH="$( cd -P "$( dirname "$SOURCE" )" && pwd )" |
|||
if [ "$SFPATH" != "$SRPATH" ]; then |
|||
RDIR=$SRPATH # relativ path directory |
|||
fi |
|||
|
|||
#echo "full path file $SOURCE" |
|||
#echo "full path dir $SFPATH" |
|||
#echo "relativ path dir $SRPATH" |
|||
|
|||
check_compose_version() { |
|||
composeversion=$(docker-compose version | head -1 | cut -d',' -f1 | cut -d' ' -f3) |
|||
version_good=$(echo $composeversion | awk 'BEGIN{ FS="."}; |
|||
{ if ($1 < 1) { print "N"; } |
|||
else if ($1 == 1) { |
|||
if ($2 < 26) { print "N"; } |
|||
else { print "Y"; } |
|||
} |
|||
else { print "Y"; } |
|||
}') |
|||
|
|||
echo "$version_good" |
|||
} |
|||
|
|||
composeversioncheck=$(check_compose_version) |
|||
|
|||
cwdir=$PWD |
|||
wdir=$SFPATH |
|||
cd $wdir |
|||
|
|||
echo "current working directory," |
|||
echo $cwdir |
|||
echo "dir of running program" |
|||
echo $wdir |
Loading…
Reference in new issue