 Good morning. Good afternoon. Good evening and welcome to another developer experience office hour I am Chris short host of the most of red hat live streaming This is an office hour folks don't hesitate to ask questions about anything related to developing on the open shift I am joined by two of my fellow Red Haters Chamelle and the one the one we are talking about what today? So we are talking about the best places in Canada to visit Okay, but we might we might also talk about pipeline as code just just as a coincidence. That's more on brand. Yeah. Yeah. Yeah Cool. Shamal, would you like to introduce yourself? I guess the one you can introduce yourself to please. Yes. Yes. Yes So I'm a developer advocate at Red Hat based out of Moncton beautiful new Brunswick Eastern part of Canada and Shamal over to you. Yes My name is Shmuel Bush now. Yes, as I said, I'm an engineer at Red Hat on the open shift pipeline working on the On Tecdon and different things on Tecdon and based in the in Paris, right? Not the Tecson one That's right Tecson. And yeah, I'd be excited. I'd like to show you some of the things on what we do for pipeline as a code Beautiful Fantastic, how's the house Paris this time of the year, Shmuel? I think we have what we call Indian summer It's quite warm period when it's supposed to be that warm. Yeah It's not that warm. It's not that cold. So it's perfectly nice now But we had like a very bad summer so we had like a lot of rain compared to other places in the world It was really hot for us. It was mostly raining raining. So yeah Nice So Chris as I was mentioning that I haven't talked to you probably in ages because I was on a two-week PTO I took a road trip from New Brunswick to Toronto, Ontario, which is a 1600 kilometers drive each way and The road from the New Brunswick side is beautiful It's like hilly and all the leaves are turning from green to yellow and when I was coming back It's like green to yellow to red and it's like mountains. So when you when you go down, you see like all the the swirly road Matching in the horizon. So so that's what I want to mention that if you're in Canada Or if you're visiting Canada be sure to check out New Brunswick and take a road trip and also Let me know that we can grab some Atlantic salmon together. There you go When the border reopens, I might take you up on that. Yes But yeah, no, it's it's that time of year here in the the northern hemisphere, so We are falling in to fall as it were Yeah, and she will what was the last time you I guess went to any any in-person meetup or went to an office or I Guess even got out of the house to do something Last time was That was the last time and and I think I travel just just like the Pandemic I was talking about traveling to Israel and When I came back like I heard like so many things like you can do tests and stuff and things and now it all started There was less time because I took a bite and then I Said I said in front What about you Same I guess it was March 9 2020 and That was the date my colleagues at IBM and I were told that we have to pack our stuff from the office We grabbed all the stuff the monitor came home and we never realized that it would be like months Before we would head head over and by the within that time period Some of us came to Red Hat And it's just it seems ever since I've been to an actual office or being at a tech conference Which I'm really really hoping we can we can go to some conference in person soon I see I see tecton in the background and and that kind of Gives me some question. I've been doing I guess some get ups related talks recently and First question I have in mind for sure. Well is how does like pipeline as code relate to get ups? Like we hear like infrastructure as a code pipeline as code get ops and then all these ops So I guess many folks and in the audience would would have the question that how does let's say pipeline as code and get ups Relate or or doesn't relate? yes, a good question Because a lot of people would say that what you can do with get up you can do with patterns the code because I find the code offers you to develop your pipeline inside Inside your code. So usually you would have this inside it and Your pipeline would you do a creation inside the inside your code like to define like all your pipeline it would be defined as it goes like a iteration of your code and You the difference is the main difference is here like the pipeline as a code is like I find the code is really focused on Pipeline on text on pipeline not on the other QBNT object So QBNT object usually you get like a some other product that does like get ups services those those those that does Like get up on QBNT those those those products like they would they would be able like they would let you Manage everything that you have on your secret your your wrap your ingress and everything like that. So So that's that's the many times when the pipeline is a code it is like you're really writing like that pipeline text on pipeline or text on text or things like that and you really iterate over over over that Mm-hmm. Got it. So would Would would a generalization be If we can think of a subset versus superset could one of these could be thought of a superset of the other It's a superset of the other in some way is that usually people would iterate like when they're starting to write some pipeline from some pipeline the really iterate like the iteration would be inside the code like over a proof request and It would be a lot more like a proof return. So for example, like it's a demo I'm going to show like later on hopefully it works Yeah, that That if I if you start if you start like for example, you have your code you have some code like in some languages like for example Python and You decide like to add an option and but uh like in inside that that ocean is like you need some kind of order Some some some some some new into for example You need to include like a yaml into it. So part of your code you add that picture inside your code and part of the same permit you can add the pipeline the like the touch that you that's going to do like the yaml and that would be that that That would be that would be the purpose on here is that your code itself like whether the picture inside the code and Was the picture inside the pipeline like to add that thing and whenever you're going to submit that for request I mean it's going to take into account that you have changed and it's going to use that pipeline So that's that's the main that's the main advantage when when when we talk about github in this case Like you will do this iteration But you will do the station like other more like a different leader on that on a city And you can do on a CI level as well, too but in this case like the The CI part I mean would be handled by Tecron and Python's account might really look like the Tecron features directly Make sense The other question I have is like in Kubernetes like the daily server text declaration as an input So we do things declaratively rather than imperatively So let's say if I have my pipeline as code or if we forget Kubernetes for a second Let's just say we define our infrastructure or a pipeline as code How does that the declaration? Matter here like why would someone consider tools tools like Tecron Which which dusting in it in a declarative way that we we define how we want to see our pipelines Yeah, so that that's more like a question for like what's the advantage of using Tecron in this case Is that is that what what you're doing with Sections like the card is like a pipeline like all the Part time inside Tecron that I think like all those things like a very natural So everything is like a is a is a no sharing Sure, as we said so a lot of products are there of CI as a demon and a big fat demon as we call it and And and I'm trying like a lot of different things when he is like we are talking about everything is done as a Q&A CRD as for the viewer will know what are they and All those concepts like every concept of the pipeline is a CRD So you're like different things Different things in there in Tecron like to build a pipeline and you can for example, they are your You're like you have your task that belong to a pipeline, so a pipeline is going to be able to reference like a task and and you have you have like to set a task you have different steps and tasks, pipelines and All of the resources like they're all like CRD so you can manage them directly on the on the platform So that the advantage is that in this case is like you're going to define your pipeline like which communities resources and manage them as communities resources as well And that's all you you're going to describe your Awesome, so Chris question for you. So you have been in the industry a long time so so like from from Let's say if you if you think as an external point of view when you first thought of like what pecton or Came to know Kubernetes native tools like these What were your primary questions or concerns? Um, I mean my primary concerns were around I've been in the industry this long stability But after that right like these products have matured now so it's it's more about like management and creating you know good practices and processes to put in place for these things so That's kind of my biggest concern now is that we have all this great tooling Finally, right like we can do all these a mad all these things that we couldn't imagine we could do before Now it's time finally here But we weren't you know sure of what tooling was going to come in place so let's Figure out the process which could lay down and you know tecton YAML That exact process for how we want to do things in the future So like the intersection of the two I think is interesting because we've we've come to that point where it's now like alright I can do all the things How do I do all the things and so like instituting that process as kind of code? That makes me feel very good about things because declarative configuration is Very hard sometimes because it's not just one configuration. It's always we've got dev environments or man Staging environments and all this other stuff. So you got to have like good configurations for everything You hit the nail on the head and is a similar question. I got from from some customers as well Well, like the first question they say like is it being adopted like and and it was like maybe two years ago When tecton was still younger that how is that option are folks using it in production and And in the similar line the other question I got is can I just use tecton and then just do everything on my own like using the open source Version and how hard it is for me to just focus on like adopt on on on my own social as the expert So how would you capital capital D? We're not letting Him escape with an a Article the expert. How do you address those questions like the adoption of? Tecton and how easy or difficult would it be for an engineering team to do everything on their own? Or tecton so you can definitely do your things on your own Do most of the things on your own And on the on the open sheet first, I mean things to be a little bit harder I mean when you're going to start like so you can install mini tube or kind of kind of like that and they start like this to try to do the extreme installation and it's probably going to work on but I went into a like To need to move it like to position to open sheets and kind of thing like that You're going to see that there is like things that I mean to work that that well anymore with the extreme one Because you can see that there is a like because of the security constraints that that we have on the open sheets It's like things like another into install properly that it seems to be missing contact like kind of thing like that So that's so that's that's why we offer inside the open sheet pipeline is an operator code. I think we install multiple things properly So so like everything would be Next integrated like between all the different services. So there's different services inside inside open sheet pipeline, which is a trigger It's a project trigger like it's like usually you wouldn't sell pipelines and figures together Because trigger is something it's the thing that's going to reply to answer to events that's coming From outside. So for example when you have like a github Webboot or different webboots, you want to fire a pipeline. Usually you would install trigger So that's open sheet pipeline like I do the integration because of food and and for other another example that the integration is done is that for when you want like to build like a Contenary image on the open sheet and you need like some kind of project for that So the way we Like if you if you're going to do to try that See I'm going to it's not going to work to build the image But we do set up like a service account like in a way that's very secure or we like and we make sure that People can just use build that directly whenever they're going to use the past of the build up I could build a container then there will be able like to do so and there will be able like to reuse The open sheet registry as well that is it. So it's all those integration with the is a greater Open sheet ecosystem. That's the advantage of using the open sheet pipeline that And yep, so so you get so you get all those features and And and yeah, those are those are mostly Mostly like a new we make sure that everything is You Awesome, thanks, and I guess that that also answers the question of adoption because Products like open sheet pipelines and and I know many other products are using tecton as the underlying engine So so that that speaks for the adoption point I know I asked a lot of questions. So so I'll pause now and let Samuel go ahead if he has any any Demo to show or any any overview for pipe dinas code Hey, thank you, and if you have any questions or any things or some people of the viewer We can enjoy it me. I mean, I'm not going with that I'm going to show what's what's happening the code and it's It's a death feature that we just introduced with the last release of open sheet pipeline 1.5. I think second and which is We and it's it's really been been in development right now and the goal of that means the code is that to make much easier to To develop your pipeline. It's so the goal of section by default like it's really like a I see a tool like to give you a lot of The flexible way to do a lot of things together and and people can do People can do anything like anything with it But it's very flexible with the point that it doesn't have like a flow that People would expect or for example, like a lot of people that comes from a text on Coming to us and asking us like how do I do? How does it work take turns like how can I get the same experience that I have on the on other See I tools like these abactions or try to see eyes or mad at and How can I have the same experience? So currently like what how does it work with the text on is that I need to stop making my pipeline maybe it's going to be energy people and I need to deploy it locally on a on the on my cluster and After that the pipeline is going to end all like the event but if I need to modify the pipeline like I need to Modify it or maybe like if I'm not if I have good at it like I'm going to use it up the way If I'm going to if I have a it's not like I'm going to Ctl is it it would be like a bad because you're going to lose your your Confidiation it's like whenever like you're going to be talk over Anyway, we Simmel sorry to interrupt, but could you increase your font size a little bit, please? No worries that one of the audience members asked for it. Yeah. Yeah, I know we yeah Thank you if you could do an echo on the terminal as well so that the audience could see if the font is Yeah, let us know Thank you. Thank you. Thanks. Thanks Okay, so yeah, so pipeline is a cause give you like an opportunity like to get like all that flow that makes a new To develop your pipeline like inside your people and and make it and make it easy to be easy with it so the future that we have is that That we have on pipeline is a cause like the flow the way the flow would look like is that It's the same thing that you see up from experience with traffic here. I always get up the actions and another thing Is that you have your people you send your your PR to the people? if you thought to have like that take turn the that take turn directly inside it, then it's going to detect the pipeline that you have inside I'm going to show the pipeline after and And and then it's going to pick it up and automatically like whenever you do like a full request You're going to have like a statue the same things on the top With the the normal status like he has like some cross coverage and here's like I have some details and feel like that So so that's that's something that gives you for free Which is something that you don't need to set up because usually like you sure like it to get that experience Like you'll need to set up a lot of things for pipeline In charge your pipeline to make it work But here is like a code like let you focus on writing your pipeline itself like the text on pipeline and all that running behind it like that's like doing like updating the Check the API the github checks API, which makes you tell you like if for example the The like that's just API like it tells you this company This is a key is very dedicated and that That's that's all you think you you can do Full request and push so it's actually it can act on full request and on push It's you post like this action so the final action that you you would see it's actually something that we use on the on trial and That's important because I call so for example if I do if I go here and And I start to do a slash free test like I would get to automatically like I do with part of the of the of the pipeline It's going to come out into effect that let me go over the overview first and Yes, so that's that's the future that the people like there is a different More feature which I'm going to show that during the demo And something that we make sure that to make it To make from the start is that is that we want make to make it as not secure But not open to everyone by default because a lot of the eyes are there when you open them by default like this I'm security issues with full request from someone who's not part of the organization for example We would be able like to Explode some of the secret there We by default like everything is is limited like to the people that's owner of the we of the repo or Part of the organization for example here. It's an organization open she's pipeline So everybody in pipeline is a code part of the open she's open can open or we have like some way to add a file inside the repo to give you the owner and And to give a CL some other people so the point is that that we try like to make sure to don't make a Don't make the mistake that's open to everyone because We've seen in the news lately, especially about the eyes like of exploits on those things And and we try like to avoid that and there's another feature like we have a CLI tool Which I'm going to show as well That's that makes you like to bootstrap Automatically and manage the pipeline and the status and see my life So enough so with the with the blah blah blah Let's try to do it like a demo. So yes, my notes here. You're not going to show like they well the form But that's all right. It's funny for myself or for my for my from my didn't so First of all, like I'm going to go over here, and I'm going to create like a repo that's using a big Detab CLI to create like a repo that's something that people would do would do would do normally like they would have like like a repo on GitHub and They're just going to I'm just going to create it. So let's do that. So that's just one of things like I don't need to explain I'm going to say it's going to be a Python repo and I'm not around If I really want and it's going to create it and it's going to check it All right, so it created like so that there's no magic here like that's not our things I just created a repo inside GitHub and that's fine So now that people have been created Before I do Before I do something like I need to change that's the way Because I'm not using HPP on my machine. It's only HP so it wouldn't work on the push But anyway, like you can it's not so I just set up my repo. That's the first thing that I have to do Now it's like a let's say that This repo is going to be like a Python app like I said before so I'm going to create like a small pattern. So that's Python app would be would be a very Python app and I'm going to create like a file with AI and Here we go. So I have like a small file. So that's Python like compile Compile so you can run it I think And But there is like some some things in there But it's not like proper Python code if you know Python like you need to have Till I think you can tell you that those variables are very easy to define it in the other way Or you need to do those conflicts like another way as well But I find like I work like I wrote very because like just to show like what I'm going to write a pipeline And I'm going to add the pilot like it's going to be it up and I can iterate my pipeline over it as well so so here's like I've created my My pipeline my in my app that's a Python app on the things like I just created my So now I'm like I'm going to use the I'm going to use the key and pack repo to say that I want to start like to End all that repo inside pipeline as a code So I'm just using this so this tool like it's a tool that we did It's for pkl impact. It's a plug-in to the pkl and cli the pkl and cli is the standard cli that To manage the texture on the on the common interface and and this is extended so when I get Let me let me So we so we started to We start like we start doing that like it should always be interesting for a nice space So the idea is that every pipeline that you develop like the user would develop they would develop that inside the only project inside open chief and and that's where like you would you would have like all your all your all your results and all that and If you have a team of different people working together, they will give access to that shared repo and they will be able like to develop there their own The pipeline one question and Schumann I would TKN PSE dash eight show what that what? The command is expecting as inputs or what the command does in general You don't have to yeah. Yeah, sorry. It didn't mean to I can I can do the TKN fact people is just like it gives you like a so yeah That's a good question because I should have introduced that before and So repository is is is that is that here that we have introduced part of that kind of a code? It's something that that you have That that is something that that that's not inside the inside spectrum itself But it's actually something that we work upstream to make it more standard So we have on pattern as a code you have a way to Decify repository. So you say like that's my own repo in there and It's going to end all that event. So it's a push or pull request going to that To that to that to that branch. So it could be main or for example, really is one point year Oh, really 2.0. So that's that's a CRD. That's actually the configuration that state that tells Happens the code on which namespace this repo is going to be tested and which user like It's like the user created that that's before you saw it as the right So we're going to install only on that on that namespace as well where we'd be able like to see it and and think and It does work. He's just like the status. So all the status of repo like to say like this I've been delegated like he has like a green green and nothing which I Would drop there that gives you like other such event. So, okay So that's a So before the pipeline as code. So my experience maybe a few years back where we had the pipeline run where we defined the Dynamically inputted the repo which was feedback to the pipeline if it's a private repo you have to add the service account or the secret for that and And I guess the repo as a CRD was introduced more recently What is one of the advantages of having this repo CRD over just entering my repo as an input like like previously? Yeah, so there The advantage is like that those are two things you can think I Start like at the The repo itself the CRD of the repo would just like be able like to To tell Python as a code that the diff user wants to handle that event So because the difference is that is that usually if you want to do that kind of thing You need to write like some event listener inside triggers, which is like the way you do that Right and kind of thing is like is that repo thing like you don't have to do that Like it's a it's a easy way because it's an open-ended way You don't need all that That you the event listener and the and the triggers and a trigger template and all those features like from the triggers Like you usually need it like you don't need that you just need that to specify the repo itself and And the type of even and I would handle it and after that I mean the pipeline run and all that things like everything that gets fit up like I'll show you like in two things I just need to bootstrap and I'll show you it works. Maybe it would make more sense Let me know if it doesn't but hopefully does come to the repo with that and You'll see after the bootstrapping right work. I'm going to say like I want to create it inside the Well, where do I want to do it? Yeah, open to demo test So that's the repo So it did automatically detect like which repo you are on so I'm going to use that I'm going It's going to say like whenever there is an event coming from that URL and going to target that point which is meant and Going like on a pull request or a push point. It says like I'm going to say pull request and and then It's going to handle like those events and it's going to check out the the code of Of the repo and going to see to discover if there is any pipeline pipeline inside the data from the actually automatically test Let me let's need that first like it's going to ask me if I want to create it Yes, please and now we're going to create like a text on power. So which this is the thing I was talking about So the text on file So here's like it's created like a simple pipeline So I'm going to edit it and that's where like things like I'm going to make more sense So it's automatically created like a pipeline run So maybe you've seen that before like a long time ago Usually you could have like a pipeline and a pipeline run that calls the pipeline and test But you can have another way as well You can have like one single pipeline run which are like which have everything embedded So you can have like a I still have a restarting the pipeline rest directly. You can have a pattern stick It just make it easier for people to understand that you don't need to have to have like a pipeline separated from the pipeline run But they can do they can adjust like embed the space that I see inside the pipeline run. It's very convenient it is much convenient yet and there is there is a pipeline run that pipeline has been created recently and It adds like a few annotations. Those annotations are specific to the pipeline as I got So there is one thing that I need to say is that a lot of a lot of those concepts that you have to hear Everything that everything that the everything that that pipeline is like a standard pipeline from Contactome so we try like to not diverge. We try like to do standard things not introduce like a new a new DHL like a new a new Configuration language everything like is a standard The only thing this is shown is those annotations Which are great to explain and there's a little bit of difference. It's going to answer your question before is those Viable so those variables like they are not like your text them. They are like coming from my text on the second and Those are going to be replaced automatically by the event. So if they're coming from GitHub that comes well Slash the mobile chip I'm going to be replaced automatically and going to be replaced that's on that position So so that's that's the advantage in that case of like you don't need to specify like all that impute and all that thing and so everything is going to be like a variable that's going to be dynamic and You don't usually you just say like that and even if like if you move your report somewhere else Those are going to be replaced properly in some way somewhere else And can I use a single pipeline run the ml for for multiple repo bills? Or it's a one-on-one relation every repo. I need one pipeline run the ml It's currently like a one-on-one repo But uh, you can potentially I didn't try to be honest, but potentially you could uh, you could install that same repo to uh To another uh to another so that's them. That's them source code. I would say another repo and And I'll leave that there decently Uh, but uh currently it's like you you like Like we like we took the design decision like to make it like just one-on-one repo story like one But really like maybe we thought like we'll spend your quick future request for that And I will try to To get it very much. Uh, it's actually much other other. Yeah. Yeah Like you know But anyway, like let's go back to the to the things like those annotations An annotation that's inside I find as a code with Repair like what do we want to end up which even we want to know we want to even like we want to end up a full request We want to end up on the main And but you can have like different intact like with a greedy operator Like we say like I want to end up like every tag like 1.0 2.0 and I want to make a pipeline for that We should do that as well And there's another magical things in it Uh, if we are saying like I want to be able like to install the task called hitlone Then what it's going to do is like it's going to go over text on the hub And it's going to fetch that the latest one from hitlone and ultimately you'll be able like so you'll be able like to use it so just before running the pipeline is going to Get the key to cut and get and uh and pipeline code will put it inside The advantage is that you don't have to have a you can be used The the the tecton hub That and you just need to reference like hitlone and you always get the latest one And there is like a different thing for syntax There's another feature that we add like I've been requested a lot and that you can't get from this With the normal tecton that you can get with pipeline code is to be able like to only get the last pipeline so One of the problems we have with tecton is that uh, is that we don't clean up like those pipeline run But uh for different technical reasons we cannot going to go over or right now But I guess like uh, since we are it's easy to do that in pipeline as a code It's like you'll be able to say like I want to only keep like the last pipeline run And uh and uh engage with it So it generates like that pipeline as I said before like he has like a few variables in there Which is like those variables like that specific to pipeline as a code But those are viable are what's coming from the triggers from the from the trigger event And uh, and yeah, so so I just put like some standard text the task in there Like when it happens, they could like just generate them like it's going to use like the gift from task So that gift from task like it's a task right? It's not like a task space But uh, those things that uh, since we say before like I want to uh integrate it So automatically the thing to you can uh, we use it like automatically and uh, and and after that like I have a simple task so no task which is going to uh It is like it's not a task space it's a task space so where you can embed uh dicey and it's just going to uh exist here So that's uh, so that's uh, that's uh, that's uh, that's uh, that's uh, that's the thing So if I'm going to first of all Something that uh, I need to I didn't tell about is that Python as a code currently is very tight to get up, but we are working on the Not give you a support and it's very tight to a github app github apps are like applications that you can Uh, automatically like it's all inside your repo. So which I'm going with something that I'm going to do right now That's all done. I'm going to copy that and I'm going to configure my github app which I've created Before and I'm going to configure like on the repo that I created So basically I'm going to say that the app is going to handle the My my repo that just gets created and And that would be and that's the only thing that the user will need to do to add section as a second as a code to the own to the own Open to the to the to the own repo So that's they just need to add the the app. So that's Now it's like it's been installed Now I'm going to Add it commit it Hello from back And I'm going to push it to the origin I know I forgot some things. I'm sorry. I need to do a branch I'm going to reset it because I don't want to mess it up So now it's like I have a branch called demo open cheese pipeline And I'm going to push it to github and to generate like a full request Here we go. Now I can just and let's see if I can the code Okay, he didn't push it he didn't push it. Oh, yeah I don't know. Maybe maybe this anyway Okay, so it's like that's my full request. I'm going to do my full request. I'm going to create it And you'll see five times the code that's already started. So it's already started. So we go if you go to the UI It's like that's the that's just the thought If you go If you use the pipeline like if you go to the back end if you are an admin you can see that it's generated like a pipeline run in here and it's It just started a pipeline run. So all the execution is generated like in a pipeline run Which has all the load the admin which is really like an admin thing So now it's like it says like I've just started the pipeline run. I did match the So using the repo that I was seeing before like I match it to the open chief demo test repo and you can Watch it from the command like that or you can just use the open chief console Directly to watch the execution So here's like I did fetch the repo. So as I said before like it's like it's using like the viable and to extend it And it's going to do exit here. So that's uh, that's that's a lot of things And now when you go back here, like you have like a max report With everything and with the commit that has been updated So now it's like I'm going to Do like the full request and I'm going because it's a Python problem. I want to add a filing So let's say link is like a linker for Python and I'm going to add that step inside my path and run but since I'm really bad at writing. I'm just going to copy in path So So I'm going to put that here for example. Sorry Let's see there works I'm not going to go to the I let's try to just work Yeah All right, here we go. So where did it like I just add like a new path line a new step that's going to return the piling pipeline Is like I said like this this It's referring to the piling task that piling task like I need normally I should Normally install it What I'm going to do is like I'm going to add piling here and ultimately it's going to fetch that pipeline from the texon hub And from the texon catalog and you're going to to have it Uh, so that's the only thing I need to add like to uh, to be able like to to To do the ci on my On my Python app So I need a piling check And I'm going to push it I think that works. Usually like it doesn't work. It means like I I didn't write it up properly. So I'm going to come back to Where was I? So I just push I just pushed it Uh, and now like normally like you see the Normally should uh, yeah here we go it's coming up It's just going to play that like when you push and it's going to normally it works. It's going to be used It's going to reuse the the piling and it's going to do the piling So the thing like here is like you just need to pop up your pr You can just iterate your pipeline and add your pipeline like doing uh, doing the the check So a quick question if I am a dev and I just want to cast it on on my own branch Could I specify on push rather than on pull request? That that's exactly. Yeah. So when you when you saw before like when you're doing a tk impact people um that that That that tk impact people Uh, was uh creating like was asking you like if you want to go on pull request or on push Then you can just do on push and you can say like on that release On that type That here's like I have well, I don't know what the problem like you don't know I think it's Like it does it did fail. I was expecting that the only thing is like uh, that error like it's a finding error but I guess it's because uh, I didn't specify properly my uh, my uh My limit. But anyways, like I did the it did launch. Yes, like it did use the piling It is like started like to to uh, let me let me try locally because I'm not sure why it's taking that thing Oh, but there's a there's a thing with the task But um, but yeah, like there's uh, like is like we have we have introduced like a new task inside it and if you want it like to uh, to keep it for example, we say like finally is like Like what I have introduced like I don't want like to have it because I don't want to validate the Python code You can just uh, we do You can just delete Say I'm going to commit it. I'm going to disable the piling check because That I create. I think there's a problem with my uh, with my structure here It's been a long time since I've done Python And I'm going to push it and I like it like it's just it's going to pick up like the change and going to be the pipeline usually Uh, usually that pipeline that change like you need to do live on the cluster But here's like can just do like inside the code and that's the main point That uh, that's where it is like it should be green because we remove the tail the chain And also other point I wanted to point is that you're doing all the gate based workflow Which developers are very familiar with like you're not doing any cube ctl commands. So it's very natural to developers That's correct. Yeah, we can uh, you can do that and uh, it's very natural Like usually you can use like most of the things you can just use the console And uh, and it's not actually like don't I like to use the the CLI even if you really want it But uh, there's as well like uh, the the tool patch like can give you a statue So if I do I can't remember where I created that Uh Where I created my uh my repo, I think it's uh All right, so here's like I have I can list my repos like all my repos in the event I don't know if you see it properly here. Maybe it's better Uh, you is like you say like it's uh Like that's my all my repo like usually you like a decent people It's going to end all like that event, which is the full request is like in this case like it's infected If I start to do I describe On the on it that is going to pick up the last one It's going to tell you like that's the last one that's successful on that commit So that's the commit that you are using But uh, the the other one that was before like that was failing and it gives you all the status In there, so usually you would you can use that We are working on integrating that status uh inside the open chip console tool, so hopefully we get we're we're going to have it The scenario rather than later and uh, and hopefully you can see like uh Soon enough you'll be able to see all the repository status So so you can drop like all your list of your story inside the inside the inside the console and uh And uh being able to detail it like which s h a it's been updated and I think that So that's uh, that's the demo Uh, I don't know if I'm out of time for question or you got about 10 more minutes folks. So you got questions Let us know put them out. We'll get them answered please if we I know there's a lot of concept here and uh, I I uh, yeah, I I think I could have spent more time on the concept but uh, there is uh There's uh, there's this thing that I wanted to talk about which I did break down Uh, there is the if you help with the actual which I was telling about before is like you can have like a You can see if I like actuals Inside uh inside your repo and say like uh, if I have a honor file And uh, I'm going to say honor equal, uh, let's say one And then uh, then the one would be able like to submit a full request on that on my repo and Automatically like it would uh, it would uh, it would be a lot of work But if not like it would be denied because uh, because uh, as far as I know like, uh, the one is not part of the official patent authorization But uh, yeah, so that's uh, that's that's uh, that's one of the things of the actuals that we do We have other features like uh, we have The The resolution for the resolutions like I was saying before is like you can specify like These are things inside the resolution you can say that uh, that uh, you can say the You can say on the reason you can say like something from the hub or you can say something from local Uh, so from the repo somewhere else in the repo or remote you are as well And there's one other thing which actually I wanted to say because you asked for it The one before you were asking me like, uh, how do I do like for private people? How do I check out private people when I have private people? Yeah there is something magical with uh With uh, with Python as a code is that um, with for private people history every time You um, every time you uh, you start like a pipeline run Every time you start a pipeline run you uh, the What what uh, Python as a code does it's going to To uh, create a secret inside that uh, main space where we run it So it's secret that uh, that belongs to to you. There's the one of things right now And that secret is called back back give back we could opt small open chief democracy So basically it's going to give you a basic hope that your organization which one you save and open chief And uh, that's the name of the pipeline. So that's that's created opportunity that that token is coming from the github app But when you install a github app, you say like I want to give you the ability like to generate tokens from like the app So since Python is a code as Knows the token so it's going to generate that automatically And what you would do inside your pipeline, uh Inside your pipeline like it's all documented here. Maybe we'll make it a little better You just need to add that workspace to the github touch As a document is called that the code that's going to reference That secret that gets auto generated So so that's that's from a viable I was saying before so it's called dynamic So you can transport the different things and the magic here is like github is going to see that workspace which is a feature of tecton called optional workspace and uh And that optional workspace is is generated with like github config and it's in a show with the token So it would be able like to uh Run to check out the code from private report. So for example, like I'm I'm developing on uh on github enterprise So we keep looking at enterprise and I'm using it a lot as well I do need it as well automatically like to make it to check out my code It's nothing wouldn't work without That is that like I can really appreciate that because I remember like before I had to create a Secret and then attach it to the service account then and refer it Like all of these like in order to appreciate how automation is helping you sometimes have to do things manually and then Realize that oh when it's when it's automated how convenient it is I agree and and there's there's one thing like I'm sure like a lot of people would ask like uh, the community like security, you know, like what's what's happening with security And that's something you did think a lot about a little bit so So we need that to give the service act not our service account That kind of account needs to have the ability to create secrets and delete secrets But that's on on every name space, but we restrict like to only delete and and create And and those secrets are only secrets are only created like inside the user User name space, so it's only people who has access that user name space would be able to see them and delete them But uh, which I like to restrict that we did give an ability like to we have a way to configure for another code And uh, you have a conflict map and you can disable that feature if it's something that you are too scared about That is amazing sure like The the the amount of information you showed and demoed in a such a short time frame is is amazing And like there are a lot of other integrations we tacked on I know Schumann sure is like the the git clone and the lint But there's also like slack integration So let's say if your pipeline ran and then you want a notification to appear on your slack Yeah, there you go. Like you can you reuse the the tasks in tecton hub Yes, that's correct. Yeah, I I give a I give an example I actually write a task for the last like if someone maybe undo a shamlet plug here Like which make it very easy to uh, to to plug your Like our many pipelines like it has five percent of the code So we report the success like with an image to create and everything Which actually uh use and you will get like a nice, uh, nicely satisfactory But uh, let's get uh five times. I got currently like support on the g-tub Check for notifications But if you want like to use like I documented it here because a lot of people have been asking the question like how do I do Like integration, but you can just grab Grab the example from these applications here That's great. So we're five minutes To to the end of the show. So if let's say if I'm a dev and Now I can't wait to get started with tecton or or open shift pipelines If you could recap the starting points like where to get started the dogs the the links Just so that they have it referenced I'm guessing like you're going to welcome so not so you're going to have uh, so the the github report currently Is uh, is the source of everything? Uh, I did first like I did I did uh, I did uh, I did um, I worked through video uh on youtube Sorry But yeah, I have I worked through the video But if you want like to do the inside inside guide the inside guide is here Like he has like all the documentation I have as well I work through video to go like over the install process and which because there is like me to create like a github applications and all that thing but everything is uh is details here and You can you can just like it's basically you just need to install like a really the channel And create a github app and after you're pretty much uh, you're pretty much done But you need to do it properly though. So that's why like you need to plug the communication But feel free to go on the github repo and uh, which is often she starts and starts as a code and you'll get You get documentation. Hopefully we are working on documentation on a Other type of documentation that's about more details, but uh, currently on this preview. I mean The next feature We're working on Currently it's going to be like one important thing is like being able like to support different gts and github so So like Like big bucket. So that's something that that we've been working Lately, but a lot of these things we say that to github. So there's a lot of feedback going to be done And hopefully you get big bucket github and all that stuff done whenever we get there Awesome, if it's okay. I'm gonna drop Schmerz, LinkedIn and twitter handle on the chat So that if folks have questions they can and reach out and then pegged on and and Has our public slack chance as well We have three minutes left. But I have another thing like we are working as well on the concept of things too I mean With some other people from the community We are working on the on making like all those So there is one thing that I'm not super happy about is the annotation the notation is not The notation are not very scalable, you know kind of things like That's it But we are working on the on Upstream like part of the workflow working group in tecton. So if you want to join the The tecton channel there like we are we always there and to make like all those concepts like I said, it's more standard than annotation and inside the inside tecton it's called workflow actually and uh, but hopefully When uh, like it's another topic to talk about maybe one day I'll be able to speak about it here and Yeah, feel free to drop on the slack on the on the upstream like if you wanted and Take some slack and you get uh, you can contact us there and That's it too I'm trying to find the link to sign up for tecton slack. I know I'm in it But I don't remember the sign up. Uh, I think it's tecton cd dot slack. Uh, let me try to get Uh tecton cd dot slack dot com Okay You have But I don't it's not loading for some reason can you drop it? I paste it in the youtube chat Oh, you did. Okay. Thank you All right. Thanks so much again. Shamuel For for coming to the show and uh talking about pipeline is code. I definitely will try it again this week And craze so now that I'm back It's time for you to visit canada and travel across the the course of new bronze week when the border opens When the border opens dot dot dot I think the the border just opened for european so maybe i'll take it before I hope yes, please. Please come visit All right folks, um Yes, thank you. Shamuel and thank you dawan for putting this on this has been great. Uh Which one is the best option? Tecton or arc That's a question coming in from chat or arc. Is it like an azure thing? Tecton or arc i'm not sure I've heard of Is that if that's an abbreviation of something? I'm not too familiar Uh, yeah, if you could clarify With arc tomorrow, that'd be great tecton versus arc. I'm not coming up with anything so I guess Usually the answer is tecton. I don't know. Right. I mean argo. Okay. Sorry. Yeah tecton versus argo well, uh Argo is more like a github in github's uh, like flow as a as like the question that diana was asking as well during the show uh, where you uh where you like usually with github like you would uh You'll manage your your full uh Your with argo you're gonna be full resources like uh for for like a secret communities and all that play like all that stuff when tecton is more like It's more It's more focused on the on pipeline and on the on the developing pipeline I mean at least for organizing nice like uh, the differences between the products I wouldn't be able to say I'm not really an expert with argo but uh but uh Like usually like the way I would uh use the argo is mostly on tv's which was doing a great A great great thing like it would be able like to uh deploy like all my all my secrets and everything like that and my service account or stuff anything and pipe and uh and tecton I would use the pipeline and all And especially like the the tecton catalog which is uh, which has a lot of tasks So you can use uh all that sort of beauty and comfortability like I made a shameless plug on one of my uh recent argo videos on youtube chat. So so if folks would like to take that out I think I need to I need to because I don't know very well. I just use it but So I dropped the link in chat as well to the um A talk that cmock did on using tecton and argo together in kubernetes and how awesome it is So yeah, hopefully folks find that helpful. Did you say you dropped something in chat? Dawon, I don't see it. Oh um In the in the youtube chat Okay, let's see to the youtube chats right right below your comment. Okay It's just not coming through on restream. So I got a Okay, okay like repaste it basically. It's okay. The the link you paste or cmock that that Encompasses everything. So that's good. Okay. I mean if you're sure I wouldn't want to discredit anything that you did Because one is awesome. Oh, thank you when you look up awesome in the dictionary. There's a picture of Dawon next to it. Um Gracias no problem. No problem at all. Uh, yeah, cool. All right. Um Awesome great show. Thank you all and we will see y'all soon stay tuned to the calendar like and subscribe as always and um We will see y'all soon Stay safe out there folks