 Oh, hey, sorry guys. I was on mute. Alex, you on the call? Yep, I'm here. Okay. Thank you. And I assume Mark, that's you. Mark, you're there. Yeah, I'm here. Okay. I love it when I have the wrong Google account. Okay. Jim Curtis. Yep, I'm here. Whoops. I want to make people typing once. Curtis. Joe Sherman. Yes, I'm here. Thank you. Klaus, are you there? Yes, I'm here. Louie? Yep, I'm here. Okay, hold on a minute. I'm typing over people again. Okay, I heard Klaus. Let me start back up top. You on, are you there? Yep, I'm here. Austin, are you there? Hi, Doug. Hi, everyone. I'm here. Hello. Clemens? Yes. Hello. All right. Dan Barker. Yep, I'm here. All right. What about Eric? Yep, so I'm here. All right. My window is getting too small. Holy moly, we've got a lot of people so far. Excuse me. You're on either. Yes, you're on easier. Okay. Iran? E-R-A-N-D? Who is that? Hey, Iran from Iguazu is here as well. I'll probably drop in the middle of the call. Okay. Okay. Thomas, are you there? Yeah, I'm here. All right. What about Chris Porchers? Yep, I'm here. Okay. I'm here. Michael P. Yeah, that's Michael Payne. I'm here. Thanks. Thank you. Um, Steve. I'm here. Thank you. William. William, are you there? Okay. John Mitchell, are you there? John Mitchell. Okay. What about William? Are you there yet? Baram. Yep, I am here. Excellent. David Lyle. Yes, I'm here. Thank you. Your last name now. Thank you. John Mitchell. Do you see each other? William. It sounds like you're still having issues. Or it looks like you're having issues. So John, now we can't hear you. Yeah, John, we can't hear you. I'll work you as there since you're obviously at least somewhere around there. But if you can speak, that'd be nice. Um, let's see who else. Who's on 9256, 990277. Oh, that's you. Thank you. All right. Are you there? I am here. Hello. Is there anybody I missed? This is Rachel. Hi, Rachel. Is Sarah with you? No, not right now. Okay. I think that might be everybody except William. So William, if you are on the call, we cannot hear you. Johnson is going to dial back in. Okay, let's keep you low. Oh, we are actually at time. Hold on a minute. Let me go ahead and share my screen. Okay. Yep. Okay. I came on zoom is. Not showing me the participants. I apologize. I just came out of a different meeting and. I'm a little flustered trying to get organized here. All right, let's go ahead and jump right into it. We'll finish up roll call later. Um, AIs the one that stood out to me that we need to definitely tackle is Austin. Um, Do you have what you need for getting permission to mention people's company's name? Yes, I was going to bring that up on this call. Um, I was thinking it could be as simple as. We, I just acknowledge all the people who are on the contributors list right now. And this isn't, and I'm going to characterize it as not an official endorsement. Um, but just that we're, we're voluntarily collaborating on this effort. Um, so I think if that sounds good with everyone, I'd like to just do that. And because they already added their names to that contributors list, then I figured that they feel comfortable. Um, Being known as a, as a contributor to this project. What is it? It wants to be stronger. I think, but you've proposed there sounds reasonable to me, but what other people think are going with only names or also logos? Um, I was going to go, I was going to do names and logos. Um, people included in that contributors list. They included their projects and their companies in there. I believe that's because they want those to be known as contributing to this effort. Is there any concern or objection to doing it that way? Okay. It sounds like you got permission. Anything else you need, Austin? I think that's it. All right. Do you need logos? Um, I could, I can fetch them. Um, and I'll, and I'll get logos for the company as well as their, their respective projects that they listed on there. Um, okay. You sound concerned, Clemens. No, it's just, I, uh, it happens that people use the wrong ones. So, um, you can use, you can use our logo as long as it's the right one that's kind of the constraint. I'll, I'll send, I'll send Austin something. Okay. Yeah. So if you have a concern, if you, if you're concerned that Austin might grab the wrong one from the, from the worldwide web, please. Yeah. We have, we have a relatively new, uh, uh, Azure logo and as, and we might go and decide, we want to have a, a different logo. So I'll send something to us. Cool. And you know what, what would be more helpful in the future is just if maybe in that collaborators or contributors list, people can add an artwork there somewhere potentially. Cause we might use, we might just need to centralize all that cause we're probably going to copy a lot of that, put it on the cloud events website at some point and get, we want those logos on that website too. Then, then, then I suggest you make a rule that says, this is how big they need to be. Yeah. That's a rat hole right there. In the interim, if you, if you feel strongly that I need to use this specific logo, um, just ping me on, on Slack, send it to me on Slack. I've got a design background. So I guarantee all of you, I'm going to make you look good. All right. Okay. Um, okay. So, Fudge. He's taking over my mouse. All right. Thank you. Um, moving forward then just to remind everybody should be obvious. We are not going to have a phone call next week. Cause most of us will probably be at coupon. However, we will have an official meeting on Wednesday. Eight 20 PM, uh, Copenhagen time at the conference itself. And the assumption there is, um, as long as we have a, uh, a connection back to zoom, then it will be an official meeting. If we do not have a connection back to zoom, then it's unfair for people who aren't there. So we should not make it an official meeting. That's, I believe what we agreed to in a previous phone call. Is there any concern or disagreement with that? Okay. Okay. Okay. That case, um, and prep for the meetings. I did start to fill out. The Google doc for topics for the birds with feather. And for the face to face. Um, I would actually, I'm not sure how much time I want to spend on this call, unless there's a particular issue on there that people think really should not be there. Um, I figured for the face to face meeting, it's actually going to be more like a regular meeting. So I was wondering if we could just have the normal agenda doc appear. Or normal. This topic's appearing or agenda doc is normal. For the birds of feather session though, I was wondering what you guys thought in terms of how he wanted to organize that. Do we want to actually come up with a. A definitive sort of. List of topics to bring up there in case audience members don't have questions for us. Do you want to play it more by ear? How do people want to work that? The less agenda we have, the more interactive it can get. Right? Yeah. I was, I was going to play it by ear, but yeah, I'm not sure how comfortable people feel with that. I figure we have enough people on this phone call who like to talk that that probably isn't an issue to fill the time. Definitely not. I think that sounds, I think that sounds good. One note is that, um, I'm not going to talk about cloud events. My talk is until Friday. Uh, so it'll be after this birds of a feather session. Um, I don't know who else will be mentioned in cloud events and whatnot, but my concern is that the word won't be out. Before this meeting and there may not be a lot of people that show up as a result. So perhaps we could, I'm not sure how to fix that, but we need to get an announcement somewhere, um, to encourage people to show up. I wonder if this, I'm assuming Dan con is going to have. Main stage time at some point. I'm wondering if we could get him or somebody else to casually talk about it. I think that would be a great way to do it. Yeah. Oh, it's trash traffic. I believe it's their interest. I think they mentioned a serverless working group quite a bit. The last time. Yeah. So tell you what, I'll take the AI to reach out to Dan. Um, So he did this last time actually at the last cloud native con. Yeah. I think it would be in their best interest to do that as well. So I'll take the AI to do that. Okay. Anything else? Actually. Okay. Anything else relative to the face to face or the birds of a feather session that we need to think about in advance. Okay. Uh, please do add more topics to the birds of a feather session. If you can think of them just so we have. Something on paper. Um, in advance. Although I'm sure we can bring it if we need to. So we'll have the, um, the session, the, the link, um, on the first session or the second session. I'm sorry. We'll have what on the first session. Uh, be able to join remotely. Oh, yeah. Uh, the, the, the joining remotely will be for the official face to face. I guess we could try to do the remote during the birds of a feather. Um, I don't see why that couldn't work. So hold on. Make a note of that. Cause if we can do it, we probably should. Oops. And it's a reminder of myself. Great. Thank you. Yep. All right. Anything else. All right. Um, Austin or Mark, would you guys like to bring everybody at the date on the interop event stuff? I would. I'd like to. Can we discuss something else for five minutes? I'm just realizing I'm in the wrong conference room. I'm getting kicked out. I got to switch. Sure. Um, oh, I'm sorry. You want to say, okay, yeah, we'll wait five minutes. Um, tell you what. Let's pick off an easy PR then. That's always fun. Actually, hold on. Um, aside from the interop event, is there anything relative to coupon that people think need to talk about anything logistic wise or anything like that? Okay. Not. I have one quick comment. I'm already to go. Yeah. If I have some spare time. I'd like to do just a little bit of. Design improvements. Uh, to our website. And maybe to some of our. Um, logo assets. This is, this is, I'm not sure if I'm going to be able to pull this off. Um, but I think there's. Uh, I could do some. Um, some improvements that would enhance the user experience. Okay. Are you looking for some sort of permission or help or just say, this is just an FYI. Um, I was just putting it out there. This may come kind of as a last minute PR. And I'm just wondering. If, if that could cause any potential problems. Okay. Anybody have any concerns with that? So you're looking at making. So the improvement, you are going to do that through a PR. Is that right? Correct. Yes. Okay. Yeah. Yeah. Which we should actually vote on. Um, so you know what? I don't think if this is, I don't think this is a good idea anymore. It's kind of done through, through all of us. And last thing I need is, is more action items. So nevermind. Forget all of that. And if you want to chat about, um, this. Interoperability demo. Uh, I'm ready when you are done. Okay. Go for it. Awesome. Cool. Um, so I'm giving a talk at cloud native con. It's, it's, it's, it's, it's, it's, it's, it's, it's, it's, it's, it's, it's, it's, it's, it's, it's, it's, it's, it's, it's, it's, it's, it's, it's, it's, it's cool. If we're talking a talk at cloud native con, it's just discussing serverless, and the event driven, uh, future. The goals of the talk are, I want to introduce cloud events and announce this initial version, uh, communicate the y and use cases as cloud events, illustrate what will be possible in the future, with it, and make it real for the audience by showing off the neat demo. Um, and also, who's helped us get to where we are today. But thematically, the talk and especially the demo is gonna focus on interoperability between environments. And the way we're going to do this right now is we have events being published currently from multiple sources. So I've rigged up a S3 event publisher that simply detects when an image is uploaded to S3, converts that to a S3 object created cloud event and then publishes it to any functions as a service that they wanna subscribe to it. And Clemens has rigged up the same thing, but on Azure Storage. And basically whenever something is uploaded to Azure Storage, it is converted to an Azure Storage cloud event and then published to any fast subscribers that wanna listen to it. So right now we have two publishers, which is great, they're both publishing these events. And we're working with a few people who are interested to create some FAS functions to do something with those events. And these FAS functions are simply going to do some processing of the image that was uploaded and then post the results to Twitter because we felt that a cool solution to the observability problem of how to understand what the act just happened would be if we simply just dumped results of the subscriber functions into a Twitter feed. And that'll be kind of our event log and there's a bit of element of kind of virality incorporated in that because it's through Twitter, which could be kind of cool. So currently the status is we've got two events coming from two different publishers, that's Azure and AWS. They're both publishing a kind of a different type of cloud event, AWS is publishing a cloud event for AWS S3 object created. The Azure one is publishing a cloud event for Azure storage object created. And there's a few people who've written FAS functions already, I think so far that's Mark Peek. Mark, you've written a function, I think, right? Yeah, I'm running it through our dispatch framework and then publishing out to a dispatch framework demo and I'll switch it over to the cloud events feed at some point. Cool, okay. So we have something from VMware, which is awesome. Doug has written a function as well, right Doug? Yep, running an IBM cloud functions, yep. Cool, Kathy, I know you wanna participate. Louis, I think you're working on something as well. Yeah, but together we work with something and essentially we're gonna be a FAS function that will receive something from the event gateway and post to Twitter. Yeah, so that event will go through the Huawei function stage serverless platform and then invoker function that will post something to the Twitter, yeah. Fantastic, all you need to have to integrate into the demo is simply have a FAS function that exposes a publicly accessible HTTP endpoint that can receive a post request and the cloud event is gonna be in the request body. So it's fantastic that we have a lot of people who wanna integrate. I think the only thing we should chat about now is we have these two different events coming from these two different platforms. This means that people, and in the demo I'd love to actually run through just, hey, I'm gonna upload something to AWS and look at all these functions that just reacted to it and posted in the Twitter feed and hey, I'm gonna upload something now to Azure Storage and look at all these functions that just reacted to it. The only thing I think that might make this whole scenario more convenient is right now if people wanna integrate, they have to write their functions to handle both the Azure Storage event as well as the AWS S3 event which isn't honestly that much code. I wanted to suggest the idea that maybe what comes from Azure and what comes from AWS is a common storage created event. It's like an abstraction. If it can't be, because we haven't standardized that bit. So we should not pretend that we have, because we haven't. Sure, and it's not, the intention wasn't to say, oh, and look at this new standard event that we've also announced. It was just a simplicity hack for now. Yeah, I think we already made things a lot simpler than they were between across AWS and Azure, but we should, there's enough differences between S3 and Azure Storage that I would not necessarily take a step further. Hey, Austin. Yes. This is Rob Dolan from Oracle. I can talk to you offline about it, but I wanna make sure that we're also part of the demo. Okay, fantastic. I sent you a message on CNCF Slack as well so we can connect. Yeah, stay with Thomas here from Google. We've got a couple of aspects of the demo. Like we might be able to contribute one or more event providers as well as an event broker. So we do have a Slack channel. Just ping one of us and we'll have you guys join, because then we could have offline chats about how to hook everything up. Yeah, Austin. I just sent him on to the Cloud Events demo channel. Austin, one other point. I thought that we agreed that Azure would be like a Blob Store and S3 would be more like a text processing, like sentiment analysis or something. So are now both gonna be images? Yes, you're right. We discussed that. I think right now we should just focus on one use case just to keep it simple and we should go with images. Okay, and can we get a link to a configured repository that stores the images so we can do the testing? Yeah, testing this is a bit hard, certainly. I've written up some ways for the AWS S3 event. I think Clements has done something similar, but I think we should figure this out in that private Slack channel. We can simplify the event, we can simulate. We just need the Blob Store to store several pictures. We can just verify that we have access to the bucket and all that. That's all done. Like I have an Azure Logic app that grabs an image from one of my Flickr sets every five minutes right now just because I don't wanna trigger Twitter's robot detection and then goes and posts to one of the accounts. We were just hanging out together on Slack for the last one and a half hours and just made it all pluck together. So adding more is not a big, will not be a big deal and that function runs forever now. So as soon as I have a URL, I can go and hook you in and then you'll get pushed to and I can also reduce the frequency to less than five minutes. But there's a randomizer in there, so which means if I set this to a minute, then everybody gets called every five or six minutes depending on how many URLs I have. Right now I have three targets hooked up. So one thing that I'm not sure about though is the Twitter side of it. Are we all tweeting under separate accounts or are we gonna use that shared account that Mark stood up? So I would be, I think having separate accounts and then putting them into one timeline for the demo is better than just one account because it surfaces that you're actually talking to different systems. Yeah, plus Twitter has really aggressive rate limits and I'd hate to have us just demo fail because the combination of all the participants triggered that. Yeah, exactly. Okay, so I readily admit I am a Twitter neophyte. So how do we create a timeline for this and what's the proper way to make that happen? We use the hashtag. Yes. Is that all it is? Just create a hashtag. What's the hashtag? No, we can, instead of a hashtag use a Twitter list. We can make a list, yes. So Twitter has lists and I already started one but with the wrong account and we can basically just share up the list and then you subscribe to the list and everybody can see it or you can just click on the list and you see the entire timeline of those accounts. Okay, so Clemens can you take the action item to set up that list and send out information that will be very useful. Since Austin is giving the talk, he needs it on the list or doesn't need to on the list? That might be the easiest thing because... As one demo caution, is this a bucket that the audience members will have access to? No. The way I set it up on S3 and Clemens can speak to the Azure Storage bucket is simply I only have access to upload to it but everybody has access to read from it. Yeah, that's the same thing. I just wanna make sure that it's very popular to embarrass a presenter by forcing something embarrassing to go up on the Twitter feed on camera. We've been there. Yeah. But that makes this not for fun. I'm back, Thomas. I mean, if anyone wants to... It's so close to it, right? If anyone wants an embarrassing read, look up on the Coca-Cola. So basically, you just took away all of our fun, Thomas. Thank you very much. I appreciate that. So I just got a ping from Chad Aramura from the FM team. One of the interesting things that he has is image recognition of license plates on FM. So if we have images of license plates, we could do something with integrating image recognition. That's actually what I'm doing on our side, Rob, as well, because if not just license plates, is it any picture Watson will tell you what's in it? So yeah, that's the kind of stuff that we're all doing. I like that suggestion. I also believe in knowing your audience and speaking to them. And I've got an alternative proposal that to help clarify our focus and the use case that we're gonna show off. I think we should upload an image of Dan Kahn, the executive director of the CNCF and do something fun with his headshot. I think that's a great idea. But I also know Dan kind of socially and think he would get a kick out of it. What do you think, Chris? I think he'll be fine with it. I also suggested having sort of an ambiguous picture and see which one interprets it correctly between Watson and TensorFlow and Azure, you know? Yeah, so I've currently hooked up pictures from the Henry Dorley Zoo in Omaha and those is what I'm pushing. And Watson is doing a really good job at it, actually. Well, I think we could just, I think people can upload almost whatever they want, but as you're running through it in your actual demo itself, Austin, you can obviously upload whatever you want since it's your demo. But Clemens has this thing that fires off things every now and then anyway, so people can watch it throughout the day. That's right, okay. So in the demo, I think I'm gonna upload the image of Dan. I think it'll be fun. I think the audience will appreciate it at C at Cloud Native Con. Your functions, it sounds like can do anything with any image, but it's just a matter of doing something useful with it and printing it to Twitter. That's where all of you have to get creative, I guess. Yep. Okay, relative to the demo, we have the private Slack channel. So everybody should be able to join or ping somebody to get added to it so we can work offline. Austin, is there anything else you need in preparation for your session? I still feel like helping people get integrated into this thing could be a bit improved. Clemens, you have your Azure Bridge GitHub repo, right? But this is, let's see, this looks like it's kind of Azure focused. I'm wondering if, I also have just a cloud events demo repo. I think I'm going to, and in this repo I've listed, I've listed the AWS S3 event so you can see exactly what shape it is. And I think I'm gonna just grab the Azure Storage event and I'll also put it in here. So all the FAZ integrators can look at the event schema and just, they'll have one place to look at both these schemas. So I'm gonna do that and post it in Slack right after this, I think. Yeah, I just put all the code that I needed to make this work from both sides in that one repo. So I have kind of the production side which is fetch from Flickr and then the, or pick something from Flickr and then the upload to storage that's the one half and that triggers then the event translator and I have the hour effectively Twitter version that's all sitting in that one repo. And then what I haven't uploaded yet is the logic app thing which wires those things up but I posted on the private channel, I posted a picture of how that looks. That's basically just doing a schedule. I set this to five minutes. It calls the first function to pick a file and then it calls the second function to upload that file to the storage account. So that's just purely the publishing, the application level publishing thing that then goes and actually causes the event flow to start. Cool. Clemens, can you send me an example schema of that event and I'll put it in my cloud events demo repo right after this and then I'll fetch that from the logs or you can have that. Cool. And in the chat channel in this Zoom conversation I just pasted the repo that I have right now it exposes the S3 cloud events schema. So it's gonna look exactly like that when you receive it in your FAS function. I'll update it later today with Clemens's Azure one. And just to clarify again, if you wanna integrate create a FAS function that is accessible via HTTP endpoint must be public and you should design it to receive both S3 events and the upcoming Azure cloud event as well. And it's up to you to do something interesting with the image that's going to be contained in these events and post it to Twitter. So Austin, should we post our URI or the endpoint to the Slack channel? Yeah, I think so for now. Yeah, so I think it's super important everyone who wants to participate join the cloud events channel tell Doug that you wanna participate. He'll invite you to the private cloud events demo channel that we have going. Yeah. All right. Anything else relative to the demo or Austin session? All right. In that case, last chance. Anything relative to CNCF coupon that we need to discuss for logistics? Press. Press, hmm. What would you like to say about that? It would be great if we had some. You're so demanding. Yeah, I'm from Hollywood. Do we have a blog post that's announcing a V0.1? So I did post a blog on Twitter. Yeah, I did post a blog yesterday through IBM, but obviously people should do the same thing through their own companies. Yeah, I didn't see that blog post, Doug, but I think we should have something that comes out right during cloud native con, preferably during the beginning of it so people can start chatting about it while they're there and attending. Chris, is it likely that someone from Linux Foundation PR could take a quick cut at something and get it up for one of the days during cloud native con? Yeah, I'll talk to Natasha. We just, let me think about it a little bit. It shouldn't be an issue. Great. All right, cool. Thank you, Chris. Anything else? All right. In that case, let's jump into PRs and stuff. Clemens, you're up first with definition of context. What was that for? Nothing, it just goes back into the abstract territory and I've been in concrete territory for the longest time. And I haven't looked at this for a long time. Well, it seems to be not controversial for whatever it's worth. Yeah, I think what I did here is I mostly made it refer to the stuff around before it. So the notion of occurrence and the data. Yeah, basically saying the context is difficult with these definitions. The context data is setting the event that you're sending into context is giving you more information around this. All right, so obviously the text on the screen is not a whole lot. Hopefully everybody's had a chance to read it. Is there any questions? Or are there any questions or concerns with this? Any objection to adopting this? Okay, I figured that'd be easy. Thank you guys. Gosh, I can't like today. Sarah's not on the call, but let's see, I don't. She fixed this one up. So I think it's meant to be. Yeah, I tend to agree. So, Rachel, do you wanna talk this one or just go on and just jump into it and ask people how they had a chance to look it over? I think, so I don't know if there's more to say about this than we've talked about before. I think the changes that we've talked about last time are now represented here. Yeah, just so you guys know, in case you haven't had a chance to fully read it in the past, it does not touch the spec. It's all about adding additional documentation to the community folder for things like open source projects or demos and stuff like that. It's to sort of beef up the community itself. Does not touch the spec. Are there any questions or concerns about this one? If you get to land this one so that we can now add the content into these pages. Yep, definitely true. All right, with that, is there any objection to accepting it? Excellent, thank you. Clemens, you're up next with definition or clarified content type. Hey, Doug, before we move on from that last one. Yep. How do we prove content going into these pages? I'm assuming just the PR. Okay. Is that acceptable? You want to propose a different process? Well, does it have to go through full review by this committee if we're talking about open source projects and demos? I was actually gonna treat that a little bit more sort of like a, I can't remember the term we used in the past but more like a syntactical thing where as long as we get maybe one or two LGTMs on there and it doesn't look controversial, then I was gonna let it go in if that's okay. Okay, that's the clarification I wanted. I agree with that. Should we document that different process somewhere? I think we actually may, I'll double check that for the call but I think there's something that talks about syntactical things the administrator can do on their own. And I don't think it's clear enough. I'll open a PR to make that clear. Cool. Okay. Anything else relative to that? We could also just basically say that community contributions in general cause we also have a section for presentations, right? Just say that like, hey, if you're contributing just ancillary material about your work in the space, it's in the slider review process. Yeah, I'll work on that. Shouldn't be a big deal. All right, cool. Clemens content type. Let's see. Yay. You wanna talk to this one? Yeah, we had several conversations about the content type and what that actually means. And there was significant confusion around what that means because we have two concepts of content type floating around. One is the content type of the overall event envelope. And then that's the content type of the event data. And so I clarify here that the content type that we carry as an attribute is really declaring what the content type of the data attribute is and also give an example. So you might go and render an event as Jason but that event might carry an XML payload. And so you need to be able to go and declare that. And XML is something that I'm just referencing here, something that is odd and old. But it might quite well also be binary. So if you have an IoT use case and you raise an alarm from a device, that alarm may be expressed in the native, whatever native format the device is using to raise alarms today. And we're cloud eventifying it with the envelope so that everybody can understand it, can flow it. But ultimately if you want to get the details of the alarm, you may have a special decoder to go and get the details of them. There's a billion different lingos obviously that devices speak. So be able to carry that native data. You need to be able to declare it. And that's what that content type is for. So that's the equivalent of the content type in MQTT or the content type that's in MQP. It's really about the data that's being carried. And then there's, we have several in all of our, in all of our transport binding proposals, including the one that we've, the mapping that we already accepted for HDP, we're referring to this field in that way. I think the change can be made even better if we also just kind of explain that this does imply there might be double encoding. So I did get my structured and binary JSON encoding working with cross encoding for XML payloads. But I had to add like extra JSON value encoding and decoding to make sure that all the XML characters were rendered as safe JSON characters. So Thomas, are you suggesting that alternative text here or are you looking for a changer or just? I'm suggesting that maybe in another sentence or something like that. And I don't know if it's, we might be fine just explaining in every single transport document that by the way, because this transport document transports over XML or over JSON, if you have a non-JSON type, it must be JSON decoded before it's arbitrary decoded. Yeah, so that is the job of the JSON format to declare this because here we're, this is why we have an abstract type system, right? We have, we go and say, this is a string that declares this, the data attribute can have three different shapes. It can carry a binary, it can carry a string or it can carry a map. And then if it's a binary, which you would describe with this content type, then there's a mapping of that binary into JSON and that mapping into JSON obviously needs to follow the rules of JSON. But if you have a mapping into let's say message pack, message pack natively understands binary. And so therefore you don't need to apply any of those special rules. So that's specific, how you put the stuff on the wire or into an encoding format so that it doesn't mess up that encoding format is the job of the encoding format. So that clarification goes, that clarification if needed should go into the JSON format. Okay. So, are you okay with the text as it is Thomas? Yeah, I was bringing up an optional addition and it doesn't seem like it's like other people are rallying behind it being a necessary, so it's fine. Okay, well, as with everything, if upon thinking of it more, you think additional text is needed, we can always do another PR, follow on to this one to add it. So, right, any other questions or comments? I have a question on this. So for the content type, this defines the format of the data. So if I would like to get a information, filter out information of the data, for example, some specific segment, does, is this enough or how should that down? So for you to be able to filter out or to make an intelligent decision about what to pick from that data, you need to know what the data is. So what this helps you, what this only helps you understand what data means and what is in the data attribute. So if it carries, let's say XML data, it will say application slash XML. And then you know that the data field that contains then, let's say it's string, you know that you have to run that string through an XML parser before you then can go and pick out information from it. You actually have to run it through a JSON parser and a JSON decoder and then an XML parser. No, you don't because- You have to be able to blow up the default encoding library for Golang. I have a working PR and I had to do that to make it work. No, but at the level of this specification, at the level of this specification, it's a string or it's a binary or it's a map. And then, and then, so as long as, so if you take it that it is already a string that needs to run it through an XML parser. Yes, if you take the event in as JSON first, then you need to run it through a JSON decoder per rules of JSON and then you have a string that you then run through the XML. So that's, it's a multi-layered thing, right? If you come from message pack, then JSON plays a role because the data attribute was never in JSON format. Would it be useful just to add a sentence that says, implementers need to be aware of having to possibly do multiple encodings or something along those lines just to give you a heads up that it's not just a simple, don't put whatever you want here. I mean, the content type is gonna shape what you put there and the transported which you're sending it, like for example, JSON. Yeah, so I think what would help is to have a, so one of the things we're still missing is there's some implicit architecture that has now built up for the relationship between the transport mappings and the transports and the encodings and this. And we haven't written that down yet. And so I think that's missing for clarification. Is that something that would go into this doc, into the spec or into one of the encoding documents? Where do you see that? Either here, if we're, I think if we do an introductory architecture section that would be useful, I don't think this needs to be long, but it's like, this is the core specification, the specification, further specifications specify a set of transports and set of encodings. Here's the relationships, go read this, go read that. Yeah, I think, if I remember correctly, I think Sarah might actually have either an issue or even a PR out there that talks about trying to lay out the high-level architecture of what we're trying to do here. I'm wondering if that would be a good spot for this text. Yeah, I think so. Because ultimately, this here sits at the very bottom of everything. And so I think this is good to do. So we have, and I'm using some examples that kind of reference out, but we have here the abstract type, the goal of the abstract type system is to allow interactions effectively across different encodings where you don't need to normalize on a particular encoding, where you don't need to go and say, this always, there's always JSON in play. You should be able to go from, you should be able to contain XML and message pack, you should be able to contain JSON and Avro, you should be able, in all those different combinations and the only commonality across all of them is kind of this super simple type system. Okay, so looking at this one itself, Kathy, Thomas, or anybody else, is there something that needs to be changed here or is this a more matter of, in a follow-up PR, we may wanna do some extra clarifications or guidance type words someplace else? I think some clarification here will be helpful, but in addition, we might need more high-level, how to say it, description of how these are structured and which one refers to which. I'll be happy to go and amend this one to go and add the further section and then see this in context, I have no problem with that. Okay, so if you're willing to update the PR, that's fine, okay, is there any objection to heading that direction? Okay, so you'll work on tweaks to the PR, thank you very much. Okay, Kathy, you wanted to talk about the correlation field today, so I brought that up and just let you know, I brought on the agenda because you asked for it, however, this actually may be a really good topic for the face-to-face, but I'll let you decide that. Yeah, yeah, I think probably face-to-face is good, but I can just talk a little bit briefly on this. This is related to the content type. So I think in the comment, I see that people are saying, because this is like for correlation field, I guess I did the presentation in one of the previous meetings. I'm not sure whether people would still like me to go through this use case. Basically, it is to correlate multiple events which are associated with the same instance, I mean application instance, how we're going to do that. This correlation information could be embedded in the data, in the data stream, and then people, some people are concerned if we need to decode your multi-layer of decoding from that data stream, it's too much. So we need a correlation field explicitly defined in the event attributes. Yeah, I think that's a background. Yeah, I'm also interested. I think having that discussion at the face-to-face will be actually useful, because this takes us back to some of the base that we had around source, and I still believe that the correlation you're looking for is expressible using the source URI. But having that, I think the face-to-face will be a great place to have an extended chat about but whether that satisfies your needs and how else we might go and add correlation. I'm not sure that we need to have an extra field. Yeah. Kathy, will you be there at coupon? Yes, I will be there, yeah. Okay, great. Yeah, so if for example, in the correlation I just want to add a little bit more. The correlation field for different application could be different. For some, it could be, I gave an example before for IOT use case, it could be a house number, it could be the device IP address. It could be like for some other use case, it could be a travel request ID. It's all different. My feeling is those information might be embedded in the data stream itself. It will not be part, for some cases, it might not be part of the source ID or whatever. In some cases, it could be. So that's why I think, yeah, maybe we need to discuss this in a more extensive way. Yeah, we have three ongoing issues slash PRs that are heading in that same direction. One is we have lack of clarity around what extensions are. Then there is a proposal out there for further clarifying the source URI with descriptive attributes. You want to have a correlation field, which if you go and write down a location taxonomy for a sensor in a house is more complicated than maybe just one field. So I think what we might land is that we're gonna have some kind of a property bag. But we should go and figure out what the shape of that property bag needs to be and what the rules around that are. Yeah, it's probably a good face-to-face topic. Yeah, yeah. Okay. Yeah, sure. I don't want to put you in the spot to come up with an answer, but one mental exercise I'd like to discuss at KubeCon is given your house example. Imagine if I were a property owner of an apartment complex and I wanted to let each member of my units have their own event stream for their house, but I also wanted to observe events for the entire property. I'm curious to discuss face-to-face in KubeCon, what we can do to enable that sort of selection. Yeah, I think that's a very good point. I also share the same thought, yeah. So let's discuss that, yeah. All right, cool. So I'll add this to the agenda for the face-to-face meeting. All right, cool. Anything else on this one to talk about? All right, cool. Thank you, Kathy. Now, unfortunately, I don't think Clemens, your next two ones are ones we could do in about five minutes. No. So if it's okay with you, I'd like to see what people think about this one, which I think is relatively small. It's just removing the case sensitivity requirement for our HGP headers. I think I opened this one up on Monday. It's a relatively easy one, if you guys want to take a quick look. And if you don't think you have time to, you don't feel like you have enough time to look at it right now, it's fine, we can defer it. But otherwise, I thought it might be an easy one to get in. As a small typo correction header, names are plural. Ah, where? Okay, I'll fix that. Sorry. Aside from that obvious mistake, yes. Anything else? Thank you for doing the work. Yeah. Any questions, comments? People requesting delays or more time to review. Okay. With that one typo change of name to names, is there any objection to adopting this one? All right, cool. Okay, in that case, since we're almost out of time, two things I want to do. Oh, hold on a minute. Where is it? Okay. Two things. One offline, Mark Peake mentioned to me, and to remind you guys that there is a serverless track at KubeCon. And here's the URL to it right here. It might be of interest to you if you want to see what all the serverless topics are or sessions are. Okay. And finally, go back to the usual fun of attendance. Ryan, are you on the call? Yes, I'm here. All right, William, are you able to talk now? Yep, I'm here. Excellent, I already got Rob, I heard you. Kathy, I heard Chris, I heard Gurnett show you there. Gurnett show you there? No, okay. Is there anybody on the call who I do not have on the agenda with an asterisk next to their name? I think I might have gotten everybody. All right, in that case, a couple of minutes left. Is there any other topic people like to bring up that's relatively small? I have a question. Sorry. So Austin, so for the demo, are you going to run the cloud events gateway on your, I mean, from a server on your, at your company or are you going to run that on the laptop you bring to that conference? The routing is going to be done through a hosted version of our event gateway project. So we'll be running for my computer. Oh, from your computer in the conference, right? You'll bring that with you to the conference, right? We... The assumption is that everything will be cloud-accessible. Oh, okay. Yes, correct. So actually, so for us, right, to interact with your gateway or the event source, we can run our code in our lab. We do not need to run in my laptop. I bring to the conference, right? Which I bring to the conference. You need a static IP address and I would suggest running it in the cloud. Right. Yeah, you need to integrate into this demo. You specifically need an HTTP endpoint. It's accessible via a post request. Okay. So in the chat window of this Zoom conversation, I've just put in a link to the read me that explains everything, it also includes examples of both event schemas now and all the details you need as to how to how to integrate. The only thing that's not in here yet is just the Twitter details, how that works. And I think we could follow up on that in the private Cloud Events demo channel. Are there any concerns that we should worry about with like which encoding you're going to use or which responses that you accept or things like that? No concerns with responses. The encoding is just application JSON. That's what you'll receive in your FAS function. And the image is not actually being included in the event. The only thing that's included in both the AWS S3 event and the Azure Storage event is a URL to the image. You're actually getting application slash Cloud Events plus JSON because that's what our specs say. I don't know. Yeah, so is it one is binary encoding one is structured encoding or? No, application slash Cloud Events plus JSON is structured encoding. That's what I'm sending. And Austin? So I don't think we're going to be sending that in the demo. I think we're just sending application slash JSON right now. Are you doing the binary encoding them with the headers? Binary encoding. We're not doing any binary anything in this set. But that's what the rule is. The rule is you have to sit. You should change your posts to be combined with what we actually have in the spec and that is application slash Cloud Events plus JSON instead of application slash JSON. So Austin, you have everything ready. We can do an integration testing now or? This is the tricky part. How we actually do this. Right now I suggest getting started and just mocking the event. So I've included everything necessary to, I've included an example event schemas for both. You can mock them pretty easily. And also the URLs point to images that are on publicly accessible buckets. So plan for that. But I think we have to figure out the testing story. I'm going to follow up with that in the Cloud Events demo channel. Yeah, Kathy, if you go to the private channel, if you just tell everybody what the URL is to your function end point. In the meantime, I believe you can get pretty far just mocking. Yeah, but if you give the URL to your endpoint, these guys will be able to add it to their producing site. For example, Clemens added mine, you know, pretty quickly and then he can start sending it. I lost audio. I don't know if anyone else is talking. Oh, okay. So if we give the endpoint URL, so who is going to try it out? Yeah, if you stick that into the private chat, Clemens will automatically send you a post every couple of minutes. Oh, okay. Okay, I see. Yeah, actually, hold on one sec. So for my demo, I'm just going to route everything through our event gateway and I'm actually going to trigger Clemens. I'm going to trigger your function through that. So I don't think we're going to be using the publishing function that you created, Clemens, for my demo. Well, but it is publishing into all those endpoints anyways. So that runs completely in parallel. You can go and tell the story about how you publish, like you can show the code and all those things, but my thing that will just run in the background just keeps posting stuff every five minutes into everybody's history. And you can already see that in the, if you look at the Twitter accounts now, they're already all getting events. Yeah, I hear you. The challenge is this just creates like two places for people to integrate into. They're either handing me the endpoints or they're handing you the endpoints. Well, but that has already happened. Like this is already working. Sure. Is there a problem with only integrating with one? Why do we have to integrate both? Yeah, I think it's better to just integrate with one. So I'm going to have to call time here because I know other people have phone calls to jump off to. Can we continue this discussion in the private chat? Yeah. Okay. So it's a Slack, right? It's a Slack channel, right? Yeah, hit me up through Slack and I'll invite you, Kathy. Okay, sure. Thank you. Kathy, you're already invited. Oh, there you go. Okay. Okay. All right, cool. In that case, hopefully we'll see most people there at KubeCon, looking forward to next week. Thanks, guys. Thank you. Thanks, everyone. Goodbye.