Yeah, I'm so tired. Really? Why are you so tired? Well, I don't know. I wonder why it could it have been the 11 hour flight? I mean, yeah, yeah What are you doing mate? I got myself a Diet Coke, and it was a wrong move. I'm not I need to convert this I've got like you got the jitters. I've got flying sugar to the jitters. It's not necessarily gonna This is gonna be okay Oh, no, it's actually really nice Anyway, um, we should talk about the web Yeah, okay, so I I was upset by something that happened a few months ago And it was do you remember when? Did it result in an argument on Twitter? No, I actually kept this to myself I just got I just got sad inside of myself, and I held it in and this isn't me now Okay, you got to let it out because it can bring other problems in your life.  So Microsoft with the the user voice thing where they were asking people Hey, like what what do you want us to work on? Yes? And one of the things that by the way, I think that was brilliant. Actually, we should we should probably do that one of the things that shot to the top of the list was Stop doing what you're doing and just use webkit boo. I don't know that's not I don't think that's the right outcome but just the idea of them Stopping what they're doing and taking on another browsing engine that made me really sad because I really think it's the diversity of browsing engines Which which makes the internet a better place. Well, we had this when we when we forked To make blink was it wasn't about one code base one code base is not watch what you want because then you end up with stagnation what you want is Standards I can understand why developers might want like a single browsing engine, right? because it because it can be a pain sometimes especially when you you develop a thing and You know your wonderful work of art in a couple of browsers and then you go to the third one and it's turned it into Some kind of expressionist modern art When I was working at startup I had a series of post-it notes on on the wall, right right one for each browser Of what like things to avoid or things. No, no, no It was just like post it note internet explorer post it notes safari firefox to remind you to test in their browser Is that what it was? No, it's because I'd be coding Why did you have the list of well if you could shut up for a moment? I might be able to tell you I don't like this jet like Jake. Oh my god I would jet like I had it one for each browser on the wall and then when my Wonderful work was destroyed by a particular browser. I would be but rather than getting really angry I would just calmly stand up pick up her sharpie walk over to the appropriate post it note and just draw a tiny phallus and And then I really genuinely thought it was gonna be a grown-up little check mark If you found out that it was your bug Did you apply the appropriate diagram to self just to my own face? Yeah, right and and and because this was back in the day, you know back in the day I've grown up since then you wouldn't do that now. Would you know I still would do this But here's the difference is like back then the internet explorer post it note was run out of space It was riddled absolutely riddled mate But and I but I do think like you know modern day Internet Explorer has really sort of turned over But but they so that's they made me really sad when people were sort of wanting So really wanting a browsing monoculture because because we did have it with IE 6 at the time Yes, and yeah, we did and it was it was actually awful because the web stagnated You had a complete lack of progress for for years the diversity in browsers It actually gives developers more power because if you in a monoculture like say say everyone went webkit Like who gets to decide what features get implemented. Oh, yeah. No, this is the stagnation. This is the monoculture thing, right? This is exactly. Yeah, it'll be webkit that decides in the same way that on like native platforms Like it's Android that decides what what features get developed and I'm feeling this with with service worker at the moment. I Know right. I know I know a little trick pony. How have you been? It's only been half a day since we last spoke Right, but at the moment it's in Chrome and it's gonna be in Firefox soon And Internet Explorer look like they're they're gonna take it on as well But Apple we don't know mm-hmm, but this is it puts developers in this position of power because if they can make sites work faster in Chrome Firefox and you know eventually I Then Apple are gonna look at that and they're they're not gonna they have to go. Well, we're not live We're not gonna have this we're not gonna be the rubbishest in the town Right, so we're gonna have to implement service worker and the people that made us do that is real world developers It's brilliant more power to developers. Yeah, and that's what multiple browser engines give us


Hi everyone Joe for jashby's casewrakes.com yep with another case of 2023 tops five star baseball pick your team Five very big. Thanks to this group right here for getting in on it Appreciate you on a Wednesday on a new release day home day Thanks, everybody. There's John last bottom mojo twins Didn't didn't sell the rays. They don't have hits in this on they're not on the checklist I guess if the checklist was wrong just doubt it, but if the checklist was wrong and there are rays in here We'll just randomize it to one person. All right. Good luck Here we go Yeah, here we go. You got parallel on top Usually means a non parallel on the bottom. Also We have seen Some cases with with a box that has three hits in there instead of two Let's look out for that as well We got Logan Ohapi Rookie Auto for the halos that'll be for Jordan and the Bruin score no tee Whoo, look at that Ichiro four out of 25 Mariners edition going to Steve Kelly and Seattle Nice hit Nice air. Yeah Shot it out. Let's see if we can get it. Haven't seen him yet. Oh, we got it Hayden. Wiznessy Wiznessy Wiznessy Rookie Auto for the Cubs Eric Houston. That's for you E8. All right and over here is Wow 9 out of 20 Julio Rodriguez so Ichiro in the first box Julio Rodriguez in the second box for Steve Kelly Pick the Mariners straight up Nice five-star signatures card So Yeah, I can say Hayden Hayden Hayden Hayden Hayden Hayden Got it nailed it Jonathan. I Could say I could say his name five times fast. All right. There is Michael Harris the second rookie Michael Harris Nice your rookie of the year That is for John Jackson and the ATL An angel 30 out of 50 read debt mers for Jordan and the halos We've got another case in the store ladies and gentlemen. We are running out of time on the stream time I think that's the the three-hitter nice a little bonus from tops. Thank you. All right. Good luck everybody But yeah, we got another case in there. We are kind of later in the day, but You know if you dig deep sell it out. We'll do it. We got a drew waters That's gonna be for Stephen and the Royals We have a Dave Winfield eight out of ten We're just talking about Dave Winfield earlier today. John Jackson with the twins gets twins edition of Dave Winfield all those Protein he got drafted in the NFL got trapped in the NBA ABA baseball you know people people say that That he probably would have been a Hall of Famer in a Any sport he played very nice And then down here we have jazz Chisholm silver signatures Marlins Steven with the fish nice jazz Chisholm and halfway through the case Other box We've got the pentambers penmanship up top and we've got a Tyler Freeman on the bottom Cleveland this is for you Alex with that one and we've got a Xander Bogart's 12 out of 25 pentamorous penmanship It's a cool-looking car there Padres. That's gonna be John Jackson with the Friars I don't remember honestly Duncan All the breaks just kind of blur together at this point of the evening JJ blade a Oakland a's Robert with the a's and Then we got a Francisco Alvarez three out of 15 rookie Otto for the Mets Kenneth with the Mets Nice, that's a strong one right there All right two boxes to go Got a snutter silver signature right there and we got an Alec Manoa Alex with the blue Jays Maybe maybe he'll be a good comeback story this year off good offseason clear the head get healthy With the head on straight and we have a Bobby Whit jr. 27 out of 30 the one per case Bobby Whit jr. It seems like Steven with the Royals You know Steven good call he was just like I'm gonna I got the Royals give me another Bobby give me a Bobby Whit There it is one per case Bobby with jr. 27 out of 30. I don't think they're actually one per case, but Yeah, not bad right 49 bucks for the shirt shirt thing Bobby Whit Can't guarantee that ladies and gentlemen, but it sure feels like it. Okie-doh Let's do the top one first. It's Yuri Perez rookie Otto for the fish. It's another one for Steven And the last one is a parallel It's gonna be Javier Assad 69 out of 75 rookie autograph for the Kubos Eric Houston with Chicago There it is. There we go five star Another great case in the books. Yeah, that was a great break. This is some really solid stuff I feel like a solid floor for five star cases and definitely a really high ceiling. So Get into some more Thanks everybody. I'm Joe for Jasper's case breaks calm and I'll see you next time for the next five star break Bye-bye


