initial attempt: error 😐😐
|
@ -0,0 +1,2 @@
|
|||
env
|
||||
__pycache__
|
|
@ -0,0 +1,8 @@
|
|||
Copyright (C) 2021 BIJ1
|
||||
|
||||
This license applies only to the code in this repository.
|
||||
Images and other assets are explicitly excluded.
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
@ -0,0 +1,12 @@
|
|||
ACTIVATE =. ./env/bin/activate
|
||||
|
||||
# Target to create virtual env. No phony as we want to check whether it exists or not.
|
||||
venv:
|
||||
@python3 -m venv ./env
|
||||
|
||||
.PHONY: install
|
||||
install: venv
|
||||
@$(ACTIVATE); pip install --upgrade pip; pip install -r requirements.txt
|
||||
|
||||
diagram:
|
||||
@$(ACTIVATE); python diagram.py
|
|
@ -0,0 +1,15 @@
|
|||
# BIJ1 Landscape
|
||||
|
||||
This repo offers a diagram to show the BIJ1 IT landscape and how its components connect.
|
||||
|
||||
## requirements
|
||||
|
||||
- [GraphViz](https://graphviz.gitlab.io/download/)
|
||||
- [Make](https://www.gnu.org/software/make/)
|
||||
|
||||
## usage
|
||||
|
||||
```bash
|
||||
make install
|
||||
make diagram
|
||||
```
|
|
@ -0,0 +1,157 @@
|
|||
from diagrams import Diagram, Cluster, Edge
|
||||
from diagrams.custom import Custom
|
||||
from diagrams.saas.chat import Discord
|
||||
from diagrams.saas.filesharing import Nextcloud
|
||||
from diagrams.saas.social import Facebook, Twitter
|
||||
from diagrams.programming.language import Python, Nodejs, Php
|
||||
from diagrams.programming.framework import Rails
|
||||
from diagrams.elastic.elasticsearch import Beats, Elasticsearch, Kibana, Logstash
|
||||
|
||||
wordpress = "./resources/wordpress.png"
|
||||
wings = "./resources/wings.jpg"
|
||||
trello = "./resources/trello.jpg"
|
||||
gitlab = "./resources/gitlab.png"
|
||||
github = "./resources/github.png"
|
||||
mailchimp = "./resources/mailchimp.png"
|
||||
nginx = "./resources/nginx.webp"
|
||||
www = "./resources/www.png"
|
||||
insta = "./resources/instagram.jpg"
|
||||
|
||||
with Diagram("BIJ1 IT landscape"):
|
||||
|
||||
with Cluster("Socials"):
|
||||
fb = Facebook()
|
||||
tw = Twitter()
|
||||
insta = Custom("Instagram", insta)
|
||||
|
||||
with Cluster("Local socials"):
|
||||
local_fb = Facebook()
|
||||
local_tw = Twitter()
|
||||
local_insta = Custom("Instagram", insta)
|
||||
|
||||
with Cluster("Hosting"):
|
||||
transip = Custom("TransIP", "./resources/transip.png")
|
||||
greenhost = Custom("GreenHost", "./resources/greenhost.png")
|
||||
hetzner = Custom("Hetzner", "./resources/hetzner.jpg")
|
||||
wpengine = Custom("WpEngine", "./resources/wpengine.jpg")
|
||||
email = Custom("transip.email", "./resources/email.png")
|
||||
email >> transip
|
||||
|
||||
with Cluster("Code repositories"):
|
||||
gitlab = Custom("gitlab.com/bij1", gitlab)
|
||||
github = Custom("github.com/bij1", github)
|
||||
github_data = Custom("github.com/bij1data", github)
|
||||
github >> gitlab
|
||||
|
||||
with Cluster("Roadmap"):
|
||||
trello_campaign = Custom("Trello Campagne Tweede Kamer verkiezingen", trello)
|
||||
trello_it = Custom("Trello BIJ1 ICT", trello)
|
||||
gitlab_issues = Custom("Gitlab issues", gitlab)
|
||||
|
||||
with Cluster("Aanmeldingen Kanban"):
|
||||
trello_vrijwilligers = Custom("Trello board NieuweBIJ1ers", trello)
|
||||
localize_trello = Python("localize-trello")
|
||||
with Cluster("Lokale aanmeldingen") as local_aanmeldingen:
|
||||
local_trello = Custom("trello by region", trello)
|
||||
trello_vrijwilligers >> localize_trello >> local_aanmeldingen
|
||||
trello_campaign >> trello_vrijwilligers
|
||||
|
||||
with Cluster("Nieuwsbrieven"):
|
||||
mailchimp_central = Custom("Landelijke MailChimp", mailchimp)
|
||||
with Cluster("Lokale nieuwsbrieven"):
|
||||
mailchimp_central = Custom("Lokale MailChimps", mailchimp)
|
||||
|
||||
with Cluster("ELK") as elk:
|
||||
|
||||
logstash = Logstash()
|
||||
beats = Beats()
|
||||
elasticsearch = Elasticsearch()
|
||||
kibana = Kibana()
|
||||
|
||||
logstash >> beats
|
||||
logstash >> elasticsearch
|
||||
logstash >> kibana
|
||||
|
||||
elk >> greenhost
|
||||
|
||||
with Cluster("Meetings"):
|
||||
zoom = Custom("Zoom", "./resources/zoom.jpg")
|
||||
jitsi = Custom("meet.bij1.org", "./resources/jitsi.jpg")
|
||||
bbb = Custom("bigbluebutton.bij1.org", "./resources/bbb.png")
|
||||
bbb >> hetzner
|
||||
ingang = Rails("vergadering.bij1.org/ingang/")
|
||||
flowmailer = Custom("FlowMailer", "./resources/flowmailer.svg")
|
||||
helios = Custom("stemmen.bij1.org", "./resources/helios.jpg")
|
||||
coturn = Custom("turn.bij1.org", "./resources/webrtc.jpg")
|
||||
coturn >> bbb >> ingang >> helios
|
||||
ingang >> flowmailer
|
||||
|
||||
jitsi >> greenhost
|
||||
ingang >> greenhost
|
||||
helios >> greenhost
|
||||
coturn >> greenhost
|
||||
|
||||
with Cluster("Websites"):
|
||||
proxy = Custom("proxy.bij1.net", nginx)
|
||||
bij1_wp = Custom("bij1.org", wordpress)
|
||||
staging_wp = Custom("staging-wp.bij1.net", wordpress)
|
||||
doemee_wp = Custom("doemee.bij1.org", wordpress)
|
||||
doemee_wp >> wpengine
|
||||
radicaal = Custom("radicaal.bij1.org", "./resources/squarespace.jpg")
|
||||
shop = Custom("shop.bij1.org", "./resources/woocommerce.jpg")
|
||||
proxy >> bij1_wp
|
||||
|
||||
proxy >> greenhost
|
||||
bij1_wp >> greenhost
|
||||
staging_wp >> greenhost
|
||||
shop >> bij1_wp
|
||||
|
||||
with Cluster("Static") as statics:
|
||||
static = Custom("static.bij1.net", nginx)
|
||||
links = Custom("links.bij1.org", www)
|
||||
# actie = Custom("actie.bij1.org", www)
|
||||
# iktelookmee = Custom("iktelookmee.bij1.org", www)
|
||||
# wijzijn = Custom("wijzijn.bij1.org", www)
|
||||
static >> links
|
||||
# static >> actie
|
||||
# static >> iktelookmee
|
||||
# static >> wijzijn
|
||||
|
||||
statics >> greenhost
|
||||
|
||||
with Cluster("Afdelingssites"):
|
||||
wingspress = Nodejs("WingsPress")
|
||||
wings_adam = Custom("amsterdam.bij1.org", wings)
|
||||
wings_roffa = Custom("rotterdam.bij1.org", wings)
|
||||
wings_denhaag = Custom("denhaag.bij1.org", wings)
|
||||
wings_utrecht = Custom("utrecht.bij1.org", wings)
|
||||
wings_hilversum = Custom("hilversum.bij1.org", wings)
|
||||
wp_adam = Custom("amsterdam.wp-staging.bij1.net", wordpress)
|
||||
wp_almere = Custom("almere.wp-staging.bij1.net", wordpress)
|
||||
wings_adam >> wingspress >> wp_adam
|
||||
|
||||
zapier = Custom("Zapier", "./resources/zapier.png")
|
||||
doemee_wp >> zapier
|
||||
airtable = Custom("Zapier", "./resources/airtable.png")
|
||||
zapier >> airtable
|
||||
|
||||
with Cluster("Intranet"):
|
||||
# kom = Custom("kom.bij1.org", www)
|
||||
# kom >> transip
|
||||
# keycloak = Custom("jij.bij1.org", "./resources/keycloak.jpg")
|
||||
cloud = Nextcloud("cloud.bij1.org")
|
||||
cloud >> greenhost
|
||||
# kom >> keycloak
|
||||
# keycloak >> cloud
|
||||
|
||||
with Cluster("CRM") as crm:
|
||||
civi = Custom("CiviCRM", "./resources/civicrm.jpg")
|
||||
bij1_wp >> crm
|
||||
bij1algemeen = Php("bij1algemeen")
|
||||
bij1rules = Php("bij1rules")
|
||||
bij1migratie = Php("bij1migratie")
|
||||
airtable >> bij1migratie >> civi
|
||||
|
||||
mollie = Custom("Mollie", "./resources/mollie.jpg")
|
||||
export_mollie = Nodejs("export-mollie")
|
||||
mollie >> export_mollie >> bij1migratie
|
|
@ -0,0 +1 @@
|
|||
diagrams==0.20.0
|
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 60 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 5.3 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 9.8 KiB |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 59 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 19 KiB |
|
@ -0,0 +1 @@
|
|||
<svg width="1100" height="750" viewBox="0 0 1100 750" xmlns="http://www.w3.org/2000/svg"><g fill="#3D7AEB"><path d="M780.3 224.223L651.478 448.235l-61.98-110.776L746.27 69.137S674.57.209 551.823.209 357.374 66.675 357.374 66.675l126.391 217.859 37.675-61.543L444.876 87.6s34.028-32.002 106.946-32.002 108.163 30.771 108.163 30.771L454.598 448.235S337.928 231.608 282.025 174.99C226.122 118.37.075 129.448.075 129.448l234.553 409.87s35.244 88.62 109.377 88.62c74.134 0 102.086-46.772 102.086-46.772L550 402.694l66.235 107.083-64.412 107.082-35.244-49.233-30.383 61.541 65.627 120.623 99.655-172.318s21.876 54.157 97.224 54.157 102.086-64.003 102.086-64.003l249.136-435.717C828.912 103.6 780.3 224.223 780.3 224.223zM389.58 544.548c-48.308 35.08-84.464-10.154-84.464-10.154l-196.88-339.712c119.709-8.308 171.966 85.85 171.966 85.85l136.722 234.476-27.344 29.54zm411.38-10.154s-36.155 45.233-84.464 10.154l-27.344-29.54 136.722-234.474s52.258-94.16 171.965-85.851l-196.88 339.71z"/><path d="M780.3 224.223L651.478 448.235l-61.98-110.776L746.27 69.137S674.57.209 551.823.209 357.374 66.675 357.374 66.675l126.391 217.859 37.675-61.543L444.876 87.6s34.028-32.002 106.946-32.002 108.163 30.771 108.163 30.771L454.598 448.235S337.928 231.608 282.025 174.99C226.122 118.37.075 129.448.075 129.448l234.553 409.87s35.244 88.62 109.377 88.62c74.134 0 102.086-46.772 102.086-46.772L550 402.694l66.235 107.083-64.412 107.082-35.244-49.233-30.383 61.541 65.627 120.623 99.655-172.318s21.876 54.157 97.224 54.157 102.086-64.003 102.086-64.003l249.136-435.717C828.912 103.6 780.3 224.223 780.3 224.223zM389.58 544.548c-48.308 35.08-84.464-10.154-84.464-10.154l-196.88-339.712c119.709-8.308 171.966 85.85 171.966 85.85l136.722 234.476-27.344 29.54zm411.38-10.154s-36.155 45.233-84.464 10.154l-27.344-29.54 136.722-234.474s52.258-94.16 171.965-85.851l-196.88 339.71z"/></g></svg>
|
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 12 KiB |