User talk:Bryan Hilderbrand/Meeting Notes (21JAN)
Rich: of symptoms to the health of the gut
Rich: biome and that people who have healthy gut biomes tend not to have strong symptoms
Yaron: That's interesting. Yeah, it makes sense.
Rich: and that you know
Yaron: It's yeah. Yeah, that's a really important. Sure.
Rich: If anybody's interested, I'll try to find that link.
Yaron: Yeah, gotta take your probiotics. I have yeah, I do that.
Rich: exactly my
Yaron: I have like the Sorry. We should start talking. I have the naturally I always eat the naturally fermented pickles. There's only certain brands that do it.
Yaron: If you get to watch you look for a new vinegar in the ingredients. So, you know, it's like actually fermented not just you know cucumbers that have been
Rich: very nice.
Yaron: turned somewhere. Yeah. No, that's like a big thing. Yeah, yeah. There's a there's like there's a few Brands you have to there's like Bubbies and a few others that are at the they do it the old-fashioned way, like actually fermenting that's how you know has the probiotics. I guess. You can just have yogurt. That's also anyway,
Yaron: Ah, okay. But yet still here yo play. gonna do that
Rich: That's what you get for joining 30 seconds late.
Yaron: Yeah, right.
Yaron: You can read about it in my Manifesto. No, and that's why right? That's the end with like. And that's why the lizard people are actually no threat at all. everyone Okay, I guess we can start. Thanks everyone for joining we unfortunately don't oh, well other than Lex we don't have anyone who represents a contender I guess maybe Cindy also. for for a Docker solution docker-based solution Which is what we're talking about. I Darren can't I wrote Darren about it. He can't make it. Maybe James can. From a NASA and maybe and Cindy can only be here for another 30 minutes. Ah, well, I guess we can start anyway, and Ike also has his own solution, which he may or may not want to open source. for Docker stuff But I guess we can talk about it. I don't know if anyone here has experience with a specific thing the specific other Solutions Meza quality box, which is really just Meza and
Yaron: the blue Spice One. But I guess we can start Brian put together a an ether pad. a page for this meeting How do I get to chat here and see that? Hopefully Brian, can you put it in chat wherever chat is? Oh, here's chat. Okay. and let me also add the the media wiki.org page for For what we're talking about. I mean here it is. Bring the link here in the chat. Oh, there's the etherpad cool. And here is the the link. I mean, this is what I put together for the spec if I can explain it and you know, 10 seconds. The basic idea is you there is that you want some way for for somebody to say I have this set of extensions I want to install and can you put that into a list somewhere, press some button and then someone else Can say okay let me download this or whatever the verb is and they press up another button or command and then all of a sudden they have a Wiki that's fully set up and running with that set of extensions. That's the basic idea and skins that was more than 10 seconds, but That's pretty much it. I you know, it's sort of an it's an art this page that I link to is an RFP or RFC Lex is the only person who added his particular solution. It looks good. I mean I am from from what I understand Lex this isn't actually this doesn't exist yet. I mean It the code that you have now needs to be. Modified or extended to be able to do the this thing that you're describing but what you have is the basic infrastructure for it. No pun intended.
Lex: yeah, actually, I'm Know what you see here is operational, but it needs. You know care but I mean, I I'm
Lex: There's Insider knowledge which is there. needed but it's just conceptual level, you know, the the main steps or actually the abstraction level that I wanted to convey.
Yaron: Yeah, yeah.
Lex: But I can explain some more if you want to.
Yaron: Well, well Greg is here, which is good. Hi, Greg.
Greg: I'm actually in another meeting. Um, so I'm gonna I'm gonna try to go
Greg: on mute and just like attend but
Yaron: Okay. Well, well I was hoping that you could explain Meza and quality box or not necessarily explain it really but just be able to say whether it it fits the criteria that I put out put in that page, but of course if you don't have time then
Greg: so No, no, I I think the I think the issue I the short version is I don't think quality box or even Mezza would be a good solution as the infrastructure piece because I don't think it's um, I love it, but I don't think I'm gonna have time to devote to the development of it and carry it forward and it's not even on 135 yet. Um and my latest my my last kind of like hope or initiative was to try to build that on or rebuild it on like a kubernetes style. Um, System and right now, I'm actually in another meeting with Victor showing from Wiki base. Hi, Victor. Um and and and we're doing a build right now the wiki base like Docker compose set up for that that they're using and you know, something like a Docker compose set up or the or the actual.
Greg: Wmf, you know Wikipedia Foundation Docker setup, I think would be more more suitable as a like a starting point.
Yaron: oh, really?
Greg: Like I've I've used in you know, like media Wiki Dockers not production ready and and the documentation just as bad thing will happen but it doesn't go into. I wish it went into details about like in these are the bad things that will happen. But but like some of it's just basic stuff, like don't you can't use a sqlite database in production, but that's like so easy to change and come up with you know, the the docker compose override. That that swaps in Moriah DB or MySQL. So I So yeah, I think. I think that would be a leading candidate. Um especially because it's it's like
Greg: not not not like pooling resources. But yeah, like everyone's kind of like abroad it's a broader Community right like this it it's already part of the wmf source code.
Yaron: Well, that's a that's a double-edged sword that has advantages and disadvantages. No, I mean if we want something changed how would we even do that of I guess we could Fork it but then at that point you don't you lose the advantages of someone else maintaining it?
Greg: Yeah, yeah, um. Yeah, so I I don't. Know how difficult it would be but like I could I could see us maintaining a fork mean to like it and it wouldn't be necessarily like a hard Fork it would just be kind of like a downstream, you know version think of like ubuntu's Downstream from from Debbie and kind of things.
Yaron: Well, let me ask this and sorry if you already explained this but leaving aside the issues of Maintenance and current code quality and all of that. Is there an advantage to you know, let's say all of these were running perfectly and and could be easily maintained in the future is do you still think that wmf solution is better than Meza as far as the concept behind it for implementing this specific set of requirements. Or does it not really matter?
Greg: um I I don't know. I mean I I would have to like really sit down and and kind of like think it through and and discuss it and um the biggest feature that I see in Mesa slash quality boxes just it's a farm system and there's multiple overrides so that it doesn't just build your infrastructure, but it's very easy to build, you know, like multiple instances that have slightly different flavors. So it's like going to Ben & Jerry's and in this like 32 Flavors of ice cream, you know, so you don't it's not just it doesn't just make vanilla ice cream, and and I think that that's important for for you know the goals that that MW steak has but but just in general for like deployments and and making it like really useful. But Carolyn a drone, I don't know how
Yaron: yeah, I mean I mean
Greg: to pronounce your name.
Yaron: your room
Greg: It he's posting in the chat, I think about some good points.
Yaron: Yeah. Yeah.
Yaron: Yeah. I just want to clarify tying into the ice cream analogy. What we're really looking for is an ice cream maker not not ice cream.
Yaron: So just I just want to make sure your room when you say a lot of people using the docker image. I that's that's not necessarily. What that's not necessarily the overriding thing. The question is can we easily make our own Docker images? Although the fact that people are using the docker images is already a very good sign. um Yeah. Okay. Well that's interesting. I mean
Greg: You know the images that we use so first of all, like you never ever ever ever ever ever ever ever ever touch a bit Nami image. Those things are like cancerous um, and but the thing that we need to
Cindy: this is
Greg: is or the thing that I think we can do is just easily publish our own images if if whatever is off the show from like canonical or AWS or something like that is is not sufficient right? Because we're like, they're gonna be very generic very vanilla ice cream, but we're gonna add like all kinds of different. you know nuts and and fruit mixins and sprinkles on top and so so
Cindy: Yeah, I have things
Lex: Okay, great.
Lex: I'm sorry.
Yaron: Yeah. Yeah, Cindy. Yeah. Yeah, go ahead. Definitely. Yeah.
Cindy: Okay, so yes, so as I said in the chat, so the I believe what urine was talking about was the official if you go to Docker Hub. There's an official media Wiki image
Cindy: that was maintained. By David Barrett originally created by David Barrett in conjunction with Adam shortland who's at Wikipedia to eat Deutschland. And David is since left the foundation. So I don't I haven't looked in the last month to see what the status of that one is, but I expect that somebody will probably volunteer to continue to but that's that is a and I do know that there are people that do use it as a basis and I had actually built something on top of it as well more experimental, but the so there's that one. There's a media Wiki Docker Dev, which was created by Adam shorland that he hosts out of a gift get his GitHub page, which is really specifically intended to quickly build up a media Wiki environment that you can that you that incorporates X debug that you can use for development. It's very development focused and I use that one and many of the people my group use that one on a daily basis to for testing and development, but it's not really it's Out intended for production and then there's the the docker compose file that comes with media Wiki. That's that was introduced in media Wiki one got 35, and that's the one that Greg redlet was talking about that. That by default supports sqlite and they do have a recipe for switching it to use. My SQL instead, I was unsuccessful in about a half a day of playing with it of getting it to successfully work with my SQL, but I'm sure that it is possible. so those are the three that exist but really the my question about all of this is when you talk about so when you when you talk about just being able to build up a meteoric and you know that has all of these things in it. The question is whether you're thinking about this as an experiment as a development. system and then you would deploy it somewhere else, you know as in production or whether you're talking about really being able to download an image and deploy it directly to production from that which really needs more orchestration because it's not just it's like do you have media Wiki and And your Apache your web server and your database all running in a single container or are you going to have them across multiple containers? Are you going to do any sort of load balancing? All of these things are issues that people are going to want to consider when they actually deploy so it's easier said than done to say. Oh we're just going to you know have the stuff all packaged and an image you really need a level on top of that of potentially of orchestration that would allow you to specify how you want to lay things out and that's where something like kubernetes comes in. So So that I guess that's sort of my fundamental question is are you really talking about a one-size-fits-all image that has everything in it or maybe a media Wiki container and then, you know understanding that you could then deploy that and environment which had these additional features. So anyways, so there's a little bit of not to throw in any monkey edges, but there's a little bit more complexity than just saying build an image and let people use them.
Lex: Can I ask something here, please?
Lex: a great Greg when you're talking
Lex: about your containers or images does your Docker file contain anything related to Media Wiki? Or is it media Wiki agnostic?
Yaron: and is a
Yaron: He might be.
Lex: Mike he's not listening. Okay, because can I quickly show you this is a oh, no, that's the camera. It was off. That's why. Um because to answer present. There we go. look I suggest. Can you see that now?
Lex: I suggest a Apache container which is totally media weekly agnostic. It's just ready to run it and then you have it composer file which contains it but of course stores the The the root is outside of the container. It's volumeed in. And then once you you run it to build it. You build it into that volume then container and then you zip. That that folder together with the dump of the database. And then you can rebuild the system on any other platform just by unpacking that zip folder and importing the database. So I'm suggesting nothing media weekly specific to go into a container. So there are no media Wiki containers. They're just a building blocks that we use to run it. Everything else is volumeed in. That's how my system works now.
Yaron: Yeah, um. Yeah, I mean that makes sense to the extent. I understand it to answer the original question. I mean, I think a one of value Simplicity for the administrator over performance. I guess that's maybe a part of the answer. And the other thing is it would be nice to have different solutions for for different things people are looking for if they already have if they want to use their Apache and everything else and just want to install media Wiki. Versus The Other Extreme where they want to install a whole operating system Linux or whatever it is and everything else a full lamp stack. Along with media Wiki would be nice for this system to enable both so you create different images or whatever. They are for the different set of things people want. I don't know if that's if that makes sense. If anyone does that kind of thing. um But yeah, I mean that's that's the basic idea. That would be nice to support any configuration any reasonable configuration.
Cindy: yeah, and it seems that that kind of approach could be handled with orchestration and I say this knowing just enough to be dangerous about kubernetes, but but the idea being that you create. a an image that has what it needs for a certain portion of the system and then you you can orchestrate it into a variety of different ways. So you have a media Wiki Image and then can orchestrate it with a either. Apache on the same pod is I guess the kubernetes. Lingo because on top of on top of containers, you've got a layer of pods. So at any rate, it could be that that it's orchestration is the key to have multiple different configurations that would handle different performance and ease of Maintenance characteristics.
Yaron: Yeah, yeah Lex. I guess that's different from what you're talking about because you're talking about media. Like he just being a zip file and not an actual. image pod something is that
Lex: well it I mean, yeah, it's just
Cindy: yeah, and
Lex: I think it's more flexible. Otherwise you you have to rebuild the images all the time.
Cindy: it's consistent with the way my original Ansel full scripts worked where yeah, everything was just put in a directory that was outside of the Webroot and you could just zip the entire thing up and take it to another. Another host and unzip it and it would work just fine the limitation with that is that you need to make sure that from the web server down to the OS everything is set up appropriately in order to be able to host media Wiki. and
Lex: Why down to the OS? if you use
Cindy: oh because it could be something as simple as file permissions that would that would interfere with the ability to to serve your instance. You know, there's AP PHP
Lex: well, it's
Cindy: configuration variables.
Lex: No, no, no. No, but PHP is in the container. That's the point. No, no. Have a look at look. I'm gonna post you.
Cindy: No. No, what I'm trying to say is that all of that needs to be configured in order to support media Wiki. So yes, you need a container. So so you're saying that you would
Cindy: have a a container that would be capable of Hosting media Wiki and then all of your media Wiki source
Lex: Cindy: code and but but it's still is a problem to be solved. Let's put it this way or you know, you still need to make sure that that cane container is Media Wiki capable. Yeah.
Lex: the docker file, but that well, that's the point of course, of course, what makes I mean, that's what we're talking about now. but that doctor
Cindy: right, right, but you but you're saying but you're saying a doctor file for building a patchy inside the same container with PHP inside the container same container with your database whereas in
Lex: No, no, no the database the database is a different container with a different vault.
Cindy: so you've met so you've made specific decisions about how you want to build your infrastructure a database a web container But other people might want to have load balancing with multiple, you know, and so in other words in a production environment depending upon the scale in which you're going to deploy you might have different decisions. And if we mandate that this product can only work in an environment where you have a single container that has your web server and a single container that has your database and that you can't do any sort of load balancing or configuration. Then you're tied into that configuration. Whereas if you had various different orchestration files that would allow you different environments and I will say one thing about Meza so Meza, you will take pretty much any stock sentos or red hat. VM and it will do everything it's base. It's it's just a bunch of instructions that go and turn it into a media Wiki capable. virtual machine and it's very brittle in that but it's also it takes care of everything for you. It also makes assumptions, you know about a load balancer, but there are some configs that you can do to change the layout of of your software. I I I guess my my bottom line is not that we need to support everything which absolutely I don't think we can I don't think we can support every possible configuration, but we just need to recognize that if we're going to have a single Docker compose file that builds our entire environment that we are making
Cindy: assumptions. About that environment. So so it sounds like Lex is an agreement that we do not want to mandate that a single way of building your system.
Lex: Yep, but wait, you see the abstraction level where you decide on what infrastructure to set up is exactly the docker compose file, but the dock for example, you know Docker is a process abstraction a process wrapper. It's an OS level virtualization and every system consists of processes. So we're going to process we're going to put one process into one container and then if you want to Orchestra, I mean if you want to load balance, you've got four Apache containers five in for four instances of Apache containers, five DB containers and one load balancer and the only thing
Lex: that changes is the docker compose file nothing else.
Cindy: yeah, and that's what kubernetes will give you is that higher level orchestration that says You know in your in your config, you'll say how many of this you want how many of that you want and it just makes sure that it's it's functional. It just makes sure that the actual deployed. Code is or system the deployed system matches the requirements and if it finds out that something has died. It'll spin another one up. So it's just always constantly making
Cindy: sure that your configuration for your system matches the actual running
Lex: but that that could also be done with
Lex: with a pure stalker compose setup. No.
Cindy: In a slightly more brittle way. Yes.
Lex: Why is it more brittle? But because of the restarts capabilities and things like that.
Cindy: Yeah, yeah.
Lex: Okay, okay. but you
Yaron: I just want to say quickly about load balancing. I I don't I don't see that as a big requirement for this. I mean the basic idea is you know, it's simply simply ease of installation is my biggest concern or easy the whole thing, you know to make this as much like a consumer product as possible. So, you know, yeah, it would be great to support load balancing and and any kind of setup, but I don't think that should be the deal breaker or something, but maybe it's not I don't
Yaron: know. Yeah. Okay. That's my thought. was there was there some kind of What's the word agreement, you know from that I mean? There's one of you now more satisfied about the the possibilities for the other person's. solution
Cindy: I would just say that we need to keep and keep in mind. For this that when we make assumptions about the environment whether we're making those consciously and understand that.
Cindy: You know that. Yeah that I I'd say starting simple is the way that we should go definitely get something built and if getting it built with Docker compose up front absolutely, but don't lock ourselves in in the future for if we want to might, you know have this be a product that can be deployed and a variety of different environments.
Yaron: Yeah. Okay. What do you mean by locking ourselves in? I mean I mean we can always. And make a new thing. No.
Yaron: Well, I mean, I guess people are using it now. It might be screwed if that if they can't do it easy update something, but I don't know. I don't know.
Cindy: Yeah, I don't know. I I guess I just want to make sure that those yeah that that we consider those kinds of things and decisions like you know, as as Lex said whether we embed the code inside the container or expose it as a volume outside and and I've tried it different ways and for for development absolutely having the code outside the container is key because otherwise it's makes it very hard for debugging. Um, so and there are other reasons also as Lex said being able to just package it all up and just take it and run it with a different container. So those are the kinds of things that will need to make decisions on
Yaron: Yeah Okay. This may be too early to ask but is there some kind of consensus yet? I'm on what to use.
Yaron: It's Okay.
Lex: No, you see I think we're not disagreeing on what to use. We're not not disagreeing. But we're discussing the abstraction levels.
Yaron: Right. Okay.
Yaron: That's fair.
Lex: I advocate putting nothing media weekly specific into the container. but of course, you know you can you can challenge that.
Cindy: Yeah, and and I and my my view on that is just by having to configure the container container in order to be able to run media Wiki, even though you don't have the media Wiki code or extensions in the container. There's certain things that have to be done to The Container to make it so, you know the right version of PHP
Lex: Yes, Cindy.
Cindy: the right.
Lex: I don't understand where the problem is because the docker file is only controlled by us. so it is
Lex: is the I'm sorry just to understand you correctly if I buy a dishwasher,
Lex: If I buy a dishwasher, of course, I want to make sure that the dishwasher is wired correctly. But of course, that's why I buy a dishwasher. Otherwise, I would go to the electronics shop buy a thousand pieces and weld it together myself.
Cindy: I agree with you. I agree. We are building the docker file so we
Cindy: can make sure that it can host media Wiki. Absolutely. Yes.
Lex: And as I posted in the chat, that's
Lex: my current version of a media weekly enabled. Apache but of course, you know there's this
Bryan: How to look like for the normal web admin if the docker file or whatever is still being maintained and changed so at some point I've created a Wiki based off some version. And then now it's it's Way Beyond and it's done different things. How do I get my Wiki now running that newer? version
Lex: Well, you you do Docker compose down you edit Docker compose yaml increase the version number and then you do Docker compose up minus D. And that's it.
Bryan: the all your data is still there. You didn't have to migrate anything. Okay.
Lex: That exact. Yeah, that's that because it's volumeed in and the volume in configuration is not part of the container. That's part of Docker compose.
Bryan: and then what about like a Wiki backup and that's something that could be built in or or
Lex: Well that
Yaron: Well, that's sorry good.
Lex: No, I I made this. I have a suggestion on the media Wiki org page there actually snapshotting we Keys that's how I call it at the moment. But of course, you know, it's it's you can use any any
Yaron: yeah, it's not actually related to
Lex: method you have before
Yaron: Docker. You just you can use the create a scripted to do a backup if that's
Lex: Yeah, exactly.
Yaron: what you're gonna say.
Lex: The only thing you have to sort of what changes is that you have to run the PHP code within the container and not on the operating system that the CIS that the docker compose is actually run. So but that's that's a Little syntax change that's that's easy.
Yaron: Yeah. Just one question briefly just to make sure I understand it fully. Let's say you just want to get media Wiki setup. You are you want to use your existing lamp stack or whatever it is. Can you do that with this? Okay by Cindy. She lets you left already. Can you do that with this approach?
Lex: Well, as I said Docker is a process wrapper. So, of course if you're operating system has a running MySQL process. You can run media Wiki. based on the dockerized Apache process and have it connect to the operating system level MySQL process. or vice versa You know, for example, someone has a
Lex: running MySQL instance. I mean, there are people who are absolutely terrified running a database based on a container. No problem with that. So you have your local one and then you just connect all the containers on the host level on the host Network or you bridge the host Network to The Container internal Network and then you can you can mix these thing because it container is nothing else than the process that's very important to understand. There's not it's not a machine. It's not a virtual machine. It's just a process but you can you can package everything into that process that is needed. So there's no more operating system level dependencies, right? I mean a Pat this and there's no Apache any on the operating system. Of course, you could volume out whatever you want. You can even volume out Apache any but then that gets a little at the end if you start to volume out all configuration. Aspect you might as well just you know install the bare metal. But um, yeah, it's it just think
Lex: processes. It's a Docker process.
Yaron: Okay. What is yeah, we're saying sounds right. I just I I I can't think about
Lex: Okay, I just say that because some
Yaron: processes it.
Lex: people think or you know at the very some the very beginning that when I look at that. I also thought that it was sort of mini virtual machines. But these are not they're not virtual
Lex: machines at all. They're proud that it's an operating system level virtualization. It virtualizes a process on a on a on an upper
Yaron: You're saying it's not well, it's not a virtual machine because the operating system itself is not necessarily a process. Is that right?
Lex: Well the process runs on the operating system. It's just wrapped in a container.
Yaron: Okay, but if Linux itself, we're also in a container then it would be a virtual machine.
Lex: I don't think
Yaron: Okay, well.
Lex: That's a very adventurous question. I I don't think you can put an entire operating system into a Docker container
Yaron: Oh, really? I thought because I feel like we talked about that last time two weeks
Lex: well, it's it's the base is it's the
Lex: basis and then you know, they use Linux Alpine which is five megabytes or something like that. But now you're you're getting me into Uncharted territories there. So
Yaron: Okay, because I thought with it this was a realistic use case where somebody literally wants to install the entire lamp stack and media Wiki on there, you know Raspberry Pi or
Yaron: whatever it is.
Lex: Yes, but it's not the well, it's processes that end up in the container. Of course, you can put the database Parts suite and Apache all into one container. But that's not really the microservice approach, you know.
Yaron: Okay. Well you ruined just posted a link to an image that I don't understand, but
Lex: Perfect. Thank you.
Yaron: It's there. The docker isn't even in the VM one. So I guess what I was saying is not correct. But that's I have no idea. What a hypervisor is. It's like a supervisor, but even more that more so I don't know anyway.
Lex: I think yeah.
Greg: Is bottom line from that from that image is is is that with can with Docker containers? Everything's on one operating system. And it is themselves are like a
Greg: charuded process. It's just it's the entire file system and everything and all the configuration and environment variables and everything is all in like one virtual file system. Like like almost like a CD-ROM.
Greg: image and it's and it's running on the host operating system.
Yaron: Okay, but well, so here's my example so you buy a Raspberry Pi and you want to install a Wiki on it With this setup that we're talking about with with project Canasta. Could you do that or would you first have to install Linux on the Raspberry Pi?
Lex: You would have to all.
Greg: Raspberry running it's running raspbian.
Yaron: Oh, okay.
Greg: And and not that I know Raspberry Pi development, but I assuming you could get some Linux compatible operating system to run on the raspberry on raspbian then then I guess it would work.
Yaron: Okay, so you would first have to install the operating system
Lex: Now that you see as
Lex: says you have to of course run Docker on.
Lex: So you run docker?
Yaron: That's true. Oh, there's it. There it is. That's the wiki on there Ryan.
Yaron: That's true. You did need to run to be able to run Docker, right? Okay. All right. Well, it's a dumb question. That's fine. So, okay, I mean I lecture your your your solution makes sense and you seem the only one who is confident about his or her own solution. And you're the only one who put a description of it on the RF. RFP page so I'm that I guess it really is the FrontRunner at this point. It would be nice if any of the blue spice people were here but
Lex: Yeah, you have them participate. Why are they not here?
Yaron: I don't know.
Lex: Have you have you you write to them?
Yaron: There are there on the there are the mailing list. I don't know. Maybe they showed up yesterday, or maybe they're just busy.
Yaron: Yeah, um. But fine, I mean if we had to make a decision right now, I mean does anyone what do people? Well actually just briefly let me ask you Lex what you're saying what you're saying is a theoretical thing because the current software doesn't fully support it. How long do you think it would take whether it was you or someone else doing the work to get it to a stay where really is, you know just simple set of commands.
Lex: I would say I'm an 80% at the moment. I can I can do a presentation next
Lex: time if you want.
Yaron: Well, okay, but just for just you know, is it was it a question? Is it an issue of days weeks years?
Lex: Well, the thing is, I'm just very busy with developing the other stuff and I'm I react the gradient of my
Lex: learning curve hasn't flattened.
Yaron: Oh react Lord.
Lex: But but we're I'm getting there. No, when when do you want?
Yaron: I don't know.
Lex: two weeks
Yaron: Well what what if there was someone else doing the work? I don't know. I'm just what I'm just I just want to get a sense of you know, if if it's taken you, you know five years to get 80% of the way there then.
Lex: No, no, no. No, it's it's you know, I could even present it now, but it's it's not
Yaron: Just of just of just a very rough sense of how long it would take you
Yaron: or someone else to
Lex: No, I'd say if we meet again in two weeks. I can I can give a presentation on or run it live. You know, we can build the content we can build the wiki we can pack it up. And we can reinstall again
Lex: I can I want to
Yaron: Okay, but would okay, but would it would it actually be finished to that point?
Lex: Well finished this is like, you know that I would give you a Lego kit instead of 10,000 Parts. It has five parts, but the five parts would still be have to be assembled, right? I I build you know, the the house the train station and the shop.
Yaron: Yeah, well, so there's just a matter of creating a shell script that calls them one by one.
Lex: yeah, actually if you if you look at
Yaron: Well, okay, so
Lex: things I sent you the data spec system builder there. You see all the Lego blocks.
Yaron: okay, but if it's a matter of
Lex: the instructions
Yaron: creating a shell script with some with some flag command line Flags or something, then it sounds like it's more than 80% done.
Lex: now that I have that you can and it's open. This is not a private repo. Just check it out.
Yaron: Okay, but just I you know, I just want I just want an answer. I just want to know like how long
Lex: And I said, you know if if you want to presentation in two weeks fine.
Yaron: Well, I don't want to presentation.
Greg: I think the presentation.
Yaron: I want working. I want to working installer.
Lex: Well, yeah, but no, but we have not agreed on the abstraction level yet. you know, if you want to fully if you want to turn key solution like bitnami, you know, and I know what you mean Greg, but
Lex: That's I'm not there. It's it's it's like you buy a pizza, but it's only half baked. You have to put it in the oven at home and I can show you that process but I can't show you the app, you know update media Wiki. I don't have an apt update media Wiki. But that's that's in I have the building blocks to do that.
Yaron: Okay, so I mean, let's say let's say you were able to hire someone or you know, we pulled money to be able to hire someone to do whatever is missing update and everything else.
Yaron: How long do you think it would take them? How many hours do you have any idea? Oh. Okay, I was I was out for a second.
Lex: that's And not not too long, but look. In two weeks. I can give you I can run you through the setup of the system which takes
Yaron: No, but yeah, okay.
Lex: 10 and then you will you will understand what I mean by abstraction level and building components the building blocks and then you will understand what it takes to integrate those building block operations into a you know,
Greg: Then we'll understand how to bake a pizza.
Lex: Yeah, exactly.
Greg: I think I think what
Greg: Aaron's not getting is that the pizzas have baked and you have to take it home and throw it in the oven set it to 350 and you have to take it out in 15 minutes and and let's just wants to show us how that works. And once how it works then you'll
Greg: understand how to make a pizza.
Lex: Exactly, but and then I will have your input in saying look there's something more we can integrate over here. Maybe that building block we can move one part over there and then we integrate it on a shell script. But as you can see on my media Weeki org page to this is not building the system. This is actually deploying it from a zip file. And there it is. Actually just one setup. Sh. But I'm more interested in showing you how I get to the zip file. if
Yaron: No, it's great. But it's not but it's still I mean I want I'm trying to figure out you know, I think we would all benefit from knowing how how you potentially close if this is to being ready because that plays of that plays a factor in this decision. you know if it's gonna take another year which clearly it won't that
Lex: No, oh, it doesn't take a year.
Yaron: you'reetically Well, that's what I'm asking does
Lex: No, no.
Yaron: Does it take would it take?
Lex: no, oh certainly not no I
Lex: I can build a system in I mean a system builder. I can build the system builder in half an hour.
Yaron: Okay, now we're getting somewhere.
Lex: Well, but it's just it needs it needs the shepherd right the Sheep No.
Yaron: I know sure. Yeah, we need to decide. Yeah. No, I but yeah, I just wanted to know.
Lex: But check out the repository. I sent you the data spec system builder and you can see this. These are not very tidied up building blocks that are integrated. semi-automatically I'd say
Lex: and I tried to to have to remember as few details as possible. My metric is to come home at two o'clock in the morning after some beers and then be able to build it from scratch and if I succeed I did a good job in designing.
Yaron: Yeah, right.
Lex: that's that's the but I tell you I mean, you know.
Yaron: If if you don't remember doing it the next day, that means you it's really good.
Lex: Yeah, exactly.
Lex: I don't remember doing it and I have on my computer and say whoa. Where is this coming from? I did a fantastic job.
Yaron: Yeah, I mean, you know kidding aside that really is the the goal to be able to for for someone to read about this media Wiki solution or whatever and and you know, they say even it says, you know type in these. One one two or three things and then it's all done and you know. They don't have to think about it.
Lex: Yeah, you know this reminds me of this Jeff Bezos discussion about the one click shopping. You know that story.
Yaron: Well sure.
Lex: Well, he insisted on one step.
Yaron: I mean, yeah. I invented one collection.
Lex: And his engineers said no, no, no, if we make it two steps we can configure said no one step and now you are Jeff and I'm the engineer telling you I'd like to have three steps and you say No, it should be one and of course at the end you should but over, you know premature optimization is the root of all evil. So let's not optimize
Lex: Much ahead.
Greg: for the record, Jeff Bezos did not invent one click shopping.
Yaron: All right that they did there's the
Lex: Nobody, but I think he insisted on
Yaron: monster about that.
Lex: it. No. He
Yaron: At the they definitely sued other people who have done one click shopping.
Yaron: So what that means?
Greg: he I think I think it I think they co-opted somebody else's invention and claimed it as theirs and then
Greg: like somehow. I don't know when the pattern lawsuit or something.
Yaron: That could be it.
Greg: Wrong, I never mind.
Yaron: Richard talking Richard talking about we can't hear you.
Rich: No, I am muted.
Rich: But I just before the topic gets
Rich: serious again. I wanted to throw in the statement that the one Clips shopping does it or does it not have a confirmation warning?
Lex: No, it's one click.
Rich: You click one button and you've spent money.
Lex: you might revoke it afterwards by mail or so, but people don't do this is like I keep them, you know, Ikea's
Lex: policy. You can bring anything back. No questions asked. You can use your bed for two years and bring it back and you will get the money back.
Rich: Okay. Yeah, so the the severity of the accidental one click purchase is countered by the undue process of returning the item.
Lex: Yeah, probably well, I don't.
Rich: You're on you.
Rich: See that right?
Yaron: It just brings me that the premature optimization is the root of all evil. I don't I don't think that relates to you know optimizing the well, I don't know fine. I was gonna go somewhere but I guess it wouldn't be premature if it's not if it's good, but
Lex: that What your room?
Yaron: I think it has more to do with software development than with with optimizing the user experience. I don't know fine.
Lex: But you your room.
Lex: What are you referring to by saying undo one?
Yaron: you do. Yeah. Yeah.
Lex: are not
Yaron: No, he's saying he's saying we make it easy to install and then easy to uninstall also.
Yaron: If you know if you accidentally installed media Wiki. you know you just typing in random commands on a
Yaron: computer and you accidentally installed media Wiki.
Greg: He was just joking and and and I want my money back. but
Bryan: got a question about contenders. So there could be some unknown unknowns where there's some solutions. We're not even considering because we don't know them yet, but there's
Yaron: Yeah, well blue spice is a Known Unknown at this point.
Bryan: Well, that's that's where I was gonna go. So Meza, we do have rich as a user Greg as a developer. Creator of quality box and and but we're missing, you know, James and Darren for that, but then we have blue spice wiki-based Solutions and possibly Ike with might all be using some variant of a docker-based approach. So how close to what Lex is doing are what they doing we're doing.
Greg: and for the record we're using docker-based. What I was trying to say earlier is I'm using a docker-based Approach at work now. Which is what Wiki base is using.
Bryan: You actually have inside into Wiki bases docker-based approach. What do you have enough familiarity with it now to say, you know how close it would be to what Lexus proposing and if we could
Greg: I so I I totally missed like almost everything that Cindy had to say and almost everything that Lex had to say, so I'm really disappointed and I hope this is their transcript and and
Yaron: well I mean the basic idea is trying to
Yaron: match the specs trying to that. I put together unless the specs are bad, but no one's complaining about them yet. The specs I put together, you know make it easy just to create and then easy as easy as possible to install
Greg: but I think my gut says they're very
Greg: similar and I just what during this meeting my my number one goal right now at work is to get
Greg: similar and I just what during this meeting my my number one goal right now at work is to get the system running because similar and I just what during this meeting my my number one goal right now at work is to get the system running because similar and I just what during this meeting my my number one goal right now at work is to get the system running because similar and I just what during this meeting my my number one goal right now at work is to get the system running because what similar and I just what during this meeting my my number one goal right now at work is to get the system running because what wikibase has a system but they they actually haven't used it in a while and it's Rusty and and I I tried to break the rust off and and it was just falling apart. Um, so I I just got it working on my
Greg: Um, so I I just got it working on my systems for the first time. So I'm learning the system and getting it up for the first time.
Yaron: Yeah, okay. Yeah, but I what Brian was saying relates to you. Of course, you have your own proprietary docker-based solution. I yeah, I wonder what you think about Alexa's proposal.
Greg: Lex's presentation and a couple
Yaron: Well, okay fine, but I mean sure well
Yaron: fine to the extent that you can. Answer the question. Yeah, I wonder what you think versus using your or something else
Ike: This yeah.
Greg: In two weeks.
Greg: I will definitely be very very familiar with the wiki-based solution. Um, and and also I just got the so the weeding or the wicked media Foundation. Their Docker solution was broken too for a long time and they just fixed it in master. So I just got that running yesterday
Greg: as well. So I think in a couple weeks time, you know, just I personally will be a lot more experienced with the different Docker Solutions.
Ike: So yeah to answer your question.
Greg: I'll be able to. have opinions or
Yaron: Right, right. Yeah.
Ike: It sounds like you know, the philosophy behind Lex's image is very similar to what we're doing. Even if you know, the actual implementation is a little different.
Yaron: Yeah, does he does your thing let people, you know create a back get containers or pods or whatever for the different for the whole for Apache and MySQL and PHP or is it just media Wiki?
Ike: We have separate containers for a lot of these different components.
Yaron: Okay, it doesn't sound that different. then
Ike: No, I mean, I think we're following similar philosophy. Although remember, you know, we're we're building it for developers. We're not building it for end users. So, you know, it might be built, you
Ike: know, but
Yaron: Oh, you create like a different GitHub repository for each for each download and something.
Ike: right right I mean and I think what we have and I didn't actually build these containers. I don't know that much about Docker but I think what we have is like one main Docker container and then we have different repos that will pull that container and then add customizations for each individual client.
Ike: So it's not it, you know, it's not exactly although it could be what you want to do. Right? But probably most clients are not going to build their own backer images and pull from you know, project canastas. So but we definitely we have more of the Alexa approach than the blue spice approach as far as how the containers are laid out.
Yaron: Yeah. Yeah, okay. Yeah. No, I I do want it to be kind of one size fits all and maybe tied into that. We didn't really talk about this but it may make sense to have a basic local settings that PHP file that well you have to have one that comes in with the image. But then there it might make sense to have a separate settings.php file for people to actually for them to make their own configurations there so that when they go to upgrade that doesn't local settings that PHP doesn't interfere with the upgrade process. I don't know if anyone has any thoughts on that. That's kind of a secondary jail, but
Ike: Oh that yeah. It's I guess part of the question.
Ike: do you even want people to be able to configure their Canasta instance or do you want to tie them into a one-size-fits-all approach you take it or leave it?
Yaron: I mean, I would say yes, if people want to install a new skin or something or a new extension on top of that. I would say yeah, I would say yes, there should be able to make any changes they want and ideally make it make a way for them to make those changes without interfering with the the upgrade the standard upgrade process. That's my view. Yeah.
Ike: Well, if you're okay, if you're allowing customizations, then yeah, I'll definitely you'll need more than one file. Yeah.
Yaron: Okay. um Yeah, okay. Um, well, I guess we've crossed that we crossed out ice solution and the WM Absolution I guess. So that just leaves and and I guess we've also crossed out Mesa slash quality box. I don't know by the way. Darren said he doesn't when he's when he wrote that he couldn't make he said he doesn't know that much about the the system. Anyway, it's mostly James's baby at this point. Although I guess James hasn't done that much with it either. So yeah.
Ike: I would just throw in. Remember again that you know, there are a lot of VPS is that don't run Docker. There are users who don't know how to install docker. You know, you can build it on a Docker image, but there should also be some other way for people to be able to run it.
Yaron: like a zip file
Ike: Something like that.
Yaron: Or well, yeah.
Yaron: So how would that work? It would be a shell script that downloads a zip file and then also Also the runs whatever things what a, you know runs update that PHP or something or what?
Ike: You could go that far. You know, I'm just saying there should be some way of doing it. Right like you could just give somebody a zip file which is a it's not a container. It's just the media Wiki components maybe with a blank database that has some of the structure already in that database or not really like database, but otherwise blank there should be some way for people to get the Canasta benefits, even if they're not running the docker, you know, they're gonna set up their own lampstack Etc.
Yaron: Okay. Yeah, I don't well, what's the what's the alternative to docker?
Ike: That that's I guess part of the discussion, right? I mean you could just have that
Ike: I mean you could just have that system the advantage of
Ike: The advantage of Docker is you know, this is easier to deploy for people who can do it. and Theory you could just have
Ike: zip files and and some kind of script but then it'll make upgrading
Ike: complicated makes a lot of things complicated. You know it for most people it'll make it more difficult to install if they have to put in their own lampstack configure everything correctly.
Yaron: Well, there's something that to that
Yaron: though. I mean, I mean you just I mean most servers I would think would already have a lamp stack. I don't know and then you know you just you know. Justice Just The Script where where
Yaron: downloads everything and creates a new database and somehow it lets you specify the database username and password. And then then you're and then you're done and then it does everything.
Greg: What one of the things that I have to just like understand a little bit better and and I'll know this in a couple of weeks is we're deploying what we're running in production on AWS. And I think that's I don't know if that's in the requirements or anything but I think that's a great requirement as much as I hate it AWS. It's just it is like one of the three main platforms and so how do you deploy if if we're starting with a Docker solution a Docker build solution then how are we running that on AWS and answer? I'm not sure I have figured that out.
Bryan: You can create an Ami to have whatever you need and then publish.
Greg: and I think that's what we're doing
Bryan: Yeah, but but it's also not that hard
Bryan: to say like I don't think that same some people don't know how to use Docker is a reason to not use Docker. It seems great for enough that there can be on the project canaster or whatever the pages that the tribes is the step-by-step. Just here's how you get Docker on your system. And then from there on here's what you do the whole worries me about
Bryan: The whole worries me about Docker is Ike's comment about some Cloud hosts. Don't allow Docker to be run and if that's true on a wider scale that seems a little bit a little bit harder to deal with I know it does work on AWS. So I don't know. Maybe it's just some of the minor ones.
Greg: Yeah, and I personally don't think
Greg: you know, like I know the history at wmf is to have like meeting Wiki, you know, like installable on shared hosting environments and stuff and it's like I I would purposely intentionally exclude that as a requirement because you gotta you got to set the line somewhere. We're trying to build an Enterprise ready and globally available, you know, like solution you got to step up to the plate. You can't run this on a $5 box so to speak and yeah.
Yaron: Well, okay, but I mean, I mean there are a lot of servers that don't have Docker installed on them. Maybe it's easy to install like a most toasted.
Greg: No, no you run.
Greg: You're right for clarification. What I mean is you run Docker desktop on your local machine you build the system and and at the end of that pipeline, you've got like an it like you an image that you can then publish and maybe that image is in different formats. One of them would be an Ami image and then you take that image and you run it on your hosting environment. or you know like a series of images, but this this all has to be worked out and and I just you know, like one of the one of the main reasons not to use Docker is just because Docker is a proprietary platform and the changing their rules and they changing like how you publish images and how many how many polls can you do and and blah blah, but and so so if Mark were here he'd say, oh we should use There's some open source more free alternative to Docker. We should use that but this is all premature optimization. Let's just go with you know, let's just make some some pizza. And then later on we can figure out how to make artisanal Pizza that Stone Fired and and whatever.
Lex: Exactly exactly that that's I I support this idea.
Yaron: Wait, just so I understand about Docker. There's docker.com or whatever. I mean to have a Docker actually hosted but then there's just Docker the software can't anyone just use install, you know create any Docker
Greg: if every
Yaron: image and put that anywhere.
Greg: You can you can you can create your own like it's it's kind of like a packages for for PHP packages. Right like you can you can have your own. Package repository for for PHP and and with Docker you can have your own image repository for for the images you build but you know, they've got to be somewhere because Dockers all about like pulling a base image and then laying something on top of that and something on top of that and then and then you have a final image that kind of constitutes. The container and then with Docker compose you have multiple containers that are all running in unison and talking to each other over virtual networks and stuff like that.
Lex: And Greg isn't that called part?
Greg: Yes. Yep.
Lex: What now? It's podman right?
Lex: Have you used it?
Greg: like for day or two
Greg: I can't even remember.
Bryan: It's a good point though. Like there's a there's a mythology that we're building in here and go and end up being independent of Whatever the containerized solution, but let's just the whole idea work. start practice on practicing on
Greg: I think it would be a whole lot easier to build like some Dockers if we just decide to use Docker. I think it'd be a lot easier to build
Greg: some DACA solution now and then three months six months or a year down the road say, you know, we've got this issue and and and let's it's gonna be a big issue a big effort, but we're gonna rewrite everything to you podman. And and I think that would be the time to do that. And and I don't think it would be you know, like even it's like those sound like big moves. It's like buying a new car. It's like, okay. It's
Greg: it's it's a Define amount of work and it's not that out of a deal and at the end of the day and you can probably get it done in 48 hours and at the end of the day, you gotta shiny new car you're driving.
Lex: Yeah, and especially.
Greg: the car
Lex: You know the learning that we would get is the abstraction levels. Where do we put
Greg: the car
Lex: You know the learning that we would get is the abstraction levels. Where do we put what?
Lex: You know the challenge
Yaron: Yeah, and of course we get it, you know demand.
Lex: You know the challenge
Yaron: Yeah, and of course we get it, you know demand.
Lex: You know the challenge hacking
Yaron: Yeah, and of course we get it, you know demand.
Lex: you know the challenge hacking
Yaron: Yeah, and of course we get it, you know demand.
Lex: you know the challenge hacking
Yaron: Yeah, and of course we get it, you know demand.
Lex: something that works is easy.
Lex: Putting it into the right place that makes you happy in two months six months in a year is the changing part and it doesn't matter what knowledge you because we will pull out learnings regarding the abstraction levels, don't you agree, Greg?
Greg: Yeah, yeah. Yeah, and and I think you know like I
Greg: missed what you said earlier, but you know, like I know what what wmf just did was or Brendan Burns. I think he's the guy who's working on it like he he just abstracted more so that to to get over some of the issues with like PHP versions and me
Lex: There we go.
Greg: issues with like PHP versions and me Wiki versions. And and and I think he probably did something like you were I think talking about which is like, you know, you got an Apache you got an Apache container over here, but the file system is in is is either he's A volume or a or a separate container where pH or PHP is separate from a patchy and then that way you can configure it and you can run either, you know PHP fpm or in a CGI processor. You can learn mod PHP and and if the patchy is a component or a container
Greg: you could possibly run either Apache or nginx or maybe both so you could have nginx running as your your step your static file server and you have a patchy running as your as your your PHP. and then with another configuration
Greg: variable you might have another container. That is the load balance or the caching front end proxy server. And so on so I I I think when it comes time to big pizza, you know, the the recipe can be fairly complex
Greg: or simple and it just determines the the result you get.
Greg: I usually just make a cheese pizza.
Yaron: All right. Well, it's been over an hour at this point. I I don't know if feel like we've We we this seems like a natural ending point by the way. I I think I want to stick with just talking about infrastructure for for project Canasta meetings. As I was saying at the last meeting. I think this is a more useful and productive than the the packages.
Yaron: the conversations
Yaron: but yeah, I don't know. I don't know. So if we have we talked a week from now Lex, will you have something already to?
Lex: Now give me two weeks I have I've got
Lex: react stuff going on for the next couple of days
Yaron: Yeah. Okay, so well, so I don't know if it well. I don't know what the the right next step is. I would be nice to hear from the blue spice people. Maybe we can talk that next week.
Yaron: Okay, fine. It seems like that's the only other the only solution that hasn't been crossed out at this point. if I understand but
Greg: We need to time box this better. So we'll have 30 minutes for To do a presentation and 30 minutes. It will open Florida Blue spice, whatever they can come up with.
Yaron: But I know it let's let's won't be
Yaron: ready you won't in next week.
Lex: Well, maybe let's see, but I also
Lex: like some discussion time afterwards.
Lex: you know because there's this.
Greg: and and and I'm not running things. I'm just I don't know. Maybe I had too much coffee. So I'm just vocal.
Lex: No, no, no absolutely right no time box 30 minutes, and and I I built the system and install it where I I bit Yeah built the system and then the Builder and then we installed it once and and then we can discuss that.
Yaron: Well, okay. Yeah, I mean it would be it would be useful to at least have a discussion like you the one you had with Cindy.
Yaron: Yeah, so, you know, we do a direct comparison see what's going on and all that.
Bryan: I posted the last link I posted there. We'll probably move it to a better place at some point. There's a red link right now for the notes for this for this talk and it will have a full transcript what we talked about in my note so you can
Greg: Oh nice.
Bryan: it'll be Google butchering and what we said you should be able to go back and see what talked about before come on or listen in.
Yaron: All right, cool.
Greg: Nice. Thank you.
Yaron: In including the step of probiotics. Well, at least we didn't we didn't say anything bad about anyone so should be fun.
Bryan: Well, I got it late. So I just got the the tail end of that. Yeah.
Yaron: Oh, very good. Okay. Cool.