 Hi all, welcome to the Jenkins clouding hip, sorry, configuration as code subproject meeting today is May 20th and you have a common agenda. Just a second, I will share my screen this year. Okay, so we will talk a bit about news, which are related to configuration as code. Then we will talk about ongoing development and discuss other topics. If you have any items to discuss today, just please put them on the agenda. For example, I would like to discuss configuration as code special interest group. Let's get to that later. And yeah, we can add more items that needed. So let's go. For the good news, did we have any releases of configuration as code related stuff? Yeah, there was one release. That's called plug-in. Would you like to talk about it, Tim? So we got two requests. One was to support label items, which are elements on nodes, I believe. So the properties that can be added to nodes. There's not many public implementations as far as I know. Right, there are still some and some are important. For example, I'm a proud maintainer of the label verify plugin. And this plugin just allows to verify labels so that they are set properly on your agents. And this plugin actually uses label properties. And before this release, it wasn't possible to configure these checks using project task. And have you checked that it works now or? Haven't checked yet, but I'm definitely going to do so because I have a new project about updating my demo for them to go to Nascote and this plugin is used there. Cool. So that was that. It's attributed by Vareval. And then there was another one where we had support for SimLink files, but we didn't have support for SimLink directories. So the code's just not a very small change, I think, to allow SimLink directories. That's cool. And the documentation was fixed because we did actually support SimLink's, but we just didn't support directories. So the documentation was actually wrong. Yeah, but from other things, it should help with supporting docket volumes. And some implementations that they come as symbolically directories, which is a nightmare to handle, but yeah, this is a state. So yeah, nice to see that. And we also had update to plugin.com for the Xero. So I guess there is no changes there which immediately input Jenkins users, except the fact that now the build flow will be more stable. And then Monday we had a presentation by James North where he summarized changes there. So thanks, Tim, for updating. Cool. So regarding plugin compatibility, yes, we had a few releases which are loosely related to Jenkins configuration as code. So one thing which is not worth it is extended read permission. So there we had support for agent extended read permission. It's a kind of hidden feature in the Jenkins code. And thanks to Tim, this feature is going to become less hidden in the next week there. But yeah, now this plugin enables that. And once everything is implemented, you will be able to browse agent configurations when this configuration is called, without risk of breaking these configurations. Are there any other releases we know about? Well, no jokes have seemed quite a comprehensive PR to the GitLab plugin. I don't think it's been merged, but... So our question is the plugin, right? GitLab, yeah. Yes, it's failing on one of those tests, but Marky seemed happy with it apart from that. But it seemed like, I think it was, it seemed a lot like an infrastructure issue and not actually in the card, but I'm not having a look too closely. Okay, so yeah. So it's some way not going to develop on the end? Yeah. And there's MISOS plugin as well, which is trying to be fixed. And it might have actually been fixed. Take a look. They don't use GitLab releases. What do they stop changing locally? Yeah, just the last pull request. The last merged one? Yeah. I'm going to throw some steam on it. Sure, framework ID set once. Yeah, I'm not sure if that fixes the whole issue, but there's some change, some refactoring needed of the plugin. The configuration increased clocking instances twice. Yeah. It's unfortunate. I'm not sure who currently maintains the MISOS plugin. He was asking, he's been in GitLab. He was asking GitLab for help for a bit and then we have to get our issues. So yeah, if needed, I'm ready to help though. You're right now with the hard quest. I miss a lot of communications. Yeah, maybe we could just have RC bot commands for that. So that nobody really needs to handle this stuff. Separate topic. Okay. So any other releases we know about? That's another thing. Okay. Okay. So yeah, let's move on. Another news that yesterday we've had Jenkins online meetup where Nikolai from Afecote Pragma presented how to migrate from Fistel jobs to pipeline, which job they said. And of course, JCASC was a part of the equation in the demos, et cetera. So if you're interested, you can find the meetup here and we'll publish a recording in a few hours. So you will be able to find it here as well. So, but it's mostly follow up is to the previous demo configuration as part of Jenkins for Kubernetes, which includes a lot of JCASC things. So about other news, the next week we have UI UX Hackfest. We already discussed with the previous project meeting and now this Hackfest became a bit more real. So we have a number of projects and tracks published and there are some projects which are directly related to Jenkins configuration as code. For example, there is a system read permission. So improving the experience of configuration as code users. So it's basically a job two to four being driven by a team and also other is related to that. I guess our plan is so that we will be lending cool requests and Jenkins core right before the Hackfest. And at the Hackfest, we can use it as an opportunity for crowd testing and maybe for additional fixes. Is it right team? Yeah. And right now we have a number. Oh, we don't have issues. No, none of the plugins we've had have used issues. It's just just been poor request so far. So, yeah, I will probably update the text a bit to highlight that this program basically these two things are issues to each other. Yeah. I think what we do need there is we might need some more issues. If anyone wants to have a look at some plugins that would be useful, that would be quite helpful. Yeah, I agree with that. And yeah, so what I'm going to do today is basically do something like that crowd testing is needed as well. I will probably move it to come at friendly areas or just merge this meets somehow. And let's see whether we could facilitate contributors. And my understanding that we also have a session on next Tuesday specifically to talk about system read permission, et cetera. And I've had a question to your team. How would you like to handle that? Would it be online meetup? So a lot of user focused content or would it be a developer meetup from your point of view? I assume it would be developer focused because it was for HackFest. Yeah. Well, we can still do a demo in the beginning and another thing. Yeah, I mean, I was still covered the demo but it would have more technical information than would go into a user meetup. So it was still covered the, like what it is, which what it is and demo and questions and whatnot but also be more carried and probably I was planning to modify a plugin during the demo as well. Yeah, that's great. So yeah, we'll publish it accordingly today. And if you're interested to participate in these stories, please feel free to join the HackFest. It's open, everyone is welcome. You can also find a full list of sessions here. Well, this list is not really full, but we are getting there. So there will be a bunch of events. Okay, anything else about the HackFest? Any other stories related to configuration as code? I was thinking about highlighting documentation a bit because it's not only about features, we also want to focus on user documentation. But I'm not sure how much of the things we have left to be done after HackFest. During HackFest, we improved the G-Class documentation. There is also a bunch of demos now. Thanks to Victor Martinez, we're really good at the things. I think part of the issue now is discoverability. There's people we have to find. There's the right documentation and Yeah, there was a couple of questions in HackFest recently about whether it could be published or whether it belongs on Jenkins.io or somewhere else and just beat a plug-in documentation and just because on the plug-in site, it just has like the main page and there's no way of searching. And GitHub documentation search is not the best sort of thing. Yeah, so we had pretty much similar discussion about pipeline recently and about extension points recently. So what I was thinking about is actually adding more tabs to the website. So for example, let's take configuration as code plugin. We could have a number of tabs here. So this is the main landing. Then we could have another tab which is just about configuration as code which would show samples, et cetera. And we could inject metadata for that. And we could do the same, for example, for pipeline templates so that everything could be discovered. And yeah, it would need some additional magic, how to do metadata together. But for example, we already have an engine for markdown pages. So we could just specify reference, for example, to this demo folder or to any other arbitrary location. So yeah, we probably want the docs folder and the demos folder, I think. Yeah, so this is the most straightforward way just to reference to this markdown page. And then we can use our static generator in order to have additional tab which basically just this page. We do something like for pipeline. If I recall correctly, for pipeline syntax, there is an automatic generation of... This is exactly what we were discussing last Friday. So we had a pipeline authoring sit meeting. Just a second. Yeah, I definitely don't want to show this side. Jenkins, are you a doc? Okay, so here. Yeah, I need one. Yeah, here we have a bunch of things and we have pipeline syntax reference and pipeline steps reference. These things are documented. And again, you can map them to plugins. So for example, we could just put this information right on the plugin side theoretically or do redirects. But there is one weakness which we commonly receive as user feedback that there is no examples. So we were discussing whether we could have an engine which somehow pulls examples from somewhere like Java doc publishes them on this side, but technically could be all done on the plugin side. So, but it definitely makes sense to try it. So if somebody wants to work on the plugin side, yeah, probably I could invite Gary to present a bit about its internals. I think what I will do, I will create a project for that just to highlight that in the scope of documentation. Discussion, we have the agent pipeline documentation and here we will set configuration as code. And the documentation in general because it's got a few pages now, that's not on the main page and people struggle to find it sometimes. But yeah, all sub pages should be linked from the master view, right? Okay, now I understand why it's not discoverable. So we definitely need to move this section to the top and we need to ensure that all items are there, right? Yeah, okay. That picture is massive. Okay, well, it's still better than it was before the hard tuber first, but yeah. And being able to work in the page, so for example, move the documentation. Yeah, I think that the plugin developers and requirements stops needs a bit of work as well. It's two semi-duplicated dots, but semi-not. Yeah, it's probably not linked. You probably have to browse the repo. Yeah, right. Which is another issue. Monkey. Yeah, Linux pages. Okay, it's definitely something we could put on the agenda. Especially, yeah, it would be really nice because apparently we have problems in the Google season of dogs because we are running out of issues after there were a lot of contributors starting. Yeah, creating new documentation issues would be definitely great. I thought we had like 60 issues. Surely they haven't finished them all yet. Well, many of them have been already taken. Some of them have been a lot of times later after the triage. Yeah, now we have 71, but for many, there are pull requests submitted and other things. So at least this shrink can be there. I think this was just generated off the top dots. I'm sure there's plenty more. Yeah, right. So that's why you didn't have to ask for it. As they drop off the top dots list, others will pop up as well. Yeah. So we have some items there, but I'm happy to at the configurations code directly. Why not? Yeah, there could possibly be some website rework in the advanced topics as well. The layout is not the nicest in the guides now. It will be nice. So we have a better navigation and content. But yeah, so if you have any ideas how we could improve it, please just submit the issues. I try to fix layouts here and there sometimes, but definitely it would benefit from more contributors. Yeah, me too. I've done small patches, but it's just, needs a bit of design, I think. Yeah. We had one interpretation code for us at October 1st, who proposed to entirely redesign Stalin for documentation. There was some good proof of form accepted, but then we basically dropped the ball on there. So we had a follow-up, but we didn't push the project further. So maybe it's a good opportunity to restore this discussion. I will talk to Mark. But at least now we have user navigation somewhat. So this page is usable, well, except mobile devices. Okay. So if you have anything else in your mind, just put it in the doc and you'll be happy to refactor for that and present that during the project. Okay. Anything else about the hackfest before we move on? Yeah. So ongoing development. Tim, would you like to summarize the system read permission, Stalin? Yeah. So system read and agent extended read approved by Daniel yesterday. So I've already requested reviews just because I made quite a few changes with Daniel. But if anyone wants to just take another look at it, I think we should be able to get it in this weekly, but it should be good. If we can get another one or two reviews. Yeah. So the question about that, so this is the current schedule. We will have the release on Monday. Technically we have all tooling and we could expedite it. So for example, do the release on trading, assuming that we get enough reviews. So do you think it's important to have it before the hackfest starts or are you finding this Monday? I would assume that people would be developing off of master. So it wouldn't matter on released versions. Then they could always build it if they were working on a plugin. That requires that. Yeah. Moreover, we have, we need to go Tuesday. So but Tuesday should be out unless something terrible goes. Yeah. Well, Mark was talking about moving it to Tuesday, but I think, I think people can just like, so any core development will be done on master and any plugin development, they can just build it. And you can help that if we need to. Yeah. So yeah, it just, it's minor there a bit, but yeah, I'll probably follow up there. That shouldn't have been quite a few changes since you last looked at it. So you suggest to test and get, right? If you want to. So Daniel's done quite a lot of testing, but. Okay. I was also wondering about enabling extended by default for cloud agents, but it's definitely an improvement for the next stages. So it will likely require some additional magic to make it happen. Yeah. Yeah, it could be possible. All right now, our problem that we cannot really distinguish between a single short agents, provision from the cloud and about more permanent agents. So it's a little bit worse, some design work to make it happen, but in principle, it could be doable. Yeah, I'm trying to look at adding global reef roles in places, if that's possible, just so that people who don't care, they are happy for everyone to see everything and they can just give out that global reef role without having to know what are the reef roles that they should be adding. And I added the folder or the plug into for quite a few UX improvements. So I think that looks to be the best plug-in at least from the UI side. Okay. So, yeah, for your UX hack first, we discussed that it's done. So also extended threat permission is done and block post is all of this stitched and you've got enough feedback, right? I think so. Just check. Okay. So, it's here, it's on the Jenkins announcement. And there was a couple of documentation rework PRs for it as well. So it was quite empty before and there was a bug in the documentation. Yeah. And yeah, I guess the pull request for the documentation has been merged. I mean, the developer. Yeah, I decoupled them. I had it in the same one initially like that. So it's in managing or in the developer guide. In the developer guide, in the views section. Okay. So our developer documentation, the mitigation still needs a lot of improvements. But yeah. So yeah, it's there. Thanks for that. So yeah, I think we have a good foundation for the hack first to start working on that. And yeah, we'll talk to Mark. I think we can target Monday for the next release. So Monday we also push out to the blog post. You can reference additional session from these blog posts and yeah. Yeah. Actually, yeah, cause the blog post has the mention of it being a featured project. So I was hoping to get it into this week, like this weekly, but Mr. to have the blog post out a week before fact first. Well, that's the result of the release automation. So I'm a bit hesitant of pushing out the release tomorrow because everybody will be on holiday. But on Friday, we could technically push it out if it helps. I don't mind. So for me, it's more important to deliver features and to highlight features and to follow an exact schedule for the week right now. Especially since we have all the automation in place, it's not the color head. No, it's just, it's just clicking two buttons. Also a few other buttons. For example, well, we need change log, we need the app releases, but yeah. Still, it's a lot of like work which we should find the automate. Oh yeah. If we can get rid of those steps, it's just down to two buttons. Yeah, let's see. Okay. I will follow up with Mark and Oliver. Okay. So let's go next. A bill of materials. So the PCT bug was fixed and that got us further. We're stuck with some weird issue in the CloudBees folder plugin. I don't think that that PR actually fixes it, but it does modernize it. But it helps. Yeah. Incompletability? No, it was overriding the Maven HPI plugin and my idea was complaining because not all required properties weren't set. Yeah. So it's a follow up after Java 11 compatibility effort because right now we require Java compatibility to be specifically specified on Maven HPI. Yeah. But like in POM, that's all the magic. Yeah. Yeah. So it was a part of a POM cleanup, really. Which makes a little sense. So the next obstacle there is, what? So it's two tests related to the folder health configuration on the Bompier. I can reproduce it. Not very easily to reproduce it in the actual plugin, but from PCT you can reproduce it. I think with the mega war. So I think if you define the path to the war as the mega war, you can reproduce it. Yeah. So we think that the mega war option, classic Jenkins test found us and real Jenkins, all of them are different class loading behavior. Yeah. And other stuff. So some bugs are really tricky to produce. It's not picking out the same number of health metrics. So I think it's supposed to be two health metrics, but it's only finding one for some reason. I haven't had enough time to just sit there and fight it. No, maybe it's just the race condition of consumption in the test, because... Yeah. So it works on master. So it works without the JCAS bump. So I'm guessing it's some sort of... It could be a transit dependency influencing it in some way, but I don't know. So yeah, anyway, nice to see. So down the bottom, there should be instructions on reproducing it. So just run that. And then it will output the maven command it's using, and you can run the maven command directly rather than running it through PCT, which is easier to... You can modify it locally as well. Yeah. There was something. No, no, it's not that. Yeah. But yeah, so yeah, thanks for pushing it forward. Hopefully we will get it over the line. But PCT is difficult. Sorry, our bomb is difficult to maintain right now. So we need to think how we could improve that. Maybe this plug-in the bomb for the zero, setting additional requirements or whatever. Right now, any update of plug-in is a uphill battle. Even without the JCAS test harness and other things like that. Most of them are fine. So most plug-in updates go smoothly because there should only be two open PRs on bomb, which is this and something else. Yeah. A couple more came in, but they're probably... Yeah, so yeah, this is a new baseline. This is a program. So there's three no and broken plus new baseline. Yeah, so for the new baseline, we still have four weeks to figure it out. And there is no pressure to release it immediately, so we will get there. Yeah, it's just nice to have to catch any issues early. Okay, so should we move on? Okay, so yeah, Jenkins iOS code, there's no progress there. No, no, we're still waiting for the AWS site to be sorted out, which is kind of waiting for the Azure site to be sorted out so that we get that done and can move on to the AWS site. And that's getting stuck between multiple time zones mostly. And just contacting like three or four people with limited availability. Yeah, so right now we're still going to increase ownership transfer and other things. So hopefully we will get there eventually. Okay, so. So, so see a crit encryption, no progress, still intention to do that. Yeah, I might return to that after the hack first, but I'm not sure. I decided to firstly start with Jenkins Fowler Runner technical depth cleanup. I made some progress there, but yeah, secrets is still something I would like to deliver. And for configuration, for configurator API, yeah, maybe, yeah, because we did all the updates. In principle, it's still good to have, but no immediate need. So anything else with regards to ongoing development? Antonio, anything from you? Nope, okay. So, yeah, then let's just close down. We have four minutes left anyway. So switching to a new Zoom account. Yeah, it has been done, just five minutes before the meeting, but yeah, it's completed. So, yeah, now we use Jenkins CDF Zoom, I also shared the credentials we've seen so that I'm not the single person bottleneck for these meetings. And yeah, we can keep running them. So the next item is about configuration, it's called SIG in Jenkins. So just to share some context, we have been discussing moving to the platform specialist group several months ago, but after the discussions, we actually see that the platform SIG agenda is already really packed. And we had a discussion about splitting platform SIG 2.2. One is distributions and packaging. Another one is core features or something like that. So Jcast would in principle match the core features, but at the same time, we could just say that, okay, we have regular meetings, we have whatever, let's call it a special interest group. So that configuration is called proceeds more or less separately. What do you think about that? I'm happy with keeping it separately. The platform specialist group is already quite big and there's quite a lot going on there. And this is not really related to configuration as current, I don't think, other than they want to use some of the features possibly like in the Docker images, but... Yeah, well, platform, yeah, so that's why we were talking about core features because yeah, Jcast originally started as a part of cloud native special interest group and it's still listed there or until I rework that because yesterday we had a meeting and we discussed the scope of the projects. They explicitly said that I don't consider configuration as code as cloud native feature per se. It's just a must have requirement for any environment. It's a core feature of Jenkins for me. So I would rather be moving it and having a special seek would be a preferable option for me, especially since we don't really need to change anything. Because we have these meetings. Maybe there will be some additional influx of technologies like set eventual discussions of integrations with Helen, with Jenkins Kubernetes separated with other things. But well, it's good in general to have it and we can use these meetings for such discussions. Makes sense. Mm-hmm. So, yeah. Then I will probably start doing some foundation work for that. But yeah, I just wanted too much special interest groups and sub-projects in some way anyway. So I think it will be a good thing to do. Cool, I've got to go now. But thanks for the start, like, in Antonio. Yeah, thanks all. And I think we can just close to the meeting. Oh, I see, okay. So, yeah, thanks everyone. Thank you, bye. Bye.