Hi, this is Kevin from BCH Technologies. We've had many videos showing how to unclog a cartridge with a printhead. I'll put some links here. For example, we can soak the printhead in warm water or cleaning solutions to soften the dried ink.  We can steam the cartridge to open up the nozzles. Furthermore, if we made a spongeless refillable cartridge, we can blow air from the top to push the clog out. I was bragging to my friend and I told them that I can unclog 99% of cartridges. Of course, we talk about this at the party all the time, my party. But once in a while, you're going to have some cartridges that's completely clogged. No matter what you do, it's not going to unclog.  Use dry cartridges from eBay and unclog them. This video is for after trying everything before throwing the printhead or printer out. A hell-married method. Do not try this if the printer or cartridge still have some value to you. Only try it if you have nothing to lose. The integrated cartridge is an excellent choice to try this method. Because a used printhead only costs five or six dollars and will not damage the printer anyway. We made this 245, actually 246 refillable cartridge. No matter what we do, the magenta is clogged. If you don't know how to make a refillable cartridge, we have a link here that you can learn how to make them. So basically, we're going to throw this cartridge away if we cannot unclog it. Our plan is actually get a pot of boiling water and boil it. The first thing we do is we take old ink out and empty out the cartridge. We don't want to make a big mess. I was worried about the metal part going to rub against the printhead. So I put in a plastic basket. I know you like to wash this. So I'll be back a little bit later. What happened to my basket? That's not good. So we start adding ink back to the cartridge. And then we put it on a clip and prime it. We took the old cartridge out and put our boiled cartridge in. We use the printer's building function to do printhead cleaning. So the printer still recognize the cartridge. That's a good sign. Print a check pattern. So the magenta is much better than before. The boil is almost normal. However, we still can see some clogs there. So this time we're going to fill it with cleaning solution. We're going to fill the cartridge with cleaning solution and boil it a little bit longer. We use this from bchtechnologies.com and under accessories and anti-clogging agent. And we use this triple action cleaning solution. No basket this time. We're going to let it go for a little bit longer. 346. So I think that's long enough. We are 346. So I think that's long enough. We're not. We draw the cleaning solution out and then we replace it with ink. And now let's try see if this works better. Oh, thanks. Thanks for the comments. I hope you enjoyed this video. Visit us at www.bchtechnologies.com or locally at Grisbrough, North Carolina. Thank you. Happy printing. Cheers.


