 Hey, how are you doing man? Very good. How are you? Good. Good. Good to see you Okay, so today I will host the meeting because Aloy said the brand cannot understand so We do have some say what I come to discuss. I think we can Start a meeting No, I can't hear you here. I we could before but not now it zoom doesn't appear to show that you're muted, which is odd Hey, Amy, how many? SIG and TOC Etc. Meetings you want per day You know, it really depends. I try to make as many of them as I can So yeah Yeah, I'm willing I'm willing all of that but good to see all of you. Oh Your name I see your name in your face all the time Amy Well, you know turns out I do too Fair enough Okay, I'm back. Can you hear me now? Yeah, you are back. Hello. Okay Okay, so So, let's start today's SIG aptly remitting and this meeting will be recorded and upload to YouTube So, please keep yourself looking good. Okay And so first of all, we do have a new project for tape present tense in this meeting and the project across that so I will hand over the Screen share to Jira from a cross-type community. Okay, all righty. Cool. Thanks, Harry Yeah, let me go ahead and share my screen. I'm gonna go ahead and share My entire desktop here. So because I'm gonna go across a couple different applications here Do you see the agenda document right now Yes. All right, cool. All right, then I'll go ahead and switch over to the slides then and We can get started. All right. Do you still see the slides that I've put it on full screen? Looks good. All right, thank you Amy for the confirmation. All right, cool. So last week we submitted a proposal to to donate cross-plane as a CNCF sandbox project and So my name is Jared. I am one of the founders of the project and a maintainer on it as well So I'm just gonna walk through some details of the proposal talk about what cross-plane is etc And you know, this is in the context of SIG app delivery So, you know, I know you all have a lot of experience in this space You know, a lot of these concepts won't necessarily be new But feel free to jump in at any time if you have questions about anything And we can make this as interactive as you want There will be time at the end for questions as well But if you have any questions, just go ahead and hop on in There is a direct link in the agenda doc to both this slide deck And also the pull request in the TOC repo that has the full proposal so you can play along at home too with TOC 454 Okay, so let's talk about what cross-plane is So it was we did our first v0.1 release back in December of 2018 so it's been been around for about a year and a half now and the same folks myself included me and Basam creators of the Rook project which is another as a CNCF project that's hopefully going to be graduating soon and focuses on storage orchestration We're the same folks behind the Rook project or the folks behind this cross-plane project Open Source and Open Governance obviously we just updated our governance to be a little bit more inclusive and allow a little bit more diversity of maintainers and participants in the project recently And in terms of the architecture it's it's based on the Kubernetes control plane so you know at its core it's really a set of controllers and CRDs it's not you know an entirely new architected solution it's running in Kubernetes it just needs API server controller manager at CD that sort of stuff so you know it is basically a Kubernetes add-on you can look at it so there's three main feature areas here that we're going to dive into more details on but really the core of the project is about provisioning infrastructure for your applications that are running in Kubernetes so you know using the Kubernetes API or tools like Qt Control you can go ahead and use cross-plane to create instances of infrastructure and cloud provider services like Amazon database or a security group or you know VPC all that sort of infrastructure cloud infrastructure stuff you can use cross-plane to create it you could also go ahead and create and define and publish your own infrastructure APIs we're going to get into more details on this one because I think it's really important but basically you can define what does infrastructure mean in your environment and you know how do you want to expose that infrastructure to applications to consume it and define your own API and abstractions around that so we'll get into more details on that and also the third the third feature area here is all about running and deploying applications to use this infrastructure that we're deploying and provisioning with cross-plane a little bit more history on the project here so as I mentioned the same team behind Rook is the same team that came up the cross-plane here our first release was in 2018 but we actually conceived of this project back in 2017 you know while working almost exclusively on Rook and so one of the things that we really noticed in Rook is that the volume abstraction is a really powerful concept because it basically allows your applications to define some infrastructure that they need and start consuming it on demand so you know the whole pattern around persistent volume claims storage classes persistent volumes all that stuff we thought that that could have a lot of applicability and usefulness in other scenarios for other types of infrastructure you know databases caches clusters themselves buckets all sorts of stuff like that so we that's where we started with the cross-plane project and then most recently we have done the work and through a great collaboration with Alibaba and Microsoft on the open application model and the ohm spec now cross-plane is the kubernetes implementation of the ohm spec so you can do all the you know everything defined in the ohm spec there to define your applications and the portability around those etc you can do those in kubernetes environments now with cross-plane being an implementation of the ohm spec all right so let's dive into some of the details of those three feature areas I was talking about so the first one here is provisioning infrastructure um you know with with the kubernetes api so the the whole basic concept behind this is the infrastructure uh and services and cloud providers are represented as crds now in kubernetes with cross-plane so you can use whatever kubernetes tool or the kubernetes api you want to declaratively configure this infrastructure you know instantiate a crd fill out its spec fields all that sort of stuff and you know end up with infrastructure provision for you inside the cloud providers we started off with uh support for gcp for azure for aws we've recently added the alibaba folks have added an alibaba provider there's support for rook incluster stuff the packet um as well bare metal packet stuff as well but let's look at the diagram at the bottom here and that's kind of puts it all together here where a user uh you know infrastructure owner or application developer they can create an instance of one of these crds that represent infrastructure they can use kubernetes control you know any tool that speaks kubernetes api so they create an instance of that crd cross-plane has a whole bunch of controllers that are watching for events on those crds and they'll go ahead and reconcile the desired state of that um like an amazon rds uh crd that what the spec says go ahead and make calls to amazon's cloud through the amazon api to make that desired state of the amazon rds database a reality the actual state so it's you know kubernetes controller watching crds calling cloud provider apis to make that infrastructure happen now the second feature area here uh that's kind of a new one for us and i think this is really where some of the power of the cross-plane uh project starts coming up for us is about publishing your own infrastructure apis so you know as an infrastructure operator or infrastructure owner um you know you need to be a little bit opinionated about what does infrastructure mean in my environment so cross-plane allows you to define uh you know like what does post-grass mean in your environment and you know what is that composed of because in reality you don't just need a post-grass database you need the networking to connect it um you need some you know the resource group for it to to be a part of so it's not just a single entity it's you know the general need for infrastructure by an application actually is composed of a whole number of things underneath so infrastructure owners can define their own abstractions for their opinionated versions of infrastructure and publish that so applications can consume them now um in that example we're talking about with uh mysql database in azure it needs not just a mysql database but needs a resource group it needs a firewall rule and so you can define that and publish it for applications to consume and we're going to go into a demo on that too so we'll see exactly what that means but one of the benefits here is that allows you to hide infrastructure complexity and also put some some safeguards in place with policy and specific configuration that you don't want to expose the application owner so you get control of this platform that you're developing or this api that you're publishing for your applications to be able to get their infrastructure that they need but in a safe way that you're okay with as an infrastructure owner and the nice thing about this is that it's all declarative um there's no code behind this at all and we'll look at the or for there's no code needed for the infrastructure operator to be able to do this stuff and here's a picture to put that together for you here so with those verbs we were just talking about going from left to right define compose publish and consume so on the left here we're looking at i'm an infrastructure operator and i'm going to go ahead and define what my sql means uh in my opinionated environment so to me my sql will mean uh you know i've got multiple i could have multiple definitions for it so i'll say okay it could mean my sql could mean uh an azure my sql resource group firewall rule or it could also mean an amazon rds instance with the vpc a subnet security group etc these are all multiple options for what resources compose a my sql in my environment and then i'll go ahead and publish those so that applications running in namespaces can go ahead and say hey i've my app has a requirement for my sql um please give me a my sql and so on-demand self-service they ask for my sql and they can kind of influence which one do they want and here in this example we're saying that app a wants the azure my sql uh in all the components that that's you know that that is composed of uh and that b wants aws but that could be any any other things like uh like fast and slow gold and silver cheap and expensive whatever you know secure and you know development whatever it may be um applications can ask for infrastructure on demand and this api this um this platform that crossplane allows you to define uh will fulfill that for you okay and the last feature area here is all about the application layer so as we talked about uh we crossplane now supports the open application model which i'm sure this sig is intimately familiar with and so that what's cool about that is that you know with both infrastructure and applications you can kind of standardize now on a single workflow a single you know single um api for that where you can define your structure and the applications and how they'll be used etc all in a single workflow um a key part of the crossplane project for the very beginning was this idea of a separation of concerns and that's also a key component of the ohm spec as well so that's why there's very good alignment between crossplane and ohm where um you know there's a couple different personas involved you know as an infrastructure operator you want to define the infrastructure the policy around it what's okay what's not okay what you want to expose to your applications and then application developers they don't want to have to worry about those details right they want to be able to say okay i'm focusing on my business logic i'm focusing on my app and i have a general need for a database and a cash that's all they need to worry about and then this third persona around application operators they can kind of glue those together let's take out the application components and fulfill them with uh infrastructure environment requirements uh okay so this is the three feature areas and i think it's time for a demo to kind of start putting this together here so let me unfold screen that and do you see a prompt all right nice so i'm just on my laptop here simple simple scenario here i've got a kind cluster up and running and it's got nothing right now it's very very basic you know no pods running not much going on but with this blank vanilla kind cluster i'm going to go ahead and install crossplane and i'm going to install just through a helm chart to get the crossplane crd's and pods up and running to be able to start managing and provisioning infrastructure for us so let's wait for those to bring up okay they're up already nice nice and quick um yeah so we have crossplane up and running and then i also want to go ahead and install some support for azure as well uh crossplane has an extensibility model where you know you've got the plain vanilla crossplane that knows what ohm is knows how to speak ohm has some basic crd's but then if you want to do things for azure or aws you can add additional functionality there with uh with the ends of the extensions so let's uh see if i've got azure up and running that's azure still coming up right now the support for that but i'm going to go ahead and also uh i won't show this obviously but i'm going to go ahead and create a secret that has my azure credentials so i can log into the azure portal and with you know uh the secret key and all that sort of stuff and i'm going to put that into a secret right now so that crossplane will be able to do azure operations on my path uh let's check and see if that's up and running yeah okay so the azure stuff's running and then we're going to go ahead and create um you know an azure provider that will use my credentials and be ready to do stuff and then one more step before we get into the meat of it here this is all the quick startup stuff so i'm going to go ahead and create a cluster role that will let crossplane uh use these infrastructure crd's that i'm going to be defining on the fly as we're going here all right so let's do something useful now finally so the first thing i'm going to do is i'm going to create i'm going to define in some infrastructure so let's look at it here uh i made the font bigger here so hopefully that should be should be easy to read uh but basically i'm defining my own custom infrastructure api right now so i'm going to say hey here's an infrastructure definition and this is uh postgres this is what postgres is going to mean in my environment here as an infrastructure owner i'm defining what postgres is and this is basically i'm giving a crd template saying hey create a new crd crossplane that is called postgres uh sequel instance and uh here is the open api v3 schema for it that a lot that specifies what configuration fields it will expose uh and then crossplane will take that and say okay cool uh you're defining your own infrastructure your own infrastructure api and now there's a new crd that is called postgres uh for my example org so now we want to go ahead and publish that too we've defined the infrastructure we want to publish it and that was really simple that's just a hey take postgres sequel the one that i defined for my example org and go ahead publish it so applications can start to consume it now we're going to get into something a little bit more interesting where um you know we haven't really said what postgres really means we've said i want postgres i want to have a postgres in my environment but we haven't really said well what does that mean yet so let's do two different postgres compositions a bronze one and a platinum one and let's uh so we can confirm here that we've got uh in terms of compositions of infrastructure in our environment we've got bronze and we've got platinum now so we've got two of those there ready to go uh i'm going to jump ahead real quick to kick things off because i'm going to do real things in azure that take a couple minutes so let me just run a command real quick and then we'll talk through everything and make sure we understand what's going on okay so that should kick everything off now let's talk about what we've actually done here so we've defined uh postgres and now what does postgres mean in this environment so we've got bronze and we've got platinum uh but what that means is that when somebody says that they want a postgres instance so an application says i want postgres uh that actually means okay we're going to give them a resource group in azure we're going to give them an azure postgres database we're going to give them a firewall rule to allow some ingress and connections to it um and now this is this the bronze one so this is you know a little cheap slow oh it's only got two cores it's a general purpose not not too fancy uh but then we can also we're also defined what does what does a platinum postgres look like right in this api we're defining now platinum uh it's going to be composed of the same thing so resource group postgres database and a firewall rule but here it's it's going to be a memory optimized postgres instance that's going to have more memory per core it's got 32 cores instead of just the little small two core bronze instance that i defined so we're basically giving applications the ability to you know on-demand self-service create their own infrastructure but giving them some options about as an infrastructure owner what am i okay with i'm okay with this bronze one i'm okay with this platinum one and i'm very opinionated about what that means so the applications don't have to care uh or know about what the details of the infrastructure they're they're requesting are they just know they need postgres and they're going to get what the infrastructure owner is okay with um and they don't have too much control over it which is good because you don't want to give application owners and developers you know every knob and direct access to the cloud provider apis to willy-nilly do what they want so we've created our own infrastructure api uh i published it but it made it ready for applications to consume and now uh we kicked that off so it should be doing real stuff now so i'm going to take a look at um you know underneath what's happening so uh my application sorry i didn't show something real quick uh we also did this step here where i now this is it from the persona of the application developer operator and they've said hey my application has a requirement for postgres so he's giving me postgres and you know we when i defined as an infrastructure operator my the api for new infrastructure that i'm defining uh i gave you some knobs to turn and one of those is uh you know how big do you want your database and so here as an application developer i'm saying okay i want 20 gigs uh in my database it's just a little you know test one and uh for which one i want i want bronze so i have chosen as an application that i i need postgres to give me the bronze one i don't know anything else or what to do what that means underneath it i don't know anything about that so we did that and uh and so that kicks off this whole sequence of machinery that says okay application requires postgres it wants the bronze one what does that mean let's look up the composition okay here's what bronze means i'm going to instantiate crds for each one of those this is all automation i'm talking about this none of this is human stuff so the machinery in crossplane is instantiating the crds for uh postgres for azure for a resource group for firewall rule all that stuff so we're checking in on it here with q control of getting get my managed resources give me all of them and so that's giving us the resource group the azure postgres the firewall rule etc so we should see this now over in azure so if we refresh the page and start looking at stuff here yep we can see that we created a database uh on the fly now my application is able to self-service its own database um and it's available it's ready to use uh we created a resource group uh we also created a firewall rule for the database to allow the connection in so it looks like everything came up when is working which is great and here's so here's another key aspect of this is that the application requested their own infrastructure but then they also how do they access it how do they connect to it right and so the crossplane machinery went ahead and published a secret as well it contains all the information oops all the information that the application needs to connect to it like what the endpoint is you know this is all base 64 encoded right now in a secret like what i just normally does uh but what the what's the password what's the username everything that the application needs to go ahead and connect to that postgres infrastructure and all the other supporting infrastructure that it actually needs to run it and connect to it and so let's just look at a simple pod real quick so let me start this pod up here and uh just to connect to the database so here it's a very simple pod it's saying hey just run a pcql and do a select query on the current database just to connect and print something out not very not very fancy but uh it's going to take all that connection information from the secret the crossplane created and published for the application here so it's going to get the password the username the host all that stuff from the secret in its environment and then securely connect to it so if we look at the output of that of the pod it should just show like a you know as the select query output yep that's all it just said okay what's my current database the postgres database that's what i connected to all good so let's put it all back together here with a real quick summary is that as an infrastructure operator i define my own api my own abstractions for what infrastructure means in my environment i said hey this is what postgres means there's a couple flavors for it the bronze one the platinum one i'm publishing them and making them available for applications to self-service to get the infrastructure that they need uh when they need it and not have to worry about the details strong separation of concerns they don't get to configure too many things that i'm not okay with as an infrastructure operator but they can do it on their own they don't have to file a ticket they could just get the infrastructure they need when they need it as an application uh okay and so we're about wrapping up here so that was the the demo and uh just a quick stats you know the acrossman's been around for about a year and a half now it's over 2 000 give-up stars and over a million container downloads um one of the ones i think is more interesting though too is that as we opened our governance recently we have 10 maintainers now across the project from three different organizations so we're starting to open the project up with more more open governance and you know get collaboration and um and diversity of maintainers across more organizations uh adopters is a section of the proposal that we focused on too so i mean let's be let's be clear here that these are mostly evaluating phase uh folks are evaluating cross-plane and starting to use it in their environments but not strictly taking a hard production dependency on it yet all the details are in the uh proposal but uh you know we have some great partnerships going and some good adoption of um you know the cross-plane uh platform uh with microsoft and alibaba and the open application model uh git lab uses cross-plane as a git lab managed app for its auto dev ops stuff that it exposes um with red hat the cross-plane is available as an operator and operator hub and um red hat's promoting the usage of cross-plane and hybrid scenarios like for open shift you have open shift running on premises and you want your applications in the open shift to be able to use cloud infrastructure how do you do that um you can now use cross-plane and open shift to be able to uh get and your provision and manage infrastructure and you know all the things we've seen in this whole talk here but for hybrid scenarios like running Kubernetes cluster on premises with open shift um and my mastercard is starting to deploy uh cross-plane as well and evaluate that for for usage of this platforms too then we've got a couple people that are building on cross-plane uh to be able to offer their own services to their users but using cross-plane as the platform to deliver that too uh and then here's some links to get involved in the project if you want to uh website github slack all that sort of stuff um and so that's in the deck here and you can you know come to be part more part of the community and that is the end of it so um i appreciate everybody listening and uh i might have gone a little fast too so uh it didn't get a great chance to ask questions but now i'll shut up and if there are any questions from the group here i'm more than happy to address all of them i think there's some other folks who are cross-plane on the call here too so a couple folks to answer questions as well thank you jerry so if you have any questions now it's a good time and by the way uh please add your names to the attendee list in the second meeting's notes there's also a couple people from mastercard here if you have any questions for us as well of course hey ken good to see you yeah it's great to be here thanks for um thanks for presenting and getting this into the cncf by me this is awesome i know that the uh oh go ahead here yeah yeah i don't have a question come to come to mine and now so so let's say i i am a uh i am digital ocean right i want to add my support to cross-plane as another cloud provider so what i need to do it seems like i need to do two things first i need to write a cloud provider for cross-plane and then i need to do composition to publish my infrastructure correct so so i think the question is can i actually use my existing operator for digital ocean and use composition in cross-plane so the application can then use the public population infrastructure which is provided by the general ocean is that possible oh yeah yeah yeah it's actually a good point harry um yeah because i guess so there's a couple different levels of uh collaboration or integration that you can you can use so you know the what we've done so far is that we've written full providers like for aws and gcp and azure and etc um where you know we've got controllers and crd is defined for all of those so they're very native cross-plane and then when you're you know as an infrastructure operator when you want to like uh expose those infrastructure options and services to your applications you know you're you're basically just defining them of uh you know what are the crd's that make up say postgres and so that's a good point harry where you don't have to necessarily be fully integrated with cross-plane and right a cross-plane provider and you know do the full uh you know implementation that we've done for gcp and adidas et cetera um you could is this is also normalized on the kubernetes api right so everything is a kubernetes uh resource um you know kubernetes api object so you could define uh you know an infrastructure um composition or infrastructure a abstraction to say hey actually postgres what that really means here in my environment is this uh these other set of crd's if something is exposed as a kubernetes api object you could compose and define and publish infrastructure abstractions and api of of whatever those are so digital ocean crd's are um you know on premises like a mysql operator or a redis operator or something like that uh you can define infrastructure at it made composed of those primitives as well so yeah that's a good point harry thank you there's just one one point on that harry we uh we did a hackathon at mastercard and since we're very locked down we've used digital ocean as sort of our environment to set up a provider and um we leveraged the api's and basically created a full lifecycle experience with the provider um and um the only thing we ran into is when we created a vm we created like hundreds of them so we had to kind of understand the api a little bit better so we just create one or two or three control how many vm we created at one time um but it so the api has become a huge i guess my point is api has become a very important aspect of developing the provider and the ability to do lifecycle within that environment and so just um keep in mind api is critical to make this model as well yeah that's a great point ken yeah hi i have uh two questions the first one is around the uh permissions model like uh from what i understand in in open shift there's like aws operators that enable you to do similar things right like create aws instances expressed aws resources expressed as customer sources in the cluster but they're like namespace scoped and you can use basically different teams use different versions of the operator in different namespaces with different im accounts so uh how do you guys handle like basically different people who should have access to different cloud cloud creating different cloud resources um just kind of interested in that and the second question i guess is um can you create you can you can you can you define the CRDs right so you can create uh cluster wide resources as well as namespace but yeah it's a really cool project so thanks for sharing yeah sure um yeah thanks daniel i appreciate that um yeah so you know the that's one of the nice things about standard standardizing on the Kubernetes API is that all of these infrastructure primitives and then infrastructure compositions you know the api that you wanted to find that's composed of those infrastructure primitives they're all at the end Kubernetes API objects as well so our back uh you know is is fully flexible to you know allow particular access to you know this api and this verb but not that api and not that verb so you know that standardized means of exposing um uh exposing all this infrastructure and locking it down or allowing access to it through our back is something that we that's that's you know the common way to or the standard supported way to do that um you made a good point daniel about um about you know multiple versions of the operators and namespace versus cluster stuff uh in general um you know infrastructure primitives uh that like one to one map to cloud provider resources in general those are almost all i think cluster scoped resources so like an amazon rds database or a google cloud sequel database those are going to be cluster scoped resources and then when as an infrastructure operator you choose to publish uh this infrastructure either the raw primitives or the compositions of them with your own api when you publish those you're making those available you know in a new type like a postgres requirement we saw as a namespace object so there's that kind of separation of concerns that difference in scope of access as well cluster resources for the raw cloud provider infrastructure primitives and namespace scope to for the api infrastructure api that you yourself define and want to publish to your applications but one part that i think there's a little bit more work to do daniel is um is around handling multiple versions of these you know there's for mostly in cross playing you get you you know install the let's say the aws uh provider you can install two versions of it at the same time right now that are you know handling you know side by side multiple versions of the api it's had a one per cluster um i think there's a number of challenges associated with that with cluster scoped resources and crd multiple cd versions of crds etc but uh mostly right now with cross playing you'll get one version of each provider within the cluster the control plane uh does anybody else on the cross playing team want to add anything to that on the call yeah just a quick quick point also that if you wanted to support say multiple adbs credentials that i'd have different privileges and used for different things um i think you mentioned that other other approaches other projects use uh namespaces to to solve that we support that at the cluster scope as well and combination of our back and the company combination of using publishing infrastructure definitions into namespaces you can arrive at the same thing we just don't think we leave the namespace scope objects to be mostly application self-service for application self-service not for infrastructure self-service if that makes sense yeah yeah thanks guys uh thanks for answering my questions well thanks in your rds use case uh can that be multi cluster can i create the rds resource in in one cluster and then export it to another cluster that will use it in its namespace uh let me let me make sure i understand that uh so i think you know there there's one way to look about this is um you know the infrastructure that you're instantiating like the rds database you're instantiating in dws and where is it going to get accessed from uh maybe that's from an eks cluster that's running in amazon maybe that's from a gcp or gke cluster running in google etc and so you can uh you know create all of the networking um and security uh primitives to make that happen and allow connection from anywhere but were you were you asking about something else about exposing that object like uh you know publishing this infrastructure type to an entirely different cluster to be able to consume it on demand you know instant like an application running somewhere else to instantiate it themselves outside of the control plane or is that what you're asking yeah so the pattern is where i have a master cluster that that that manages the uh the infrastructure let's say something like kavka or even dynamo and then you have you know multi cluster that that are consumers meaning like apps come up and with your pattern like you you create a namespace and then you consume that particular cluster wide resource i guess but it's it you want to be able to push it using your clustering to those clusters i just want to know if you had that pattern implemented or it was just wall within one cluster right now oh yeah i think i think so and somebody else at the crossbeam team could correct me if i'm wrong here but they that pattern is in effect where you know the cross plane itself is is uh you know a unified single control plane where you'll have the you know the the master cluster let's call it or the control plane running with all the the cross plane machinery and then you can have a number of different remote clusters or worker clusters or whatever you want to call them that are actually running workloads and so you know you can bring up um you know your workload or your application in another cluster and have it consume the rds instance or the cloud sequel instance or whatever uh over there and that's been a kind of a common uh you know uh scenario that we've been showing off for a while so to my knowledge then that's near your talking about there of the control plane and then you know worker clusters are actually running workloads to be able to consume this infrastructure as well is something that's supported okay thanks hey so if you guys have any more discussion uh please feel free to follow up with the maintainers okay go ahead cool thanks harry appreciate the time here to talk today all right so what time are you here just like you actually hey what's kind of the next steps for this um yeah something you're gonna help sponsor uh what's sort of the plan for for cross planes so yeah yeah the standard process is that the seed will take over the project from this after this presentation and there will be a review based on the presentation and uh also based on some maybe interviews with the maintainers in the community uh i will step back from this interview process because alibaba is kind of involved in cross plane project but i believe alloys or brand will be the contact person for the review uh process and after review process the the seek will add a recommendation uh in the proposal to reflect the facts on the uh project and the the the recommendation from the seek for example yes or no or there's something need to further discussion and then pass this proposal to toc and toc will be responsible to make the final decision to call for sponsors this is the standard process right now make sense thanks okay so i think the next day for this project presentation is that the uh i will think of these other co-chairs of the uh seek to to start the review process as i mentioned i will step back that's alloys or brand will take over that okay so let's go to the next step uh and uh we do have another very important uh important uh item for today's meeting uh maybe at any you can uh call for a vote for the new logos for the uh seek can you try something new because like it's it's been like forever for this one to be able to open yeah there will be a poll in the github issue you should be on the one that you like and i will close this on um june 16th at 12 p.m pacific and so our next meeting we might actually be able to say this is the logo that we think we have chosen what do we think about it and then getting some like closure on being able to say that app delivery has a logo so get in there it's uh issue number 20 yes yeah i understand that's great it worked okay oh i didn't know that you can actually poll you can click on the thing mm-hmm oh that interesting so please do that folks and i'm trying something new yeah i also share this information to the wider community so people can pick what they're like okay thank you very much i put a note into slack yesterday about this one as well so that was all got it perfect a lot of options maybe wow oh i know that's why it was like it was turning into like a big challenge here about like the you know how many things are actually here and we kept trying to limit it down and it just wasn't working so here here are 23 for people to be able to choose and we can calibrate around what works wow that's really awesome okay and uh yeah i think we only need to add code for code for votes after meeting okay so uh also on behalf on behalf of the CIG i also have a update for the cloning bill pack project review because uh i think you guys might might notice that this project it's kind of um you know harmed the governance process because um we don't have a clear the condition for any users in the since the charter but which is required for the uh incubation level due diligence review so we actually have a couple runs of discussion with toc and if it's other six to see how we can continue the process and also bring up this discussion in toc meeting yesterday and i think i got a lot of very useful feedback so the general idea is that because this is because the issue is maybe clone native bill pack its doctors would be mostly called providers or vendors instead of you instead of end users that maybe it's it's a nature of this project so so it's concluding that is that with CIG at delivery we'll actually pass the due diligence doc to toc without yes or no recommendation but we will add a recommendation based on the facts to reflect okay what kind of adopters currently this project has and uh what kind of create other criteria this project already has already made and then we will pass this information to toc so toc we will make the final decision maybe change clone native bill pack at the special case so the the idea is that the toc will review the will make final decision case by case because we cannot change the criteria right now it will require long process and the death and that means this project will be hold for a long time so we don't we don't want to that happen so we will pass this case to toc for final decision i don't know if any bill pack container here but i think the the process will pass to toc very soon okay do anybody else has other items to discuss sure so it seems that all the items have been completed in this in today's CIG meeting and i'm happy to see uh crosspan and the clone native build pack can go to the next stage and uh i'm also again calling for loads for the logos for the CIG app delivery well thank you for attending today's meeting thank you very much thanks everybody take care yeah take care bye bye