User:Bryan Hilderbrand/Meeting Notes (27JAN)

From mwstake
Jump to: navigation, search


  • Ad Strack van Schijndel
  • Bryan Hilderbrand
  • Cindy Cicalese
  • Gökhan Geyik
  • James Montalvo
  • Lex Sulzer
  • Markus Glaser
  • Rich Evans
  • Richard Heigl
  • Yaron Koren

Meeting notes for MediaWiki "Infrastructure" (Project Canasta) Discussion (Wed Jan 27 16:30-17:30 UTC 2020)


The meeting voice transcription is available on the talk page.

  1. Rich Asked Yaron to describe what Canasta is.
    • Yaron Pointed to the Project Canasta page on and went over the four main components listed.
  2. Rich Asked Yaron to describe the current needs.
    • Yaron We've heard from Lex, Cindy, Wikibase Solutions, and Bluespice, but haven't heard about Meza yet. I'd like to hear from James more about Meza.
  3. James Provided links to Meza on MediaWiki and GitHub
    • James Meza is actively maintained
    • James We're currently on MW 1.31, but have a branch for 1.35
    • James Working on packages for maintenance
  4. Markus Hallo Welt!/BlueSpice built a MW distribution based on Docker
    • Markus Just need to run Composer install to draw in all extensions, etc.
    • Markus We have many composer files for BlueSpice free, BlueSpice Pro, PDF feature, etc.
    • Markus We start with one composer file and add more for additional needs (extensions, etc.)
  5. Gokhan I work on BlueSpice with Markus at Hallo Welt!
    • Gokhan Composer is handled by the Dev team
    • Gokhan It's stored on GitHub and we try to keep it as small as possible
    • Gokhan We use Continuous Integration testing
  6. Markus Showed the Hallo Welt GiHub repo
    • Markus We have the same Docker environment for BlueSpice Free & Pro
    • Markus We have to think about how to make the system flexible
    • Markus The method is platform independent
  7. Cindy How do you provide containers to people?
    • Cindy Do you give them the Docker image? Any need for orchestration?
  8. Gokhan We are using Harbor as a private registry. Docker Hub. Building is the same
  9. Lex My solution is not an alternative to Meza, it's a post process
    • Lex Something should create a MW root structure, my solution acts on this
    • Yaron Your solution seems to have 2 steps:
      1. Set up MW
      2. Package it
        • Lex Yes
  10. Markus It's important to separate the two parts:
    1. MW Creation
    2. Packaging MW
    • Markus We also need a method for content
  11. Lex I'm not planning on copying all the old wiki DB, I'm starting with a clean MW installation
    • Lex
  12. Markus I've seen many build scripts created by someone, then abandoned
    • Markus We wanted to use something (Docker) that is supported so it will last longer
  13. Ad When we think about a "package" (i.e. CRM), a lot of it's use/power is the content
    • Ad It seems we will always require scripts
  14. Markus Ad makes a great point here.
    • Markus There's "functional content" - this crosses the border between Wiki & Lua for example
    • Markus Still this should be a separate thing, e.g.
      1. SMW + Page Forms/Templates/Properties
      2. Should split the two so someone can just get SMW
  15. Markus Docker is great when nothing changes
    • Markus When we need to admin stuff, change parts, tinker w/networking, Docker makes this difficult
    • Markus It's great for testing & light-weight production
    • Markus Basically, any recipe will not work Out-Of-The-Box with a complex environment
    • Cindy That's consistent with what I've been saying about the need for an orchestration layer on top
    • Cindy Need a future enhancement with different Kubernetes environment profiles for different production needs
    • Cindy There is an effort by WMF to use Kubernetes to deliver MW (not going anywhere fast yet)
  16. Markus Question for Lex, "What is the connections between the distribution package and the Docker file itself"?
    • Markus Am I assuming correctly that you would execute these scripts or put the files in the correct place using the docker compose? Or are you mounting things outside?
    • Lex Take a look at my code
  17. Yaron Sounds like we are splitting "Infrastructure" into:
    1. Creating a wiki structure
    2. Packaging/Distributing the structure
  18. Cindy What about Podman vs. Docker?
    • Cindy I believe Kubernetes will stop supporting Docker in place of containerd
    • Lex Database infrastructure layer is not one of our business object layers
    • Markus If Docker goes away, there will be hundreds of people creating migration scripts to the new systems
  19. Rich Meza has a goal, if the user has CentOS & internet, then 3 minutes later they have a running wiki
    • Rich Meza can:
      1. Create a system to tinker, then destroy
      2. Run your production server
      3. Meza takes all database/image directories for all wikis & "volumes them in" & captures all other things that make that wiki unique
  20. Cindy Quick note, Meza does not use Docker
    • James Meza did use Docker at one point (for memcached or something), but it's since been removed
  21. Lex Have you noticed Ansible is brittle?
    • Lex I use Ansible and love it, but you have to pamper it & it breaks often
  22. James Some info about Meza
    • James Travis runs against every build
    • James An important thing is keeping things running
    • James Meza has a full Dev Prod methodology
    • James With Continuous Integration, we can tell when something bad happened
    • James It's not perfect, but it's very stable
    • James This all comes Out-Of-The-Box with Meza
  23. Bryan Can we have a place that shows all the options with help about how to test/run each?
  24. Markus After this discussion, I realized we have different approaches that aren't actually competitors, but tackling different parts of the whole picture
    • Lex Mutually Exclusive, Collectively Exhaustive (MECE)
  25. Bryan Sounds like in addition to placing different solutions on a common page, state the goals of the solution, & what it doesn't do
  26. Lex My goal is to remove all barriers for someone to create a wiki

Chat transcript[edit]

Content pulled from the chat record of the meeting.