go. Right so just wanted us to you know spray on those lines just ask the Lord even as we study that the Lord is the one who sanctifies and all the work that we see right what he does in the life of a believer you know it's for you it's for me right we see in scripture this is what he does just like you know how we look at the supernatural works of the Lord Jesus the way he ministered we see that and the Lord says he who believes in me the works that I do he will do also and greater works right so which means it's you and I so the best thing to do when we come across that you know that's the scripture like that and when we look at the life of the Lord Jesus the way he minister the best thing to do is to say Lord you know thank you that you've called me to this thank you that you call me to minister in this thank you that you've called me to be a blessing in people right so so that is agreeing with with God when we agree with this word we agree with God himself because we are agreeing with what he says we are continuing to we're engaging our heart and we're saying Lord I believe that right and and whatever we have problems with you know challenges with believing everything God you know it seems to do wonderful it seems too impossible you know how is this even possible you know ask the Lord for ask the Holy Spirit for more revelation ask the Lord and he will testify about he will witness he will testify and he will lift up the name of Jesus exalt Jesus so it's all plain and clear and he will give us the understanding and one of the prayers I think there are many prayers that we can pray but one of the prayers that we see in Paul's episode to think to Ephesians and we see that and that's something that we can pray over ourselves and pray and declare over ourselves right where he's this is what he you know prays over the efficient the believers in Ephesus right Ephesians chapter one and this is what he says therefore I also after I heard of your faith in the Lord Jesus and your love for all the saints do not cease to give thanks for you making mention of you in my prayers that the God of our Lord Christ the Father of glory may give to you the spirit of revelation and wisdom in the knowledge of him the eyes of your understanding being enlightened that you may know what is the hope of his calling what are the riches of the glory of his inheritance in the saints and what is the exceeding greatness of his power towards us who believe according to the working of his mighty power which you worked in Christ when he raised him from the dead and seated him at his right hand in the heavenly places far above all principality and power and might and dominion and every name that is named not only in this age but also in that which is to come so you know we can just pray this over ourselves and say Lord I just pray that I want to give thanks to you and I pray that that I just want to give thanks that you've given me the Holy Spirit who is the spirit of revelation and wisdom and that you will give me revelation and wisdom in the knowledge in the knowledge of Jesus in the knowledge of God and you know that and pray and say Lord the eyes of my understanding may be open maybe enlightened that I may know what is the hope of your calling that I may know what is the hope of your calling and the riches of the glory of your inheritance in the saints and and what is the exceeding greatness of your power Lord may I know this the greatness of your power towards me towards us who believe and according to the working of your mighty power which you worked in Christ so you know this is a great prayer to pray and ask the Holy Spirit to reveal the spirit of wisdom and revelation okay so so yeah so every as we learn these things you know just pray and engage with God agree with God acknowledge and declare that you know this is so in my life right so that's that's you know walking closely with him right okay so last class we we were looking at the work of the Holy Spirit in the life of a believer and in every day life of believer and we looked at several things right we looked at him with regards to holiness and sanctification you know bringing a believer from various things that a believer is held by right you and I held by to that work of sanctification he does the work of sanctification right what does it mean the work of separation from the world the work of separation from the works of darkness work of separation from the things of the flesh right so we saw that he he helps us to crucify the flesh bring to put to death the deeds of the body and he helps us and huge portions of scripture you know Galatians and also Galatians chapter 5 Galatians 6 Romans 6 7 and 8 talks about that the work of the spirit in our lives right and in a way also looked at how he's the one who sanctifies he's the one who does the work of sanctification which means that he helps us he gives us the understanding he helps us empowers us to sanctify ourselves set us set ourselves apart make those choices to separate ourselves right from the things of the world from the works of the flesh and so on we also saw that he abides in us and just like the Lord Jesus said he said that I will give you he will I will give you another comforter he will come he will he will abide with you forever he will stay with you forever and one Corinthians 3 and also one content 6 talks about how collectively and personally individually that the Holy Spirit that we are the temple of the Holy Spirit we are the dwelling place of the Holy Spirit so he stays with us he abides with us and what an awesome privilege to have this God of creation to have the one who one who did these miracles and continues to do these supernatural continues to do this work of refining to have him dwell in us to have him stay with us what an awesome privilege right he also transforms us into Christ likeness to be like Christ okay so that's you might think okay that seems to be a tall order you know I know I read about Jesus I see how he was and how he lived and you know so how is it even possible right but scripture says second second Corinthians 3 and verse 18 says that we are being transformed into his likeness right whose likeness second Corinthians 3 and verse 18 but we all with unveiled face be holding as in a mirror the glory of the Lord okay so that's the first thing we are seeing we are beholding as we look in a mirror we ought to what are we looking at the well the well the unveiled face you know we have that veil has been taken away whatever was hiding us whatever was you know preventing us from having a clear picture of who Jesus was and you know that that is taken away because we turn to the Lord and we see clearly the glory of the Lord what is the glory of God what is the dox of the Lord it is who God is like as a person who we who he is and what he does what are the works of God so we see very clearly we clearly see the dox of God and when we see that when we behold the glory of God we are being transformed into the same image from glory to glory just as by the Spirit of the Lord which means that by the Spirit of the Lord by the work of the Spirit we we behold the glory of God we he takes us he shows us the glory of God who who he is and and what he does and it doesn't stop there there is transformation right we hold the glory of God and we are being transformed into that same image right so so that's the thing you know that's a beautiful thing of being in the presence of God worshipping the Lord being in his presence being in the presence of you know in the Holy Spirit that we are being changed we are being transformed like metamorph which means that it's a drastic change and sometimes the change is unbelievable sometimes we you know it's it's unbelievable to unbelievable to us unbelievable to the two others around us and there is steady change happening from one level of glory to another level of glory change from glory to glory just as by the Spirit of the Lord by the Spirit of God so this is what happens that we are being changed to be like Christ okay to be like Christ with regard to character to be like Christ you know just like Ephesians the the the portion that we read talked about that that we will want to know the power of the Spirit the work of the Spirit right the same Holy Spirit who raised Christ from the dead that we might know the power the eyes of understanding being open that we might know the greatness of his power okay so so that's the beautiful thing that we don't have to shy away from you know just like we don't away from being like right we pray and we ask I want to be like you and I want to be changed to be like I want to be transformed to be like you the same way he opens eyes so that we come and have that understanding of the power of God right so when it when it's transformation transformation in all aspects right there is change we get to know and understand the power of God we get to experience the power of God we get to minister in the power of God right so there's transformation happening and that's by the Holy Spirit praise God right then the revelatory work of the Spirit okay now this is again something that's wonderful so we need to have fellowship with the Holy Spirit we need to have those conversations with the Holy Spirit we need to be dependent on the Holy Spirit why you know we look at these scriptures first one is second Corinthians chapter first first Corinthians chapter 2 verses 9 to 16 the first Corinthians 2 where it says that I has not seen okay as it is written I has not seen nor your heard nor have entered into the heart of man the things which God has prepared for those who love him okay the next verse is even more wonderful yes but God has revealed them to us how through his spirit for the spirit searches all things yes the deep things of God for what man knows the things of a man except the spirit of man which is in him even so no one knows the things of God except the spirit of God now we have received not the spirit of the world but the spirit who is from God that we might know the things that have been freely given to us by God these things we also speak not in words which man's wisdom teaches but which the Holy Spirit teaches comparing spiritual things with spiritual but the natural man does not receive the things of the spirit of God for they are foolishness to him nor can he know them because they are spiritually discerned but he who is spiritual judges all things yet he himself is rightly judged by no one for who has known the mind of the Lord that he may instruct him but we have the mind of Christ okay so several things we see here is actually Paul talks about wisdom you know he the beginning of the chapter he talks about you know how he came and how we shared and preach to the believers that they might have their faith not in the wisdom of man but in the power of God okay so that's how he he starts this whole this I mean this this section right that your faith should be in the power of God and then he goes on to say talk about the Holy Spirit right so he says I has not seen nor you heard okay so I natural our physical organs of perception right physical organs of perception all this is how we get our information this is how we process information or receive information from the outside world or from the environment through our eyes through our ears right so here he says you know I has not seen nor you're heard so you're physically you may not have seen it heard it nor I've entered into the heart of man okay so there's no deep revelation in the Spirit as well the things which God has prepared for those who love him but God revealed them to us through the Spirit so the revelatory work okay to reveal the things that are hidden to reveal the mysteries right so he gives us a revelation and understanding God has revealed and it's like God saying okay you know have you seen this like shining light on it or highlighting something a text and saying have you seen this have you read this and God reveals them to us how through his spirit or by his spirit right so he knows the things of God he is omniscient he knows everything he is God so he reveals that to us by the Spirit to our hearts through through the Holy Spirit verse 14 says that the natural man or you know natural man could mean while well be a person who is unregenerate or not born again right natural Bible talks about natural man it talks about carnal man and of course a spiritual man as well so a natural man does not receive these things why because it is not there in that grid of understanding right they are foolishness and he know them because they are spiritually discerned you know there's a faculty of the natural man which is he's not using because it's not come alive right his spirit is not born again and his spirit does not engage or commune with the Holy Spirit because nor can he know them talks about ability right nor can he know them because they are spiritually decide and but he who is spiritual referring to a person who is who is spiritual who's inclined to the works of the spirit he talks about in our judges all things and so on so because he is able to see things with a different perspective through the eyes of the spirit right there's an added realm that is that is part of his perception which is the spirit being taught by the spirit right so it's a wonderful thing that the Holy Spirit shows us teaches us verse 12 that we might know the things that have been freely given to us by God okay so what are those things that have been freely given to us by God by the grace of God the you know the first thing that comes to my mind is you know the gifts and gifts of the spirit they are freely they're not to earn they are freely given to us here they are what is called karis or works of grace or gifts of grace right they it is it is something that we cannot earn it is not because of performance it is unmerited right so the Holy Spirit gives us a knowledge of that understanding of that he also gives us you know understanding of who we are who we have become because in Romans we read let me just read that word Romans was 8 sorry chapter 8 and verse 15 for you did not receive the spirit of bondage again to fear but you see the spirit of adoption by whom we cried above father the spirit himself bears witness with our spirit that we are children of God so there's a revelation of our identity hey you are not a nobody you are not an often but you are a child of God right so the spirit of God does that he gives the revelation he gives the level he does the revelatory work and the three things you know the things that have been freely given to us by God he gives us an understanding of that right so it is critical that we as believers develop this fellowship intentionally no walk with the Holy Spirit otherwise we are missing out on this right so the things that have been freely given to us by God our identity as children of God among you know other things that comes to us when we engage with the Holy Spirit when we fellowship with the Holy Spirit and he is the spirit of revelation right so so that's something what else Ephesians 1 17 that's I think the verse that we just read that he would open our understanding that you know that the God let me just read that again Ephesians 1 17 that the God of our Lord Jesus Christ the Father of glory may give to you the spirit of wisdom and revelation in the knowledge of him wisdom and revelation in the knowledge of him the eyes of your understanding being enlightened that you may know the eyes of your understanding being enlightened that you may know the that the Father may give revelation in the knowledge of him so the knowledge of the most high God you know how does how does one have access to it and the knowledge that the wisdom that comes from God how does that one access to it of course you know we are one in Christ we are one spirit within but it's through the work of the Holy Spirit right so as believers you know we grow we need to grow in our understanding of him we need to grow in our knowledge and understanding of him and the Holy Spirit gives us and it says that you know what are the riches of the glory of his inheritance in the sense what is the hope of his calling right so when we when our mind when our understanding is enlightened which means that there's there's light that's light which is understanding which has come in and which dispels the darkness of ignorance right so that that is just swept away maybe it's a darkness of even lies and deception or wrong understanding right of ourselves understanding of God you know very low estimation of God sometimes you know and very low estimation of ourselves as children of God very low estimation of ourselves what we can do for you know in the kingdom by his very very low estimation and say okay I'm just gonna go through life I'm just gonna struggle I'm just gonna do this and get by and get to heaven right all that ignorance is cleared away by the light of the understanding that comes from him enlightened the eyes of understanding enlightened that we may see like spiritually look into see and receive okay he also gave this revelation to the Apostles and the prophets Ephesians 3 talks about that if you go to the next yeah next couple of chapters 3 and then verse 5 how that maybe from verse 3 how that by revelation he made known to me the mystery okay so Paul is testifying saying he made known to me that mystery by which when you read you may understand my knowledge in the mystery of Christ so he's testifying no this knowledge this understanding is by the Spirit of God okay it came by revelation it's not something that I I learned earlier as I was training to be a Pharisee okay in fact in if you turn to Philippines right Philippines 3 what does he say what things were gained to me these I have countered laws for Christ okay and in that he talks about circums verse 5 in a Philippines 3 and verse 5 circumcised the 8th day of the stock of Israel of the tribe of Benjamin he talks about his background a Hebrew of the Hebrews concerning the law of Pharisee you know about his credentials about his training and all this and then he says what things were gained to me I have counted loss for Christ indeed I also count all things loss for the excellence of the knowledge of Christ Jesus my Lord for whom I have suffered the laws of all things and count them as rubbish that I may gain Christ okay and let's go back to efficiency so he's saying you know how that by revelation he made known to me the mystery so it's something something which is very very precious right he's saying that this is so precious that if else I counted counted worthless in fact though you know he says rubbish the Greek word use there is the word which you use for refuse or excretion excretement or dung you know who uses such a such strong language to say just to say that this is so precious I've been trained in the best of the best under the best you know teachers but this which came by revelation of the Holy Spirit well this is so valuable I count the other things worthless right says verse 5 which in the other ages was not made known to the sons of men as it has now been revealed by the Spirit to his holy Apostles and prophets and what was the understanding that Gentiles the non-Jewish people should also be fellow heirs of the same-body partakers of that promise in Christ through the gospel okay so this this mystery that Paul is writing about in fact you know Peter testifies and he says you know our brother our brother Paul what he writes sometimes is very complex that people who who don't understand it they twist it and they they speak of things that they don't understand so but he testifies that because of the revelation that has been given he writes these things so Peter himself testifies to Paul's writings right so the thing is that he received by revelation by the work of the Spirit what was revealed to the apostles and prophets as founding you know as founding ministers who laid down doctrine the revelation right first Peter 1 and 11 and first Peter 1 11 okay again of the same thing you know of this salvation maybe I'll just read from 10 of this salvation the prophets have inquired and searched carefully who prophesied of the grace that would come to you okay so he's talking about the prophets who prophesied about this salvation through Christ through the cross they inquired and searched carefully searching what or what manner of time the Spirit of Christ who was in them was indicating when he testified beforehand the sufferings of Christ and the glories that would follow to them it was revealed not to themselves but to us they were ministering the things which have now been reported to you through those who have preached the gospel to you by the Holy Spirit sent from heaven things which angels desire to look into I know that's a long sentence but but it just talks about how the early prophets and prophets were inquiring and searching and these things which was of course which was revealed to them in part same has been revealed to us today in the preaching of the gospel by the Holy Spirit sent from heaven okay second Peter 1 and verse 21 right prophecy never came by the will of man but holy men of God spoke as they were moved or conveyed by the Holy Spirit so you see that this revelation the knowledge of God the wisdom of God the understanding of his power who he is and everything coming from the Holy Spirit and being revealed by the Holy Spirit to us okay Hebrews 10 talks about how Hebrews 10 verse 14 teaching us the things of God just like how God reveals the things that have been freely given to us by God and Holy Spirit does that 14 and 15 right for by one offering he is perfected forever those who are being sanctified but the Holy Spirit also witnesses to us for after he had said after he had said before this is the covenant I will make with them after those days says the Lord I will put my law into their hearts and in their minds I will write them and they says you know their sins and their lawless deeds I will remember no more so again the work of the spirit the spirit witnesses and this is what he witnesses to our hearts that what God already said or already spoke that his law he will write his word he will write upon our hearts and in our minds he will write them and the Lord Jesus again spoke about this right that he will teach that he will remind okay his words he will teach us and he will remind us so he does that he teaches us the things of God he reveals God's wisdom God's knowledge God's understanding right so yeah so I know that we all of us we need the revelation from God we need you know need to grow in this we need it and and and also the things that God has for us as plans and purposes and and you know discovering that and walking in that you know that's that's the life of the believer right it's an exciting adventure is joyful joyous life of discovering and walking in his ways and that has been given to us and that has been made possible by the Holy Spirit so you see it's it's it's amazing you know work the ministry of the Holy Spirit right if you look at Ephesians 2 verse 10 we are his workmanship created in Christ Jesus for good works which God prepared beforehand that we should walk in them so there are good works there are things that the plans that God has and he wants them he wants us to discover and walk in them and the Holy Spirit has been given to us to help us to discover to to reveal these things to us now that we might know those things that have been freely given to us by God that we might have an understanding that we might understand the greatness of his power and the power according to the Holy Spirit who rose up who raised up Christ from the dead right so these are things that are there for us so again just to encourage us to you know to spend time to fellowship with with God and receive the ministry of the Holy Holy Spirit right okay right any any questions anything that you want to add do it what we said okay nothing at all okay let's move on then fine so let's talk about prayer okay prayer we know is communication communicating with God right talking to God having him speak to us having receiving instructions from him revelation from him so you know that is one aspect of prayer you draw near to God in prayer and spend time in his presence so there's we or we increase in our intimacy in our you know closeness with him through prayer right that's one aspect of it the other thing is also that prayer is there is warfare prayer is you know when we declare and in prayer prayer is also a spiritual act it's a warfare by which we bring down the strongholds of the enemy so various aspects to prayer prayer is ministering right different kinds of prayer when we when we study the prayer of faith prayer of intercession you know in in the aspect of ministry like for others in addition to our personal needs as well so the Holy Spirit helps us right with regard to prayer the Holy Spirit helps us let's look at some scriptures to understand how does this work you know how does he help us okay let's look at Romans 8 again Romans 8 and verse 26 Romans 8 26 so it says that the spirit also helps in our weaknesses okay the Holy Spirit helps us in our weaknesses okay so it goes on to explain why how how does he help says here well we do not know what we should pray for as we ought okay maybe it's in the understanding of the will of God okay now when we don't know what the will of God is then we lack the under or lack the faith to pray on those lines right so I don't suppose you you know you feel that okay this taking up an a or you know taking going to a place a is not the will of God or you're not sure okay then to pray on those lines it's gonna be difficult right so we might pray okay Lord whatever your will is right that's something that we can pray but to pray with surety and to pray with faith you know it's it'd be difficult not as I go to you know destination a or as I take this decision a sometimes we do not know okay so here it says that the spirit helps in our weaknesses where we do not know what we should for as we ought to pray but the spirit himself makes intercession for us with groanings which cannot be uttered okay and talks about he who searches the heart knows what the mind of the spirit is and he makes intercession for us okay and is that perfect prayer according to the will of God so so that's the beautiful thing that the Holy Spirit prays that perfect prayer according to the will of God according to the mind of Christ or over our lives right over our life situations when we don't know what we should pray for maybe there are certain weaknesses in our lives that we are not even aware of those hidden things and so we might not even pray about those things right but the Holy Spirit plays that praise according to the will of the Father and praise the will of the Father into our lives right how does that here interesting you know he talks about how he prays with groanings which cannot be uttered so there are groanings which cannot be uttered meaning it says that that with Greek uttered meaning each can it cannot be uttered into articulate speech right these are groanings and this ties in with 1 Corinthians 14 and 1 Corinthians 14 read about praying in the spirit of praying in tongues 1 1 Corinthians 14 and several verses there let's look at verse 2 says for he who speaks in a tongue does not speak to men but to God for no one understand his understands him however in the spirit he speaks mysteries okay in the spirit he speaks mysteries verse 14 or if I pray in a tongue my spirit prays but my understanding is unfruitful what is the conclusion then I will pray with the spirit and I will also pray with the understanding I will sing with the spirit and I will also sing with the understanding right we are going to look at that whole thing of praying in tongues later but we just going to touch upon this saying that the Holy Spirit helps us to pray and he helps us to pray with groanings which cannot be uttered into articulate speech and when the Holy Spirit helps us to pray it's it's you know praying with the spirit praying in the spirit these are some phrases that I use for praying in tongues right and and when when we do that right when when we pray in line with the spirit then we are edified we can also you know we receive the mysteries of God right and all these things happen when we do not know what we should pray for as we ought he helps us in our weaknesses right some things might be very hidden some things we might not be aware of and we might not even pray you know maybe like some anger issues okay we don't even think it's a big thing or something to do with lust and you know thinking like okay it's it's a problem everybody has and you know I'm not even going to pray about it but when we spend extended time spraying in tongues the Holy Spirit knows the will of the Father the Holy Spirit prays what our need is and what our weaknesses are and he prays that prayer and sometimes we in and you know most times we are not even aware unless there's a revelation we're not even aware but the fruit of it is seen right the fruit of it is seen when he leads us in victory over these areas when those those weaknesses are dealt with right so prayer in the spirit okay prayer motivated out of love of the spirit okay let's look at Romans 15 and verse 30 and now I beg you brethren through the Lord Jesus Christ and through the love of the spirit that you strive together with me in prayers to God for me that I may be delivered from those in Judea who do not believe and that my service for Jerusalem may be acceptable to the saints you know he now Paul has these prayer requests and he says you know he really entreats them he says you know I beg you brethren through the Lord Jesus Christ and through the love of the spirit that you strive together with me that you work together with me that you labor together with me in prayers for these needs right prayers to God so something that is motivated out of love of the spirit love of the spirit prayer again right Ephesians 2 18 how we have access to the Father through the spirit okay Ephesians chapter 2 verse 18 for through him we have access we both have access he's talking about the Jews the non-Jews for through him we both have access by one spirit to the Father so we have access by one spirit to the Father right okay so these references are there in your notes okay I'm on page 18 if you're following in the notes page 18 right thank you that we are putting the scripture there right so Ephesians 2 for through him we both have access through Christ we both have access through the work of Christ we both have access to by the spirit by one spirit to the Father right so access to God by the Holy Spirit well he leads us he leads us to the Father he draws us to the Father right in the same book when we turn to the last chapter we see that there is a weapon and that is called the sword of the spirit Ephesians 6 which talks about 10 non-words talks about the armor of God different weapons weapons of offense and defense and these are used in spiritual warfare right and it says that the take the helmet of salvation and the sword of the spirit which is the word of God and interesting to see that that word Reema is used there okay the word of God Reema the word that is quickened by the Holy Spirit that is stirred up or brought to our awareness by the Holy Spirit right it could be a portion of scripture it could be a verse it could be you know as understanding of it a certain knowing that you receive in your spirit about you know about the word certain scripture so it is that which has been quickened by the Holy Spirit right and the Reema of God the word of God what is the Reema of God and when the Reema of God has been given to us what is it used as what is it employed as it's used as a sword as a weapon and it's the sword of the spirit sword of the Holy Spirit a weapon that has been given to us by the Holy Spirit and what is it what does it look like it's the quickened word of God right so the quickened word of God don't take it for granted or don't treat it likely because it is a weapon right it is a sword which cuts down the work of the enemy right which pierces the darkness of the enemy right so it's it's a weapon it's called the sword of the spirit right okay okay I think we'll just look at one more thing and then we'll take a break and the next verse talks about praying with all prayer and supplication in the spirit you know in the spirit with the spirit right so so which means that as led by the spirit of course as led by the spirit of God but specifically this this usage or this you know this phrase in the spirit with the spirit refers to praying in tongues refers to praying in tongues so praying in the spirit or praying with the spirit so so he says here that you pray with all prayer and supplication in the spirit being watchful to this end with all perseverance and supplication for all the same so as a as an armor this is also prayer there's also listed as one and we see that prayer as led by the spirit prayer in the spirit and it is specifically specifically referring to praying in tongues okay okay so let's we'll take a break and we'll come back in 10 minutes right


We often talk about these cultural phenomenons like they're a huge segment of society, but in this story it points out that when we talk about non-binary facilities for certain trans people or what have you, it's really not a huge population that we're talking about. We're spending a lot of money on it, right? Yeah, I think it's 1.9% of students according to the survey that identify as transgender and non-binary. 1.9, Josh, yet how much money is being spent on 1.9% of the student population? And this is the University of California system, which is large. Just over 300,000 students. That 2% or so of students include transgender and non-binary. Now, non-binary students would simply reject essentially being labeled as one or the other. But it's a very tiny, much tinier percentage who are actually trans-identifying students. A biological male, for example, who identifies as a female. And yet they are renovating many of their bathrooms. Probably their goal is to renovate all of them to make them gender-inclusive. And it's at a huge cost.


Hello, everyone. Welcome to Cloud Native Live, where we dive deep into the code behind Cloud Native. I'm Annie, and I'm a CNC as ambassador, as well as a senior product marketing manager at Camunda, and I will be your host tonight. So every week, we bring a new set of presenters to showcase how to work with Cloud Native technology. They will build things, they will break things, and they will answer all of your burning questions. So you can join us every Wednesday to watch live. Another thing that's happening in the CNCF universe is the CNCF survey. So the time to answer is right now. So that is really nice, and thank you for all the replies so far and in the future. So this week, we have amazing speakers here to talk about, to talk with us about the VS Code and Flux, testing the new unreleased OCI repository feature. So, and as always, this is an official live stream of the CNCF, and as such, it is subject to the CNCF Code of Conduct. So please do not add anything to the chat or questions that would be in violation of that Code of Conduct. Basically, please be respectful of all of your fellow participants, as well as presenters. So with that said, I'll hand it over to our amazing speakers and presenters. So to kick it off. Thanks, thanks very much, Annie, for that great introduction. Hi, everyone. I'm Kingdon, Tomo is with me. Hi. I hope everyone's doing good today. Thanks for joining us. Really glad to be given this presentation. I'm very super excited to show this feature and to show Flux off to all the new users that might be on the stream at everyone who's at every level. So actually, as Kingdon is pulling up the slides, I just wanted to ask if anybody could post in the chat if you are absolutely brand new to Flux, please let us know so we know how to adjust for this. This is available for both new users and existing. So let us know in the chat. Sorry, to me. Sure, no problem. And so this is me. I'm an open source support engineer at WeaveWorks on the developer experience team. And this is a co-native live web stream. I've been working in supporting and developing Flux as well as this new BS Code extension for Flux that we're going to see as part of the demonstration of the new Flux OCI feature. So here's our agenda. Time out. Yes, so as we mentioned, there's lots of great stuff for both existing users and people who are brand new. If you just joined, let us know if you're brand new to Flux. We'll make sure that we have, it'll be very brief, but I think it's always important to the level set to just say what GitOps is, how Flux provides GitOps and a brief intro to Flux. But then we'll kind of dive right into Kingdom's demo because we think that just seeing it in action will really help and we'll continue to explain certain things along the way. But if you feel like this is so new and kind of a lot to take in, please let us know in the chat and we're happy to back up and explain a few things. But one thing that we'll reiterate several times is that there's so many benefits that people already today have been getting from Flux by getting GitOps. There's many, many more than we listed, but some of the things that will be even better with this OCI support is scalability and security. We'll also reiterate that if you're an existing Flux user, you can continue to do things the way that you're doing, but hopefully you'll be excited about some of the companies that really have pushed the limits and made it necessary to have these added benefits. And that's why Flux has been developed to add these new capabilities that we're excited to share. And then at the end, I think what we'll do is we'll do a run through and we'll answer questions at the end, both like beginning questions, as well as for existing Flux users, we'll go a little bit deeper. And then we've got Pinky who's in the Flux community online as well. We'll be monitoring. So if you have anything specific along the way, Pinky will be monitoring the chats. I think so it's both YouTube and LinkedIn. So please chat away and hopefully Pinky will follow as well. And by the way, you might notice that Kingdom is demoing this all in VS Code, which is a whole another exciting topic, but Kingdom's been working on this fantastic extension so that you can do getups from within VS Code. So if there's any extra time, then we're happy to chat about that, but we'll see how it goes. And so now Kingdom will kind of talk about the technical aspects that we'll be covering as well. Yeah, so what is the specific news that is newsworthy today? So I know that we advertised this was an unreleased feature. I'm sorry, it's released. We actually have to show a released feature. I'm actually really thrilled about that. It's gonna make things a lot easier for me rather than to try to demo something unreleased. We've also added support in the VS Code extension for the new OCI repository sources. So you'll see as we go through the demo, that is in use and it's part of the demo. And OCI manifests are a new option that's available in this release. There are many implications. It's gonna be very helpful, I think, for a lot of our users, especially those of you who might have taken advantage of the automation features. It's going to make things a lot simpler, but all of the old paradigm is stable. At this point, you should not expect anything to go away. We would not pull the rug on you. So as far as predictions about what has changed, I have two main predictions that I will share now. And hopefully that you'll agree by the end of the talk that this is going to enable users to achieve the same or better outcomes as they've been achieving with Flux, only they can use fewer boilerplate manifests. And OCI will permit Flux to reverse some guidance, also that we weren't happy about. And I'll get into that a little bit more later, but by reversing that guidance, we're doing this without losing any functionality. So you should be able to go on using Flux the way you've been using it or adopt Flux more easily today, if that's the stage that you're at. So back to Flux and GitOps, what is GitOps exactly and what specific workflow is it that we're going to see today? We're going to see workflow that pushes to two environments. So the user is going to commit some change to Git repository, CI jobs are going to run, things are going to get pushed to container registries. And then Flux will take over from there to deploy to staging or production, whichever environment the change is destined for or both as time as that goes on. But what is GitOps exactly? So these are the principles of GitOps, broadly together they say use Git as a single source of truth and there's some elaboration here about how that should be done. So like Kubernetes, the system is all built on declarative behaviors and declarative artifacts, but with the additional requirement for GitOps that you must use a version store. And if you know about Kubernetes, you'll recognize number four, which also applies there as Kubernetes continuously reconciling based on events in the system and Flux is similarly reconciling on intervals or events if you have access to them, that's all according to an alignment with the GitOps principles. Immutable artifacts are also an important part of this. We need immutable artifacts that cannot be changed once they're cast only by generating up a new version and releasing it out the door. That's how we maintain our capability to audit and describe the exact state of the system at any given time by ensuring that it's precisely described in a declarative way. And the remaining features here are a bit opinionated about how you should do your change management and with good reason we think, but these are inclusive principles. So you can adopt GitOps without taking all of these, but to be clear, three and four are specifically what Flux does here and what any tool that's in alignment with the ideas of the open GitOps working group who developed the standard should be doing to call itself GitOps. So changes are pulled automatically into the cluster based on some heuristic for determining what changes the latest according to some parameters that you can specify, we'll call that policy. And then an agent that's running in the cluster continuously observes the system state and reconciles it with the desired state, making sure that your desired state isn't forced in a continuous way. So that's GitOps done continuously and those are the fundamentals of GitOps and adoption is an iterative process, but step one is for us to install Flux on your cluster and that's a step that we call Bootstrap. This is something I've already done. I've covered in a lot of talks before. We will see if you follow this link in the docs, if you've never installed Flux before, this is how you can do it. And we will see about what Bootstrapping is. Bootstrap happens in a Git repository and there's some secret management that Flux does as part of that also. It's described in the docs. We don't need to cover that today, but what is Flux doing once Bootstrap is over? Well, Flux is synchronizing from the cluster repository. It's following principles three and four, pulling and reconciling and enforcing the configuration that you described there and it's applying it in a continuous manner on whatever interval that we configure. So what's a cluster repository? Well, this is just the Git repository that you Bootstrapped into. Applications may have their own Git repository and that's an extremely common pattern, although it's not the only pattern. We can sort of trust that the application repository when we say install pod info at version 6.2.0 that the app repo is a responsible trustworthy source for what does that mean exactly for pod info the app? So it's in our control or maybe it's a fork or some repo that we don't own or control from upstream, but we can fork it and control our deployment like this. So this is what's new in Flux V2, but in recent Flux history, this is not really news. Flux supports multiple Git repositories. So the example that we're gonna work through today is from the docs at least partially and you can find it here. If you search for OCI cheat sheet, this is about where we're starting. If you're a docs person, if you'd like to read what we're doing, you can go ahead and check that out. And here is the application that we're gonna be deploying. I've made a few adjustments to that according to these docs mostly and a few other adjustments in order to make things fit. You can fork my fork and check them out or just go ahead and look at them, but they're meant to be sort of hands-on shovel ready. So to follow along at home, if you want, this is what you need. One Kubernetes cluster of basically any kind, a kind cluster is fine. I'll be using vcluster, fork the pod info repo for my fork and then or pull changes in if you have already forked from step on put on bootstrap, flux like this substituting your own username and a repository name. You do not need to fork my cluster repository. Everything that I'm gonna show you can reproduce on a brand new cluster repo. And if you do fork the pod info repo, please take note that you will need to enable the GitHub actions there since it's a fork. So forks don't run GitHub actions by default, but we're gonna need those because we're publishing a release and we're gonna let flux deploy the release. So here's what I've done to make this a little bit simpler for presentation. I think I said that you don't need to copy from one repo to another in general, but in this case, I'm gonna do that because it makes simpler. So this is the place that I'm copying my manifests from and this is where I copy them to and you can see how to adapt these examples from the source code and we'll see right now. So we're gonna go ahead and start the demo. So let's find our pod info application. That pod info is running. I've said there's a Kubernetes cluster that's running. Let's see, pull up a monitor. So we can see that that cluster is running. We have, so this is the we've get up, I'm sorry, this is the flux extension and here's our cluster demo cluster and I'm just gonna pull up canines because it's got a little bit nicer responsiveness. We can see things happening as they happen there. So I'm gonna pull that up as well, but so what we're gonna do, we have two environments. One is staging and the other is production. I've actually lost track of which one is which and sorry, this is behind a little bit, I think. So I have to refresh these to see what's on the cluster right now. Okay, so we actually have- We also wanna give back that the text is hard to read. I'm not sure if anybody else has the issue. Yeah, let us know in the comments if you're experiencing some same issue of blurry text. In the past when this has happened, it might also be a local problem in your computer. So might try closing a few browser tabs and so forth if that's impacting the performance on your side. But let's see, okay, someone else is saying is as well and we can obviously in the back end we can see what's happening, but you can try kind of limiting your other tabs, for example, or other programs that you might have opening your computer in the meantime. Yeah, I'm sorry about that. All of these repos are public at least. So if there's anything that you wanna read, please check out the repos. I will show this again. You can see I've got a lot of commits. So past the original version. So we have made some changes here. So this is where it could look for those changes. And all right, so what we're gonna do- Just checking increasing the size helped. You could increase the resolution to 1440. You're currently on 720. Yeah, so the, I'm not sure if we can change the stream parameters. My screen is 1080p and it's about this wide. So I can't go to a smaller resolution there. Okay, I guess this is the streaming platform issue. Yeah, that's from the YouTube size side the resolution there. So it's not from Kingdom side, but I do agree. I think this side, this one looks quite nice, but then the K9S was a bit smaller in font. So maybe that's the one that I'm adding. Because we certainly don't wanna keep talking if no one can see what we're talking about. Yeah, the main reason why I want this K9S UI here is because some of the things take a little while and I wanna make sure that they're actually happening before I say we should wait and see what happens. So we really only need to see that it's all blue or that it turns red, but I didn't realize that was the thing that was too small now. So thanks for that. So the BS code side is okay. And I really appreciate people taking the time to give us the chat feedback. Okay, great, thank you. All right, so what we're gonna do to our deployment we're gonna change two things. We are going to change that logo on the screen here. So we've got this cuttlefish here. It's very cute and he's clapping. And then we're gonna change that to a different logo. And we're gonna change one more thing. We've got some scaffolding to help us change. So this version number here is gonna have to increment along with everywhere else that that version number occurs in the repo. So that's a number of places and we've got a little helper here. This is from Pod Info originally. It's part of the release process. You probably have a script like this. If you have tags in multiple places in your repo, well, let's set the version number and let's actually make these two separate commits. I don't want those. I do want that. Okay, change image. And then we're gonna increment the version number. We have one more little helper here. It just runs git tag and git tag push. The push tag. Okay, so we've tagged our new release and now it's on CI and Flux do the rest of the work. I'm gonna pull up a watcher for the GitHub tagging here. Here's our two jobs. And this is probably a good time to go and look at the release workflow itself. So let's see that workflow here. This is the release workflow. This is based on the original Pod Info release workflow but with some augmentations from this document that I thought I had handy. So from the OCI cheat sheet, this is the document I mentioned earlier here. In the workflow examples, here's that diagram that I showed and these are the GitHub actions. This is the example GitHub actions that facilitate this. So all these are really doing are they're taking a clone of the repo and they're running flush push artifact, Flux push artifact against a path. And this is the path of manifests to package up. Then we're shipping those manifests to OCI repository where they're versioned. And then what we're going to see is actually that we have two environments and we're going to see a promotion workflow. So what it's going to happen is the pre-production environment is going to receive our new. And there's a request from the audience. Yeah, to make the text a bit bigger. And I think the documentation link was provided by Pinky earlier to the chat but maybe Pinky can post it again if someone missed it. And also there was a question from the audience would this be a good time to take it or are we leaving the Christians to the end fully? Yeah, that one's fine. I think Pinky's Pinky's looking at the GitHub question which I can't access the chat because I'm in this platform but Pinky's looking at it. Yes, that's a good question. Okay, so there was a question on how can I, how I can use GitHub? Well, yeah, I'll address it later but Pinky will address it now in the chat. Perfect. All right, so we can see that our deployed is rolling out to pre-production as promised and what we should find now is in our pod info repo. And if you want this to work too you're going to have to enable issues on your fork as well. There is a manual approval workflow. This is not something specifically part of Flux. This is a GitHub actions thing. So the manual approval workflow here, it's these two lines way down at the bottom almost. And this is just waiting for our approval. So you can see the job has stopped here and it won't go into the remaining steps until we give this approval. So let's do that. And we can see, you know, here's our pre-production and here's our production. So production hasn't received the update yet. It should receive at any moment now there. We already know it's going to work at this point but come on, let's see that release. There it is. Super. All right. So that's our OCI promotion workflow that I'm showing today. And the clients were very happy with that change. Oh, what's that? I just got a message. No, the clients were not happy with that change. We actually have to roll this back. So we have to make a new release now. We're going to go in and roll that back. Instead of changing it manually here, I'm going to use the get feature to revert this commit, not that one, but the one before it or after it rather. Well, depending on how you look at the order here, this one, let's set that back. Get revert. Okay. And we're going to push another new immutable version. So you need to set a new version number and commit that change and then do the same thing. Make release for get tag and get push. And we'll see that the same thing happens, but in reverse this time and it should proceed very quickly, just as we saw before, as soon as the Docker build is done. So we'll pull that watcher up again so we can see that as it happens. And at this point, we can stop for a few questions, I think. Okay, a few questions. Come on. Yeah, I'm sorry. I was chatting with Pinky on these various ones. We wanted to kind of focus first on maybe more beginner questions and then we'll go to some deeper ones in the end. Pinky was still working on the GitHub questions. We'll see if we can pass on that until there's something else. And then is the OCI repository exactly this theme as any container image repo? Could we push to AWS ECR? That is a great question. So AWS ECR is an OCI compliant repo. It is a spec. Not every Docker registry is necessarily OCI compliant. There's a media type that makes an OCI image a little bit different. So the media type in a normal Docker container image is a root FS and it's a different media type than we use here, which is not exactly sure what it is, but it's something that contains different type of content and Flux will push whatever you decide to push. Whatever is in that directory when you run Flux push with few exceptions. There are a few things that shouldn't be pushed like a .git directory. I think that's actually a bug right now, but Flux will push whatever you tell it to push and the OCI artifact will hold whatever type of content you want it to hold. So if there's something else that you wanted to do with this besides Flux customized controller applying your manifests those things are possible too. What the OCI repository resource does like every Flux source kind it reaches out to the remote source and it creates a tar ball locally that it serves up as a local cached copy of the remote resource. So each OCI repository represents one deployment stream. So we have multiple ones here. We have one that's pointed at the tag production. So when we tag that production tag at the end of our workflow see we do a Flux tag artifact, tag production. This pushes the build out to production. So it's already been released at this point here. We did the release Flux push artifact with get tag from the actual tag. So this is our tag version. And we see that the release has gone out. Maybe you saw maybe, let's see if we can see our new release here, 6.2.13. It's done out to pre-production. So we'd like to approve it now. So let's go back to our issues and find the approval. But if we really pick this apart we're gonna find some problems in this workflow. This is a CI workflow, but it's pretty good. This is pretty much exactly what I would have wanted if I had been in an application developer role where I need something like Flux to help me deploy. And the reason for that it's a little bit of enterprise role play at this point because a lot of environments that are sensitive or regulated will have this audit requirement that the change requester must be a different person than the change approver. And a lot of times that change approver has to be someone who does not have get experience, Bob from accounting or someone who is a product owner who is not a developer. So that's what this workflow facilitates. If you don't want a manual approval step you can just take those lines out and everything else will work the same. But here we see it's gone out to production and that works. So we're back to where we started. Let's see if you have more questions. Well, if it's okay, I wanted to kind of just make sure we, you know, for the range of audience members in the beginning you talked about the get-offs principles. And so I just wanted to see like can we highlight them again? Like what makes this specifically get-offs? Yeah, sure. So the principles that we highlighted before, declarative version immutable pulled automatically and continuously reconciled. What's happening is our declarative artifacts are getting placed in our version store. Now it's an OCI repository. That's the derivative of our get repository. So it's not really not get-offs. It's still get-offs. That artifact is traceable back to get. Even if get-offs required get, which it doesn't, the definition doesn't specifically say get. All right, so we've got our versioned artifacts and we have a process that's pulling them. We have two processes while they're both flux and they're pulling through this OCI repository here. So this one is for production. And this is a tag, just like a tag on any image. So if you Docker, build and push and you get a latest tag, this is the same kind of tag. It's a mutable tag, not an immutable tag, but a mutable tag. And I wanna highlight this as something that's not inconsistent because git itself also has mutable tags. Tags are all mutable in git and branches are also mutable unless you have a branch protection policy configured, which you should do because the definition of get-offs requires immutable artifacts. And the only immutable artifacts that you're getting from git are SHA-based. So each time there's a new commit hash, that's a new immutable artifact. It can't be changed without changing the commit hash. So it's still immutable, but we shouldn't make the mistake of thinking that branches are somehow immutable because they're very immutable. So if we want, we can use, we can pull in a particular tag by version. You can use an OCI semver reference here and semver range will allow you to select. So I can put in a range here. I can say any 6.2.x or I can say any 6.x is what that would say. It's the same as this expression. And this is all according to semver. So if you go to semver.org, you can read all about the semver spec. Or you can just put in a wildcard and then you'll accept any release. And that's what I would probably do in my staging environment. That way I would accept even probably, I want pre-releases too. I'm not sure if Star would get your pre-releases or not, but that would definitely capture pre-releases, something like that. Awesome. So we're pulling automatically every time the OCI repositories reconcile every one minute interval. We're gonna pull this tag production and see if it's moved. And then if we see that it's moved, we're gonna reconcile the changes that we find there with what's in the cluster and update the cluster to reflect what is in the source. Hopefully that explains pretty well. Yeah. I just wanted to take a moment here that we've been engaging more and more with Flux users and it's just been so exciting that very, very large and enterprise companies have been relying on Flux, just getting more and more people adding themselves to the adopters list of both Flux and Flagger. If you don't know that's a sub-project and another topic but you can go check that out. And one of the things that really excites us as well is that large corporations like Microsoft, Amazon, VMware, Red Hat, D2IQ and our own Weaveworks use Flux to provide GitOps to their customers. So especially companies like Microsoft and the Amazon that just felt very validating that all the work that the maintainers and the contributors and everybody who's done together has really created a well-designed piece of software that provides that scalability and security automation, et cetera, et cetera, all these benefits that GitOps brings. And so it was really validating because we are this close to graduating in the CNCF. We went through a really great external security audit with the CNCF paid for and it definitely validated that work. So what's exciting here as we mentioned, this OCI work continues. It just shows like our continuous journey to ensure that Flux is top notch in terms of security as well as scalability. And some of that has to do with one of the questions that came in that Pinky's been answering as well, which was about mono repos. So, Edward, glad that you asked that. We were just chatting with another company this morning about how they structure their repos and how more and more people are kind of going to the mono repo model with a lot of those benefits. So, Kingdom, you wanna chat a little bit about that. The question is specifically, do you have a pattern for when you have a mono repo and you do not want to expose all of your code to the cluster for the deployment operator to access? We have separate environments for different customers and so exposing the mono repo to Fluxy is a no go. And certainly people aren't doing that. So what are your thoughts generally on repos and what this new OCI work helps to do? Yeah, so this does actually specifically address that issue in a way that hopefully you will find palatable. So what I'm doing here when I do Flux push artifact, I'm pointing it at this deploy directory. And if we go here, we see that's in the pod info repo. And this is where all of my manifests are kept. So all of my code is outside of there and Flux will not be exposed to any of my code. It will only be exposed to what's in the deploy directory. So if I wanted to go a little bit deeper and say, I actually only want this environment to have access to its own manifests. You can do that as well, not in this particular layout because of the way we have this laid out, we have bases above overlays. So if I wanted to just select this overlay, well, you can see actually this one would be okay. I can grab this one because it doesn't have any outside references and it doesn't actually reference a base. But if I wanted to select like the dev environment here, we've got a lot of these resources captured in bases because we don't wanna duplicate them in our code base. So in our dev overlay, this is a directory that you're meant to apply from. It's an overlay. You do customize build and it's gonna reach out of that directory back to here. So if you structure your repo like that, it won't work, obviously. But that is a design choice that we've made here in bot info and your model repo would obviously be structured a different way to accommodate that. And then when you actually apply from those, this is what the customization looks like. It has a reference to the source. Here's our OCI repository, bot info, the bot info production one. And here we've gone a step further to isolate. So this is not a strict of isolation. We've still got access to the entire deploy directory. We want it if we can edit this customization, but we have, yeah, so here we have the further selector that says, I'm only deploying this one environment here. So maybe you have a different one in each cluster if you have cluster separation for your environments or however you have that arranged. I see we have a question about the Flex CLI. Yeah, so the Flex CLI is definitely something that you don't need to use if you, it's a convenience wrapper for a lot of things. So Flex Bootstrap is a fairly involved process. And so Flex Bootstrap, we do recommend people actually use the CLI for Flex Bootstrap because it involves handling secrets and that can be messy. And we've got a particular opinion about how it should be done for security purposes. But another great feature of the CLI is the generator feature. If you are running FlexCreate anything, if I wanted to get one of these structures out, I can say FlexCreate customization and give it a name. And say I wanna export this and that's obviously not enough options. I haven't told it where to pull from but it will give me the entire structure. And here is where I will fill out what I need to pull from. We've got a couple of extra things here that are optional fields. I do recommend that you check those out in the docs but if you're using VS Code, as you see you don't actually have to go to the docs. You can just mouse over and assuming everything's connected correctly, you'll get one of these at the top of your file that tells you what schema is being used to parse this and then these values will pop up and you'll be able to see what these fields mean exactly and how they're used from the context. Great. We've got a few more questions but I wanted to go back to that earlier and just broadly, Flex works with all major CI systems. They work with GitHub, GitLab, Bitbucket. So remind people if you have systems in place you don't have to tear them out to use Flux. Flux works very well and has a lot of native support for things like Helm, HashiCroat Vault most recently, and others as well as many integrations that we've been working on with Terraform and as you can see VS Code, OpenShift, et cetera. And to the question of access, yes, your Git provider does have to have access but Pinkie was sharing also that you can use S3 buckets as sources as well. So that might be workaround that works for you. We can keep checking into that if there's more. So there's other questions that came in, came in, do you have thoughts? Adam, the chat just made my day. I was really hoping for that reaction. This is, here it says, this is a new source that solves the issues I ran into when previously trying to implement Flux and that was the reaction that I was hoping to get. We've been saying this is going to be big, it's going to change a lot. I was specifically instructed not to say this changes everything, but just so you know where my head is at, this is really big for Flux and it's going to make a lot of workflows a lot easier. And to remind everybody, these are optional. So if you have things set up in a particular way, you don't have to go run and change it today. But if you are like the companies that we mentioned, enterprise companies who gave us the feedback, hey, we are all in with Flux and then we have these greater needs around scalability and lower complexity. This is why Stefan and team have been working so hard to move this forward. So we're really excited about that. I lost my train of thought. I was going to mention one more thing that was the benefit. Oh, we wanted to share, we talked about GitOps and how these follow the principles of GitOps and so maybe now that you see it's not necessarily dealing with a Git repo but there's still Git under the hood, right? Kingdon, maybe you can explain a little bit that this is still, I mean, not that we have to stick to a term just because it caught on so quickly and as caught on continue to catch on but there's still Git, right? Yeah, and what I mentioned before that we want the artifacts to be traceable back to a specific commit, this is what I mentioned, what I meant specifically. So this source annotation that gets added to the OCI repository artifact tells whoever has access to the metadata of that OCI repository artifact that it comes from a particular origin source repo and at a particular revision. This is how it's communicated, what version's been deployed if you wanna go and look at the, where is that here? Let's see. One of the probably the source we need to look at to see this. Okay, so it's not quite there but here in the status, you can see the particular revision and I will make an action item here to make that surface here because you should be able to see all of the really important stuff here in the mouseover but it's actually in the status in a field.  So this should give confidence that your releases are traced back to Git and that you're still able to identify exactly what sources are in production at any given time. We have definitely prioritized some work around cosine and other more rigorous ways to prove those things, to prove providence and we should expect to see those landing in the next minor release of flux, more interesting things around cosine, verification of OCI sources, signatures. So it is definitely still GitOps and the OCI repository still is shaped in a lot of ways like Git. These immutable tags are persistent. They'll stick around. The immutable tag is a pointer. It's much like a Git branch ref. So if you're already pulling changes from the main branch of the Git repo, you shouldn't feel uncomfortable in any way about pulling changes from the production tag in an OCI repo. It's exactly the same thing, just a different protocol. But I did wanna highlight something that is possible in OCI that has been a little bit difficult depending on what platform you're on. Here's another CNCF project called Harbor and this is a feature that's available in Harbor. It's not necessarily available in every container registry. What you can do with this feature is to actually make certain tag patterns immutable or immutable. So if we'd like a repository that we can push to where the production tag is mutable and the staging tag is mutable and maybe we have a few other tags for different environments and then every other tag that's not on the approved list is immutable, cannot be deleted or updated, can only be pushed once and that's what we really want. But really, if you're especially paranoid, what you really want is cryptographic integrity and that's what we'll be delivering the next release. But in the meantime, understanding immutability is a very important part of making GitOps real and making it a successful implementation because if you can overwrite an artifact, that's not very secure. Just put it into production. Awesome. Ed says, oh my gosh, I wish mutability roles was a thing in ECR and other registries. So I wanna take a moment, Kingden, you had that diagram that you showed earlier about everything moving to the right. Wouldn't we wanted to take a moment to return to this and talk about why there are security benefits to this process? Yeah, thank you. So what we mentioned before is there is a feature in Flux called image update automation. And the way that this feature works is by Flux over here, monitors container registries for new image versions. And when it finds a new image version, it takes and it pushes a commit back to the Git repository which has that new image version in it. And this has at least two problems. Problem number one is, well, Git repository is our source of truth and we've just made it writable to an automation which is downstream of our code. And so it's probably okay to let Flux because Flux is trustworthy, right? Although I'm a little bit nervous about having that read-write credential on a production cluster that might be reached by nefarious traffic, could be compromised would be much better if we didn't have to have a read-write credential there at all. So what we've proposed in the past is if you want better security, what you should do instead of putting that read-write credential on the production cluster, you should probably write manifests from CI. So that make version set job is an example of a CI, something you could run in CI as part of a release script. But that is still a problem because CI is again downstream of potentially untrusted code and CI could be compromised even if it's a high security area, there's a possibility that someone can retrieve some credentials out of CI. And now that person has access to write to your source of truth again. And that is exactly what we don't want because that's where all of our, that's what we trust implicitly. It's the source of truth. So in this new model, all of the arrows point to the right. Now, when you run your CI job, you've already been pushing a Docker image. You're used to that. So your CI already has right access to a container registry and it's downstream. It's not upstream of anything. And all we're doing now is we're creating another container registry or in the future, it can even be the same registry. I don't have that example today, but you can push layers of different media types. So there would be only one container that has the app itself and also the manifests to deploy the app. So this is a way that you can kind of contain containers and the complexity of containers and wrap them back up into packages that you can distribute that have all the information necessary and they're cryptographically secure. So this right facing is really important because again, we don't wanna compromise our source of truth and we don't wanna grant right access to anyone who is not extremely trustworthy. But also all of the work that's being done on container registries in order to secure them such as cosine is all happening there. A lot of it will be still interested in cryptographic verification of Git commits, but really where the activity is happening right now is down here because this is what's deployed on your cluster. We don't necessarily need to get commits to land in the cluster. I love the response jaw drop. This is great. So Pinky's also reiterating answers in the chat. I think you did answer the question about what cryptographic methods are supported. And then yes, we have a question about UI on the roadmap. Thanks for the question. Yes, we understand. So so much of this talk that we've had about security, one key part about being able to reach our security goals meant that we wanna make sure the UI was always separate and that flux is kind of available to any UIs that are out there. Cause having it built in to the software itself into flux itself creates a lot of security issues. So we've been talking a lot with the community obviously to see where and when these are a key point. So I think the most important thing is that we've made sure that we work with companies that have UI, so there's a UI that's secure and that is supported by a company. And so that's why, as I mentioned earlier, Microsoft has ARC Kubernetes, Amazon has AWS Anywhere, our company WeWorks has Weave GitOps, which by the way, we have a Weave GitOps open source UI that the company does support. So it is free and open source, so you can try that one. And then you've seen, if you've seen any of the past talks around flux, the people at Red Hat and VMware, also the Tanzu team, we're doing different versions. And then that's why we're also looking into these IDEs where if VS Code is one way that you can get some of the information that you need, it's not necessarily a type of UI, but we'd love to have everybody's feedback on the best ways that we can make sure that people can access making changes, getting the information that they need to engage with flux, but also in a way that maintains the security levels that we want. So certainly anybody can, it's open source of people in the community in the past and in the future can continue to contribute to UIs. But right now, because security is the number one priority, we've decided to try these other paths. So if anybody's already using Azure, they can try ARC Kubernetes, if they're already using Amazon, they can try AWS Anywhere, et cetera. So, sorry, EKS Anywhere, I said AWS Anywhere. We can get feedback for that. So please keep giving us those questions of feedback and find ways that work for you. Any other questions? Oh, no, that was a comment. Manifests alongside app image layers is genius, thank you. And, oh, and then Pinky was responding to someone who was asking about places to get started. I think that our hosts here posted the links to our docs. If you go there, you can also see ways to get started as well as ways to get started contributing, if that's what the question was. We have had great feedback, especially from some of the companies that were starting to build. I think there was a talk by a Zscaler and they shared about how, of course in the beginning they were like build versus buy and they started building certain things and then they realized there is this vibrant, active flux community of users and maintainers and contributors all answering questions and thinking about the next challenge and building toward those and helping to test, et cetera, that they just said it made sense to just work with something that's in the CNCF than obviously to build their own. So that was really gratifying to hear and that's why this type of work is there. So even if you're not thinking about OCI today, it's good to know that you've got a global team of maintainers across many companies already thinking about that for the future. So I'm just doing a time check because I know we're getting to about the last five minutes. But if you have any questions, keep posting them, but I think Kingden will kind of go into a recap here. Maybe you can do a show the full slides. It's a little hard for me. Oh, sure, yeah. So I wanted to drop these links just to make sure that everyone is aware of where the examples came from. And I have done, I've taken a little bit of liberty composing these examples together to try to make them fit well with our Podinfo example app. Hopefully you all enjoyed that and you can check out the cheat sheet for the basic workflow examples that start from Flux CLI and they move on to GitHub Actions. If you're using GitHub Actions or use something else, that's fine. And there's a Docker build and tag with version in here that is very simple. So what we've done is we showed an example GitHub Actions for Docker build and push and also Flux push and tag. And we've shown that these are sort of parallel behaviors. They're meant to work together in a similar way. And only for OCI manifests. And what did we learn? Exactly how to deploy multiple environments for our application and how to automate deployment promotion workflow. And also what is an OCI repository? How do we ship those YAML manifests as OCI repository? How do we deploy from CI? Two different ways. There's a third way in there. If you look, we've chosen these ways because they seem to fit the best. So you notice, I say staging here and it was pre-production there. If you go in and check it out, you'll find out exactly what was the issue there. But there's lots of different ways you can put these things together. And as a bonus, we included this workflow for manual approvals with GitHub Actions that you hopefully enjoyed as well. So we hope that you'll join our community and if you need support, we're always open to questions. We love questions, especially hard ones. Yes. And so the links here will send you to the Slack channel that we have, if you have questions or any other ways that if you wanna get started with contributing. Just wanna highlight, even our community members who've been using Flux for a long time, sometimes they forget or if you're new to it, Flux is so fast-moving that we'll just do a couple of reminders that Flux hopefully it's clear to you how it provides GitOps and it's constantly evolving. People use it for GitOps for their apps as well as infrastructure and it is multi-everything. It's multi-tenancy, it provides multi-tenancy, multi-cluster, multi-everything. And hopefully you'll be able to see how vibrant the community is. One thing I think we didn't quite highlight is that Flux works with your existing tools and it works with Kubernetes as well. So sometimes people don't see like what part Kubernetes is offering and what Flux is offering, but Flux works very well with Kubernetes to provide all these different steps that creates the end result of GitOps. So yes, check out our website, which is fluxcd.io. And also of course we're on GitHub. I think we shared the links earlier and give us a star on GitHub if you like us. Perfect, I see a lot of thank yous from the audience coming in as well. So a really great session from, I say that as well as the audience. So really amazing to see that. Yes. Yes. Great. Thanks again to Pinky or Priyanka aka Pinky for helping with the questions in the background. Always, always great. Perfect. Thanks for hosting us, this has been great. Yes, of course. And if there's no any final notes from you guys, we can start wrapping the session up. Such a positive mood, really great to see that. Yeah, so thank you everyone for joining the latest Cloud Native live episode. It was really great to have amazing speakers here with us as well as Priyanka answering the questions on the chat, really great to see that. And we really also love the interaction from the audience. Thank you so much for all of your questions and comments as well as draw drops. Always great to see that. And as always, we bring you the latest Cloud Native code every Wednesday. So join us next week as well when we will have a session on certificate management with LinkerD. So thanks for joining us today and see you next week. Thanks everybody. Bye.