Hey everybody, well, thanks for waiting with us here. We were just getting started on our webinar. So it looks like a few people are joining in and we'll go ahead and get started. So, hey, my name is Robbie and I'm really excited to be talking to everybody today. We're talking about automating your source of truth. What does that actually mean? Well, we're gonna be talking about get-ups, right? And your source of truth there is actually source control. But what is like day one and day two look like? When your source of truth is source control, how do you go about and automate what's happening here in your particular, in your source of truth? And so Nick, next slide, please. Gonna be introducing a few folks today. So just a quick piece of housekeeping. This webinar will be recorded, so FYI. Say we have Nick, who's a developer advocate here at Harness. Then we have Mark, who's a product manager at Harness. Maybe Nick, a quick second about your song. Yeah, hey everyone, my name's Nick. As Robbie said, I'm a developer advocate here. I come, kind of my specialty and experience is in the software-defined infrastructure space and CI CD. So I'll be talking through a lot of concepts and we'll have a demo as well as we go through this presentation. Mark. I'm Mark Ram. I've been doing infrastructure as code and declarative operations for well over a decade. I've been doing GitOps for about as long as the term has existed. Previous to coming here at working at Harness, I worked at Canonical on their cloud infrastructure as code solution. And then at Weaveworks as product manager on Weave GitOps and various products. So I've been around the GitOps industry for quite a while. Heard all the questions, I think. Just kidding, I always hear new ones. All right. Well, folks, this is our agenda that we have for today. And the way we're going to approach this presentation is it's going to be a combination of kind of a little bit philosophical, a little bit strategic, but also very practical. And the goal is to leave you with both strategies and tactics, systems and tools that you can use as you set up a well-architected GitOps workflow. It is going to be a little bit meta as well, meta in the sense of like, how do we automate that which we're automating? That's the title of the webinar. So we're going to be trying to develop a strategy for how we can use GitOps to manage our GitOps and we'll define all these terms as well. So our agenda shown here, our first topic is going to be automating your automation paradox. We're going to be describing the problem statement. We're going to move a little bit more specific then into automation of GitOps platforms. What is the typical tool chain look like? What are some best practices? And then we'll get even more specific with our tools integrating GitOps and Terraform and Harness, seeing how they can work together to very, very quickly manage your infrastructure in a declarative way.  So that'll be the focus here. Yeah, thanks Nick. And also just, it looks like several more people have actually joined the webinar. And so a little bit of housekeeping. If you have any questions, just hit the Q&A in Zoom and you can ask a question there and I'm going to be happy to answer you. Also, we might save some of the questions towards the end. So feel free to post as you see them and I'll try to answer them and then also ask some of the panelists here to answer them. So yeah, please continue. Yeah, definitely. All right. So let's start off and this is going to, again, we're going to get a little philosophical at first, kind of begin with the problem statement. This first topic is automating your automation paradox. And why do we have paradox here? Well, kind of the root of this is the fact that these days we use software to define everything, right? As if we can describe something in information terms, we can use software to manage it. And 12 years ago, Mark Andreessen over at Andreessen Horowitz wrote a famous article that got published in the Wall Street Journal among other players, places he gave, the bold statement at the time, software is eating the world. And really it was applied to the fact that even like traditional industries, manufacturing, the service economy, ultimately computers, software, is being used to describe all these things. And very quickly, in our industry, what we saw was infrastructure became one of the very first things that became software defined after applications themselves, right? We started with the virtualization movement in the early 2000s and that moved to cloud services. And now basically anything that we possibly can, we wanna make programmable. And what that really resulted in is a sort of decision that we needed to make. And it resulted in also an increase in complexity. We realized, well, if we have infrastructure that hosts and maintains our software, we also need to use software to maintain the systems we rely on to maintain our other systems, right? Are you noticing this a little bit of a chicken and an egg problem here? How do we automate our tools that we're using to automate our deployments and our applications? Now, this is actually a problem we've encountered before. There's a term that's about like 55 years old now called the software crisis. And if you were to like do a Google search on the software crisis, that term originates from 1968. It was a conference conducted by the North Atlantic Treaty Organization. And as teams started to use computers to define and manage defense systems and honestly everything else, we realized that like systems as they get more complex, there's a tendency, if you're not careful, to trend toward brittle and expensive. And that just means it's hard to maintain, right? Especially when we're used to imperative runbooks. We'll talk about imperative versus declarative in a moment. But the idea here is that if we're used to like a sequence of steps, the more steps and dependencies we add, the more likely it is that some or the more the possibility that something could break and break the whole chain of steps. And as a result of that, in more recent years, there's been a whole cottage industry of how to manage the complexity in tools and job roles and platforms and systems. So just as an example, you might be familiar with these. If you go to O'Reilly.com, if you look up kind of any of the main sort of DevOps knowledge centers, the idea of site reliability engineering and declarative state management and DevOps, there's been a whole cottage industry on like how to manage the complexity. So it's not just like, how do you build a feature and deploy it is how do you manage the whole end to end process also using software? So that's a little bit of setting the stage of where we're at. And where things become like really relevant to us is we've come across the rise of desired state development. And really all that means is, when you first learn programming or when you develop applications and when you just write code in general, one of the ways you can write that code is imperative. It's the kind of base level of computational execution. You do a sequence of steps.  And then you have ultimately tons and tons of sort of gated logical flows that you could follow. And when you have a very good understanding of all the possible conditions and all the possible dependencies you could manage, imperative can work, right? Cause you have a very clear decision tree of the things you need to do. However, over time is we've had layers of software automation, declarative has become much more relevant. So if we kind of distill these words, imperative means do these things. I want these things to happen in this order given these dependencies. And declarative says, give me this outcome. I don't necessarily know or even care the exact like linear sequence of automation steps you take. I just want this end result, right? It's like, I want the birthday cake out of the, to look like this, I don't necessarily care like the order that you add the flour and the sugar and the eggs. It's important, but it doesn't matter to me as long as I have like this specified outcome, right? As long as it meets the spec. So yeah, go ahead, Mark. And this is like really important if you're doing things at scale. If there's a one in a thousand chance that something is gonna go wrong and you do it a million times, it's going to go wrong a lot of times. And if you have to figure out how to handle every one of those things and solve it, you can't do it. This is why industrial automation, robots in factories almost always are, you know, torque this nut to this specification not turn this nut 34 times because that may not be correct in this case. So you just have to sort of think differently if you want to achieve scale. And so declarative operations is a big part of that. Yeah, exactly. Yeah, thanks Mark. And for that reason in a lot of ways, not in every way, but in a lot of areas declarative is kind of one out as a desired model that we use if we have the choice. And there's been a whole tool chain that's developed around it where we can focus on things like business logic and governance who has access to our stuff and in what role we can focus on that and abstract away from the imperative set of steps that we let computers do for us. It allows us to focus more on like our end result that we want that drives the business instead of having to focus every time on like the internal plumbing of deployments. And then what it really comes down to is automated deployment tools end up doing the heavy lifting, right? You're probably familiar with some of these. Some of them are like proprietary and attached to a single service or application. AWS cloud formation is a proprietary declarative state tool for managing AWS resources. But even like tools like Terraform and Pulumi and other tools have become the standard for managing infrastructure in general. And then Kubernetes as a container orchestration platform has core to it a declarative model. When you write a manifest, you say I want these resources to be created. And when you apply the manifest like Kubernetes and the administrative layer does the work of creating those resources. So it's a model that's tried and true but can be applied as we'll see the all sorts of other areas of management as well, right? So we said there's a paradox, right? We said that the title of the section is automating the automation paradox. So like what is the paradox? Well, the point of automation is to do things automatically, right? It's supposed to reduce our manual workload. At the same time, when you write computer systems to automate a computer system that's another system you need to maintain, right? So it's another tool you need to set up and maintain. So there, if we're not careful we could arrive at a contradiction where the various tool we're trying to use to maintain our other systems itself needs to be maintained. In addition, the goal of automation is we want to maintain consistency and reliability in our infrastructure. As Mark mentioned, right? Imperative workflows, when relying on humans to repeat those workflows there can be a lot of failure points in those. Well, the tools we choose to automate our workflows themselves need to be reliable, right? If we're using a broken automation tool or something that is not consistent that defeats the purpose of what we're automating in the first place. So the automation itself has to be reliable and consistent. And then again, automation allows for a declarative source of truth so we can focus on the end result, like we mentioned but also like we need to know what that desired final state is, right? Like the computer will only do what we tell it. So even if we have a great system of automation in place we need to know what we want our end result to be because whatever we tell the computer to create it's gonna do what it's told. So we need to make sure that our final state is well-designed as well. Okay, so this is now where we can introduce kind of a core strategy that has been created and adopted from this problem statement from the need to use declarative methodologies for automating our infrastructure and our workloads. And that is the concept of GitOps. And GitOps will define, if you're familiar with the term DevOps, right? It's about a culture and a set of tools. It's essentially having operations and follow a close development model to put it really simply. There's a whole industry about how to actually explain and describe DevOps but ultimately it's managing operations under a development culture. GitOps is very similar conceptually. It's a term coined by Weaverworks as early as 2017 and kind of the Wikipedia quoted description is an operational model that uses Git as a single source of truth for declarative infrastructure and applications. That really means like store what we want on the infrastructure side in source control and think like a developer when we're managing not only our applications but the workloads and environments and services and infrastructure that it runs on. So kind of the core GitOps principles are that it's declarative, we describe what we want. It's versioned and immutable, right? So we have versions in the case of Git, it's commits that if needed, we can roll back to a previous state if we wanna undo a change as an example. And then another core aspect is that it's pulled automatically. And there's a lot that comes with that statement. One of the reasons is just purely from a networking and infrastructure perspective it's generally a lot easier to call out from your internal infrastructure than it is to access it as ingress from the outside, right?  So the idea is we can pull state from a Git repository and update our infra accordingly. And also that it's continuously reconciled when we make a change to the source code management system the idea here is that our infrastructure detects the change or whatever system we use to manage it detects the change and can update our resources accordingly. So there's a lot going on in this chart here and I'll talk through a little bit of it and we'll have another slide that'll explain some of these steps as well. What I really want the lesson to be here is that just like DevOps, you can get like tied into the minutia of tools, but like DevOps, GitOps is a combo of cultures plus tools. You have your tools that you need to make it work but it's also a culture of doing things. So understand that there's a lot of ways that you can build this plane. But if we look at this chart here or this flow here the left hand side is showing that we have all our configurations, infrastructure, configuration, applications, they're stored in a Git repository under source control. And then let's actually go over to the right for a second. There's a whole set of tools, tools like Argo CD and Flux and other GitOps tools that live inside your infrastructure.  Here shown is one or more Kubernetes clusters or Kubernetes deployments or resources in general based on the changes we made to those configurations as defined in our Git repo. And the reason we have the Harness logo here is that there's a lot more decision points you run into once you have this basic workflow down. Like we'll see in a moment, how do you manage things like role-based access control? Who can access your stuff and make changes? How do you manage things like advanced deployments? Aside from just a single rollout how do you manage just governance and secrets and all those important aspects that you need to manage at scale even once you have the core workflow down? So we'll look at a similar graphic to this here again in just a moment. And that's where we wanna get into kind of beginning to move into the practical automation steps. So Mark, would you be willing to go ahead and kind of discuss through this other graphic here? Sure thing. I mean, this central graphic is sort of a standard depiction of the GitOps loop. In the center is this bright orange line, the immutability firewall. That is a commit in Git that will be applied. And on the right, you have all the series of things that you need to do, develop new features, integrate new libraries, integrate new versions of upstream components, validate that everything works and which point you commit to Git. Oh, I wanna change the production repo. Well, GitOps does not give you anything really to solve anything on that side of the line. It says, when you've committed to Git, I'm gonna make sure that that's what's running and keep it running and tell you if something changes. So what people who use GitOps still need is a promotion pipeline where they can say, I have a app in dev, I've run all the tests, I wanna promote it to the test environment, have all the tests get run there. If that happens, I wanna PR to be issued that will update the production database. Maybe I wanna manually actually push sync on that so I can control the exact timing of when production gets updated. So what we have here is sort of across the bottom a pipeline which is a harness continuous delivery pipeline that is running an application in GitOps but you still have all of the sort of traditional software delivery pipeline concerns around that commit to Git. And here we have a rollback step. So we have a script that runs and it validates whether this deployment has worked out. And if it does not, then it triggers a rollback which reverts to the previous commit or reapplies the previous commit on top of that branch and issues a pull request. And so you can get automatic promotion, automatic rollback and integrate with any of the other sort of pipeline tools, validations, approvals, et cetera, whatever other systems you have, you still need to integrate with your GitOps endpoint delivery. So that is sort of the key, what do we bring on top of GitOps in terms of how do you manage this at scale is how do you manage promotions from one environment to the next. And we can do that for all your sort of GitOps entities, your Argo CD, Customize and Helm or Flux using Customize and Helm, et cetera. We can do cross-plane and terraform resources. We can integrate with controllers that help you manage those if that's what you need as well. Yeah, exactly. There's a lot of opportunity here because again, one of the key lessons is we can start to think more like software engineers to manage everything. And but at the same time that creates a lot of decision points in which we say, okay, how do we set up this workflow in a way that's reliable and consistent? And that's a little bit where the tools discussion starts to become relevant, right? So if you're an engineer, you're probably, you think in terms of systems and concepts, but you also think in terms of tools because that's what you're doing in your day to day. So you probably have kind of a mental tool chain that you're used to using to kind of engage in like each step of the software development process. You might use Git for source control. This is like the SEMGREP logo for like static analysis, in CI, you have Selenium for maybe automated testing. Here's like the Flux and Argo logos here for continuous delivery. You have Terraform for declarative infrastructure management. You might use something else for like more configuration management. And teams can and have pieced together tool chains to manage the entire GitOps flow or software development flow in general. Like I was just discussing here, right? And this is completely, obviously it's non-exhaustive, right? This doesn't show all the tools you need to use. And what you arrive at is you have another kind of decision point in which how much do you rely on kind of a tool chain of specialties versus starting to incorporate platforms that can act as a management layer as well. So again, all of these tools are great, and they're the standard, right? Most of these, I think all of them on this slide are open source, but ultimately you need to manage the complexity. And there are, even with your entire tool chain, you still need to handle, like what is actually your single pane of glass if you have one for managing changes? Like when you're pressing go on the changes you make to your application or your infrastructure or both, how do you handle synchronization, right? We mentioned earlier that part of the goal of GitOps is you make a change to a Git repository and those changes are reconciled and they appear in your infrastructure environment with a new or updated deployment or some infrastructure definition change. Like how does that synchronization take place and what level of manual versus automated change happens? And what about, again, all of the important things that like governance and auditing and role-based access control and secrets, like what is used to manage all of those? And then finally, once you wanna start getting advanced, like, okay, we have a deployment down using our tool chain. Well, what if we wanna get more advanced? Like what if we're rolling out a new feature and we don't want it to be available to all users at first? Do we wanna do like a Canary or incremental rollout? What if we have a more like blue-green approach and a cutover point? How do we declare that and specify that using kind of a GitOps model? And again, a lot of an open source tool chain, that's not an off the shelf approach for managing these kind of more advanced situations that you'll encounter. So that's really where platforms like Harness come into play. They work with alongside whatever tool chain you might have set up. So even as you go through the GitOps globe, okay, we have open source SCM and CI and we have our config management and infrastructure management tools in place, Harness also provides a platform that allows, again, that management layer, the pipeline approach that Mark mentioned that allows us to have that very specific customized but also like systematized way that we manage changes to our deployments. And it also includes those advanced features mentioned here like allowing for Canary rollouts, blue-green rollouts, incremental rollouts, but also like any custom workflow that you might choose. Okay, so what we're gonna go into now is the actual setup of this, right? Remember that the goal is automating the automation. How can we set up the entities we need so we can have an end-to-end deployment? In other words, we need to set up our systems that are performing and managing our GitOps workflow. So that means our SCM, Argo CD, for example, and then also because we're including that Harness platform, the platform entities that can kind of manage the overarching process in that management layer. And luckily for us, tools like Terraform are very well-suited for that process. So ultimately we can use infrastructure as code as our core management layer for unifying the automation. So if you work in DevOps or SRE or infrastructure or even as a developer, you're probably familiar with infrastructure as code, at least as a concept, right? So many teams already use infrastructure as code tools to automate their infrastructure, even if it's just like VM and network provisioning and management. You can do the same with GitOps, right? The point of Terraform is it's a declarative infrastructure management tool. I have this kind of like funny little Terraform definition on the side. And if we think of Terraform as like the original definition, meaning we're kind of like altering some far off planet to make it human habitable, if we apply that to software, we're saying we're altering our infrastructure so that it can support our applications and users, right? We're provisioning that which we need so our application can be properly hosted, our users can access it and it's in a predictable declarative way. What's nice is that Terraform has the resources that the providers we need to provision these. Aside from your typical compute storage networking resources that Terraform can hook into, we also have a Terraform provider for provisioning harness entities. Terraform actually has a GitHub provider. If you wanna map and even create your associated like GitOps repository that's holding your declarative state. Terraform has Kubernetes integrations as well and Kubernetes provisioning. Now, Kubernetes itself is very declarative as well. So often teams will kind of mix and match how much of Kubernetes is Terraform but that's an option you have as well. All right. And again, the goal here is just kind of comparing and contrasting like the original definition of Terraform, right? The goal is we are constructing, provisioning and maintaining the environment that in here can host our users and all the infrastructure that is needed to host our applications and deployments in whatever level of complexity we might require. Okay. So based on what we've learned with GitOps so far, where does Terraform come into mix? This specific slide is talking through Terraform as the infrastructure of code for managing our GitOps entities, right? So this is where automating the automation comes in. We're using Terraform as our software defined infrastructure to set up our GitOps infrastructure, right? Because again, we're trying to further abstract away that which we need to imperatively manage. So we have layers here, right? We have our GitOps layer that does the work of deploying our application based off changes to an application state. And we can also use GitOps plus Terraform to manage like the GitOps tools themselves, right? We're automating the automation. So we can use Terraform, maybe a Terraform module that we wrote to create all of the resources, harness entities, Argo CD resources needed so that we can then use that to also do the GitOps workflow on our cluster deployments themselves. So what that allows us to do is it allows us to apply software style everything from a development standpoint to as many layers of our management as possible, right? So like our base level infrastructure can then undergo code review. You can choose your choice of Gitflow, your branching and tagging model for how you develop software you can apply to managing your infrastructure as well. You can choose your choice of repo architecture. Do you want everything in one single, large repository? Do you want to break it up into a polyrepo approach? How do you like tag releases whether it's changes to your application or infrastructure or both? And again, on the branch side, like how do you manage your branching model? That's ultimately up to you but it becomes possible with this model. And then, and again, also from the governance side you also have the decision to manage permissions and code ownership. Again, choices that are well-established in software development. You can apply to operations management as well. Okay, so to make this practical, we're going to do a demo. And what we're going to set up just to kind of set the stage and is we'll set up a harness GitOps workflow that will do a few different things. It's going to use Terraform to provision the harness entity. So the entities in harness that we need and I'll kind of compare and contrast that with the UI and result. We'll also set up a repo relationship that'll have our application details that we want to deploy. And then Terraform will also do the deployment using GitOps. So like once we set up our GitOps entities and harness we'll kick off the application deployment and harness will handle the automatic synchronization where from then on, if we decide to update our SCM that'll automatically be reflected in our environment on whatever changes we choose to make to our application or infrastructure. So I'm actually, I'm going to do a little bit of a change over here. I'm going to get out a full screen and I'm first going to kind of introduce the resources that we're going to have. So first of all, am I connected here? Let me reconnect. So I'm using a shell environment here. This is for convenience's sake on my side. This is just a Linux VM running in Google Cloud but this can be any arbitrary Linux environment. This just gives me access to a cluster that I have provision but I do have a cluster which I'm going to authorize my access to here, right? So I have a Kubernetes cluster. This is just one node, doesn't really matter but I have namespaces I can deploy to. So the goal is I have a computer that can access a Kubernetes cluster that I can deploy things to, that's step one. Step two is I have harness. This is harness.com. This is just a free account I have on harness and this is going to be my management layer. I don't have anything deployed yet but this is where I'll create entities referencing my source code repository and my cluster and then my application deployment. And once we have this set up this will give us so many options for kind of creatively maintaining and expanding on our deployment model. So I have harness, I have a local cluster and I have a couple of resources as well. One of these resources is the actual application I'll be deploying. So this is a GitHub project that I've forked just into my own GitHub namespace and this contains kind of a sample deployable web-based application we call guestbook. It's just something that we can deploy and then manage and then see the end result. And then I also to make this easier I have a Terraform module and the Terraform module is what we're going to apply to create all the different harness entities. So I'm gonna clone down this Terraform module in a moment and then kind of walk through it a little bit and then basically just run a Terraform apply and that'll spin everything up in harness that'll in turn deploy our resources to our cluster and we'll have that connection between harness as well. All right, so let's kind of start off here in my Linux environment. I'm first gonna clone down this directory that has my Terraform module that I'm gonna work with and I'll explain what's going on in this repo here as well. So I'm just gonna get clone that. And if I then CD into this directory, I see there's several files. Now this is all one Terraform module. I just have like the different resources I'm creating broken up into different files. The core files we need to worry about is first of all, this provider's file. This shows us that, okay, we can hook into the harness Terraform provider to create Terraform resources. We can also, yeah, this is where it's mainly defined and then we can also access the default providers as well that Terraform gives like deploying to a Kubernetes cluster and creating other resources as well. And then the actual resources we're creating using Terraform are defined in these three files. So we have a file called agent and we haven't talked about this yet, but ultimately the agent is a resource that runs in your cluster that talks to harness, right? It's sort of the messaging tool, messaging tool that allows harness to talk to it so it can deploy the resources you need in your cluster. Remember, there's often a lot of like networking considerations where we need to make sure that entities have permission to communicate with a cluster. The agent will be one of those core items that ensures that things we create in harness and reference in harness can be deployed to our cluster when we ask harness to manage a deployment. The next is resources. Resources are gonna reference these things we're creating here like our repository definition that we're creating to reference our example app that we're deploying. We have a reference to our cluster entity. We're also gonna have a service and environment entities created in harness as well that again represents sort of the collective way that we can manage our deployment. And then finally, our deployment itself is referenced in a file called app.tf. If I open this up, this is deploying that guestbook application into our referencing the services and environments that we're also creating back in that resources file. And we're gonna set up automatic synchronization and I also have the repository referenced here as well. It's gonna deploy that which is specified in my Git repo. That means if we update that Git repo it'll automatically update the deployment. All right, so we're almost ready to use it. We have a couple other things we need to set up. We have a file here called variables.tf and this variables file contains all of our defined variables. Most of these we have defaults for but a couple of things we need to specify include like our harness account and then down here at the bottom, I scroll down, sorry a little further I could have just skipped to the end an API token and I'm just gonna use like an API token that'll just live for the life of this demo. But this is so we can authenticate the harness regarding the resources we're creating. And then the actual values for most of these variables are in, sorry, terraform.tfrs. If I open this up, most of these have default values that I'm just gonna stick with. I am gonna make one small change and I'm gonna reference my fork of the sample app that we're using. And then I'm not gonna put like my harness ID and personal access token directly in here. I'm gonna kind of do a little bit of a compromise here. I don't have like a dedicated secrets manager that I'm working with but what I am gonna do is I'm gonna reference my account ID I'm gonna export it as a variable that terraform can also use. And then again, I'm gonna share this personal access token here. I'm gonna delete it as soon as we're done this is just a very temporary thing just for the life of this demo. Very kind of unique. It's harness API token is what we called it. And those two variables are available as well. And then honestly, at that point we can be off to the races. We're gonna run terraform init if you've used terraform before you should be well-acquainted with this workflow it's gonna import the providers that we specify including harness. I'm gonna run terraform plan running terraform apply will also run plan but I'll run terraform plan just to make sure I didn't accidentally foobar something. And it says we're creating nine resources that includes all the harness entities we're creating it also includes all like the Kubernetes actions we're doing as well and the resources we're deploying to our cluster.  So this is gonna take a minute. It's worth noting I'll give a quick note here you see like this null resource definition this is not 100% declarative. It's mostly declarative the reason it's not 100% declarative there is a tiny bit of imperative dependency is because when we create the GitOps agent entity in harness that then creates a manifest file we need to apply to our cluster. So there is a small bit of dependency there we need to wait for the YAML entity to be created before we can apply it to our cluster. So it's 96% declarative it's mostly there but it's still gonna work out here. So in about like 30 seconds or so we'll see this stuff created. We can actually see some of these things created already for example, if I go to harness and I go to settings here I should now see that there is an agent that was created that should come up as healthy in just a moment once it's fully deployed to the cluster but this entity reference was just created. What I should also see is if I open a quick new tab here I should see, hey look at all these resources that were just made. We see some Argo CD entities we also see our agent that we're calling test agent that was just deployed. And it also looks like the apply just finished and it appeared to work, let's see. So we can check this out in a couple of different ways. Let's start off by going to harness. So if I refresh the page here we see, hey it looks like the agent looks healthy. So again, this we have the reference in harness and this is something we actually deployed to our cluster to like manage all of our cluster deployments.  We see there's a cluster reference here in harness literally our cluster that I deployed to. You see it's able to connect. We see a repo connection. Notice here's my forked sample app that lives in GitHub. And then we see the actual deployment. This is the application entity. We have the guest book deployment.  And then if I go to the resource view here first of all what's nice is we also see the latest commit that references the current state from that application. We see that ultimately what was created was a deployment and accompanying service. And as a replica count of three so we actually have three pods that were created. And we see that reflected locally as well in our cluster right if I run kubectl hit pods. Here we have aside from our like Argo infrastructure and our agent we have three deployment pods just like a chosen harness. If I run kubectl get service we see our guest book UI service and I can actually access this application if I do this. And then in like a, oh sorry my connection let me reconnect here. There we go. If you're in like a local host environment you would just do like local host 8080. I'm in like a cloud hosted shell. So Google cloud show has like a preview that's basically the equivalent of like if you were running this on local host here's this guest book app, right?  It's not super interactive not a whole lot to do here immediately but it shows a successful deployment that if you were to kind of dig into the code base of that sample app it's deploying a sample Argo CD application that's from a Docker image that Kubernetes is pulling from. So yeah, go ahead. Pretty impressive. Yeah, like someone who's done put these steps together pretty manually like tying all the stuff together. Like that was very, very clean. Like it really solves like a paradoxical question.  Like what is your experience like as a platform engineer, right? And this was actually, I like this a lot. It was a great explanation. It kind of all the entities got created. And yeah, like everyone in this entities and harness is like something you have to wire somewhere like without the automation here. So we have automation to care of that. We have a few questions that are coming in. Mind if we take a few of these questions really quickly and then yeah, for sure. Cool. So I'm gonna paraphrase some of these questions here that we do have. And so let's see. So the first one is, okay, I guess it's a compliment to Nick there. Are these examples in the Terraform registry? So like if they wanted to build their own is it like on? Yeah. Yeah. So there's a couple pieces here. So the first is what I didn't directly show is the harness Terraform provider, right? I just said it was imported. But if you wanna look into more detail, let me actually pull it up as a different tab here. We have our provider in the official Terraform registry. So this is like how I'm creating those harness entities in the harness UI using Terraform. Now this is just the reference. What we've also done is we've compiled this into a overall module that is what I was ultimately running here. So we created a module that creates these Terraform resources that you're welcome to clone down, edit, use for your own purposes. This is just in the harness community repository but you're more than welcome to like, again the key area is gonna be this Terraform.tfvars file where you can substitute any values you might like to create your getups resources. So yeah, those are the two areas. And again, that sample app is also publicly available too. Awesome, yeah, thank you for that. I have another question here. This one might be actually for Mark. Why even use Harness over Argo CD? Well, I mean, we made a decision at Harness to integrate with Argo CD and Flux rather than to try to replace them. But what we provide is this pattern around how do I promote from one environment to another? That's something that neither Flux nor Argo have specifically taken on. They are very much focused on the, there's a commit and get, let me make sure that the world matches that commit and get, which is good. I mean, that's good software design. They do one thing and do it well. But there's a need to manage promotion, to manage the full pipeline, to integrate with scanning and all kinds of CI CD steps that you might have that add value and validate your system before you go into production. You need automation around rollbacks and you need, in this example, we had one agent, but when you have multiple agents, multiple Argo CD instances across multiple clusters, you get multiple UIs. With Harness, we have that agent so we can funnel that data together to us where we can provide sort of a central dashboard across Argo CD applications and now in beta Flux applications as well. So whatever you're doing with GitOps, what we're here to do is sort of help you manage promotions, it's not tear out Flux and Argo and replace them with Harness, but how do we augment that? How do we give you a central dashboard and how do we help you manage the full pipeline? Yeah, that makes sense. A very complimentary type of approach. Yeah, like you're exactly right, like kind of like GitOps agents or like the hammer drops immediately. It's like, second, like your declarative state changes, it's like someone who's like, oh, we have to like go and like match the state right now. So it's like, it's very instant, like designed to be... Well, and it's... They're designed like an Argo application is one instance of some software running in one environment. And if you have multiple instances that you wanna update in some sort of pattern, you have to have some tool that helps you to do that. There's various options, but I think the Harness pipeline has the deepest set of integrations and is the most flexible and easy to use. Yeah, it makes sense. And now we have like a quick time to... Okay, one or two more minutes. I'll have one more question and then we'll just kind of like wrap it up. I might want to reach out to the person who asked this question here. It's a little vague, but it says why GitOps? Not sure what that means, but... Well, I will just start with sort of how GitOps came to be. I have been doing declarative operations at Canonical. We had a product called JuJu. Kubernetes is declarative operations. We've been doing... And I was doing declarative operations long before Kubernetes. But when you have declarative operations, then there's this obvious, I have a goal state. How do I manage changes to the goal state? And the sort of insight of GitOps is managing changes to a set of files like your deployment, Diyamo and Kubernetes is managing a set of changes to a set of files. We have a tool, Git, that is already sort of well designed to develop a workflows flexible, useful, has the properties of item potents and distributed so you can have a copy of it in the cluster when you wanna not have to reach out to the cluster every time you're checking the current state. All those sorts of things were already there in Git, so combining declarative YAML files and Git just made sense as a way to manage change in the system and as an alternative to big complex software change management systems that have existed in the past. This is very much a developer driven approach to managing change applied to the problem of managing change for your infrastructure definitions or your application definitions, not change for your application source code, but it's the same patterns and everybody knows them. So I mean, I think that's the main reason for GitOps is manage your change over time, track it, understand what has happened, helps reduce errors, pull requests help reduce errors and helps find and fix errors much more quickly because you can see what changed when and why. Yeah, good luck. Commit. Yeah, I'm forgetting to get blame. Yeah, I'm trying to remember that. Yes, get blame is very useful. Get blamed all the time. And looking through the commit message to see what the reasoning behind this change, like there's just a lot of tiny useful quality of life improvements that Git has for managing change over time. Yeah, perfect. I know we're right at time. Thank you to the presenters and the audience for joining us today. Sounds like we have some great conversation. We should do another one just about GitOps strategy, but with that, on behalf of Nick and Mark, thank you everybody. And yeah, this concludes our webinar. All right, have a good day. Good day, everyone. Cheers, everybody.


Every child has a right to grow up safe, to benefit from essential services and to express her or his opinions, desires and needs. Children are human beings with fundamental rights and their views must be heard and taken into account at all levels of society. This year marks the 30th anniversary of the Convention on the Rights of the Child, which has been a powerful driver for change. Those and boys today have markedly better health, more education and in general greater freedoms to make their own choices. All around us are examples of children acting to claim their human rights and the rights of others, standing up to power and demanding change, but our work is far from over. The rights of many children continue to be violated, particularly for those growing up in vulnerable situations due to conflict, discrimination, poverty, deprivation or other factors. This exhibition highlights the specific and measurable actions being pledged by member states to renew their commitments to the Convention on the Rights of the Child in this anniversary year. They range from measures to prevent violence against children, policies to ensure the birth of every child is registered, opening the door to lifelong essential services, ending the unnecessary institutionalization of children and commitments to ratify and implement the Convention's optional by vital protocol to stop the sale of children, their prostitution and use in pornography. I am encouraged by these commitments. I hope many other state and stakeholders will make pledges to promote children's rights ahead of the 30th anniversary on 20 November. Thank you for taking the time to view the exhibition and thank you for helping us to promote the human rights of every child.


Hello everyone. Saludos a todos. Thank you so much for joining us for Un Cuento Con, a special storytime series where we invite special guest readers to read to you books by Latino authors. This special storytime series is part of our Vida Latina program series, which is a celebration of Latino Heritage Month here at the Long Beach Public Library. Today we're super excited and honored to have Lisette Flores, who is the president of the Long Beach Public Library Foundation, reading to you Paletero Man by Lucky Diaz. Disfruten del libro. Enjoy the book. Hola, yo me llamo Lisette. My name is Lisette and I am the president of the Long Beach Public Library Foundation. We work very hard to raise money to support the library, to bring more books and more programs to the libraries. It's a wonderful job. We're dedicated to literacy and all things reading, reading, reading. Today I'd like to read this book to you called Paletero Man. Te gustan las paletas? I love paletas. This book is written by Lucky Diaz and he has a dedication to Alicia, the dream-dreamiest of dreamers, for my mom, lover of words, and heart of the good ice cream. Sorry for all the times I found it. In the hottest month, on the hottest day in the City of Dreamers California LA, I grab my dinero and make my way to find my friend Paletero José. Pushing his cart full of cool treats, bailando, he dances to mariachi beats. He has dozens of flavors. Mmm, I can already taste. Will he have my favorite? There's not a second to waste. What is your favorite? There's tío Ernesto. He has tamale today. No gracias tío. Where's Paletero José? Ring, ring, ring. Can you hear his call? Paletas for one. Paletas for all. Un aroma is calling, caught in the breeze. It's a barbecue smell coming from asleep. Hola querida, would you like a sample today? No gracias señorita. Where's Paletero José? He's on a mission. Can you hear his call? Paletas for one. Paletas for all. The only way to beat this heat is with an icy Paleta treat. There's my friend from the bike shop. Lo siento Frank. There's no time to stop. Ring, ring, ring. Can you hear his call? Paletas for one. Paletas for all. Will he have all the flavors, the colors I love?  Chocolate, elote, sandía, ofreza, arroz con leche, miel o cereza. Ring, ring, ring. Can you hear his call? Paletas for one. Paletas for all. What is your favorite flavor? Here he is. Paletero José. Finally I'll get cool on this very hot day. Oye niños, what will it be? He has all my favorites. Can it be true? Chocolate, vainilla, and melon too. But today I'd like pina. Do you have that sabor? He smiles a big smile. Claro, para ti el mejor. I reach into my pocket to pay for my paleta. Mi dinero, my money, está perdido, it's missing, it's lost. ¿A dónde se ha ido? What will I do? What can I say? How can I buy my paleta today? And just at that moment, who do I see? My neighborhood friends, Theo Frank and Miss Lee. We called out your name when we saw your coins drop, but you must have not heard us because you didn't stop. Muchas gracias, amigos. What would I have done? I guess I dropped my money when I was on the run. Kindness for all, shouts Paletero José. I have a surprise that will brighten your day. Oye amigos, paletas a mi. Because of your kindness, the paletas are free. Oh, how kind. How special. Whether it's stormy or whether it's sunny, whether or not you have any money, I'll always help out an amigo in need. Yo te prometo, an amigo en deed. It's nice to have good friends. In the hottest month, on the hottest day, we have Fun in the Sun with Paletero José. Ring, ring, ring, ring. We can hear his call. Paletas for one, paletas for all. The end. Wow, what a cool story, ¿no? Que bonito cuento. I was super worried for him when he didn't have his dinero and then he couldn't buy his paleta but thankfully the comunidad, the community came together and they took care of each other and then everybody was able to get a paleta from Paletero José. Thank you so much for joining us today. Don't miss out on the next Un Cuento Con featuring a very special guest reader. We'll see you then. Adiós. Bye.


Hi everyone, welcome to figure fantasy. So first I'll get this out of the way. We're going to be summoning for removal. But before that, I have to kind of give you guys extra tips on this one. So this is going to be obvious to you, I'm sure. But there's some decisions here that you would want to think about, okay? So complete the daily tasks, that's very easy to get Rimuru here. So Demon Lord's Proof Complete Destined Interaction. This is actually very easy, you just, you know, talk. It's just click, click, click, whatever. The next two would be a, actually the only one here is your decision. So this one is your regular draw, which we'll be doing in a while. But this one, the sweet adventure collect 10 times. So I already got six for free, that is why I got six there. But you have to, you have to remember that you have two choices here to collect more. So you have to wait for 18 hours just to collect one. In which case, if you want to collect four, for example, four more, if you already have six like me, you need at least three to four days just to wait for Rimuru to arrive. Okay, so that's one. choice without spending anything here. But if you have extra, like you're fully wish, in any case, I'll be doing this event later. You can actually redeem this now. Let's let's say we redeem one 10, I have 60. So there you go. Let's go back to that event because I'm sure it's already, oops, oops, oops, oops, oops. Got too excited. Okay, so there you go. So collected 10, I'm going to claim this one. Then the next one is our summon. So after one summon, we're going to be getting Rimuru for free. Hopefully we get him here. I have 10 summons here, guys. I have 50 limited blind box cards and 14,000 diamonds. So that's roughly five, five times 10, that's 50. Okay, so let's do this, guys. Let's see if I get him from the summons. We're guaranteed one of him, I'm sure. But definitely you have to get more copies of him to make him, you know, make him increase in his star level. So let's start this out with first 10. First 10, first 10, will I be lucky with this one? No. All purples, let's skip this one. Okay, not a problem. Just want to confirm the result and we'll get another 10 here after 40 pulls. So order now. Actually, I'm excited to build him because I want to showcase him to you guys and more or less see how he really holds up to the hype. Not yet. It's going to be Mako. It's okay, I need copies of Mako anyway. So let's do another 10. Okay, so this is going to be a skip because it's purple. And let's do one last 10 and let's go back to the free one that I got. So let's, okay, hopefully this is him so that I could get already two copies. One is the free one. Is this it? Yes. Yes, one down. This share grants 100. So by the way, if you pull this, share this, for example, here, you can actually save this, save successfully. Then if you share this, for example, in Facebook, then you get the 100. So that is it.  So let's skip the others and let's confirm this. Let's get this and let's pull that later. Let's go back first to where I told you would get him for free. Here we go. So we're here. So as you can see here, pull 10, claim two, then claim him here. There you go. So we have here, this is going to be for the next video that I'm going to be making later, the season two. So we're going to be going back to summoning. So Demon Lord, as you summon him, there's going to be free gifts here.  I'm going to elevate him to one star. Just going to be doing this now so that you could more or less know how many you could get early on. Let's go to my figures and going to fuse this one. OK, so fuse Rimaru. So after you fuse Rimaru, you get 10 more free summons. Ain't that cool, guys. So where is it? Here you go. So you get 10 more free summons. So as you build him up here, as you can see, he is going to be giving you more free gifts, free summons. So let's try to put him to two star first so that we could get more of him. OK, this one is, no, not them. I can fuse more, sorry, not here. I can fuse more and take him to two star. So let's just promote. Let's take him to two star. That's a lot. OK, so where are we? So we are here. Two star promotions that we could get 10 more summons. 10 more summons. I want to show this to you guys so that you could maximize your pools and be able to get more copies as usual. Let's go back to Demon Lord's Trial. You get free gift again. That's 10. So from here, you're going to have to promote him. Where is he? So you need two more copies of him to promote to three stars. So let's just summon first and let's get on with our business of summoning him. OK, so just a little bit of a side strip there so that we could get more more tickets. OK, so moving on. So we actually get a guarantee at 80. So I'm excited for this event. Really, really excited because we know there's a lot of copies of him that we can get. So that's a dud. Let's go out. OK, I haven't touched my diamonds yet and we have already have him a two star. Really, really, really, really happy. So but I need to get two more. To get a guarantee copy of him. Hopefully this is him as well so that we could fuse and take him to three star. My God. I don't want to arena. So let's get another box. So nothing there. OK, but we have a copy of him and I'm happy with that one. So our guarantee with him is that 160. So obviously I won't be able to take him to 160 at this point, but I still have five poles here. So let's try it. Let's clear my bag first. Let's do this here. Let's just clear these guys. OK, so let's clear that bag cleared. And no, not there. So let's do some summons. I need at least one more copy of him for a three star. So no cigar there. OK, hopefully this is him. River, river, river. Yes. Yes. Yes, yes, yes. So that is going to take him to let's let's do some fusions here. Fusions here. OK, so this is going to take me to. OK, three. OK, so where's the two star? OK, where are you? What just happened? Did I make a mistake? No. Got nervous there. So there you go. OK, OK, three star and let's see if we can take him to four star here. So is there anybody that I can sacrifice? Should I? Actually, just. OK, let's not do it in this video. I'm going to have to think about it and who am I going to if I'm you know willing to wait to take him to four or I can just sacrifice three there. OK, so let's just do this. Just want to finish this out so that we could proceed to more summons. OK, so we don't have any more red. Let's red. So let's finish up with the summons guy. So hopefully I'm I'd like to get two copies, two more copies of him ready for five star. Let's have this now. OK, let's just confirm the result and we have two more summons to go. Not there. Skip this one and the last one. Let's collect this and the last one is this one. So one more. Hopefully one more Rimuru copy to have. But again, it's OK, Sakura. I like Sakura. I need Sakura. So there you go, guys. That is it. Not a bad summoning session to have. So you can actually take him to five star. I don't think you'll have a problem within the next few weeks. So I hope you guys have the same luck as I do. Please do subscribe if you're still here because this helps the channel a lot. And thank you guys. Stay safe. Take care. This is the warden and I'm out of here.


35 years ago on this date, the accident at the Chernobyl nuclear power plant shocked the world today. Three and a half decades later, things are very different. And all those benefiting from the peaceful uses of nuclear energy do so as part of a tightly interlocked network of safety norms, practice and institutions with the IAEA at its center. Today, we are working with the Ukraine and with international partners, starting with the European Bank for Reconstruction and Development on very important achievements like the new safe attainment or the inter-inspend fuel storage facility. Among many other important indispensable decommissioning activities that are being carried out with the support of the IAEA. So today, 35 years after the tragic accident, we look at the past with respect and circumspection. But we also look at the future with hope and determination so that nuclear energy is part of the global efforts against global warming and climate change.


Captain the ship is rigged for dive request permission to submerge the ship very well submerge the ship Diving officer of the watch submerge the ship make your depth six zero feet Cheap the watch on the 1mc dive dive son of diving mom twice Dive dive Three degree down angle three group indicates open after group indicates open. All right officer deck ball vents indicate open for a group venting after group venting three five feet four zero feet Dex our watch we'll dive on the fair waters Five zero feet All vents indicate shut zero bubble all vents indicate shut sir All vents indicate shut eye conditions normal on the dive Take charge your planes maintain six zero feet six zero feet on All stages report conditions normal on the dive eye Officer deck ships at six zero feet conditions normal on the dive sir very well Look around number two scope raising number two scope Number two scope indicates up No close contact lowering number two scope Tom come right stick course two seven zero come right steer course two seven zero i Excel i'll be in radio and then back in control So let's set officers call in the ward room in say 30 minutes so the 0800. Aye sir 0800 Zero seven thirty hours in the north atlantic aboard a nuclear attack submarine Just ahead patrol duty Defending the outer perimeter of a naval battle group A battle group which is already forming up Once on station she will act as a protective listening platform Actively seeking out and taking action against all possible aggressors Her adversary one of her own kind another submarine ASW anti-submarine warfare as a naval exercise It's often been called the truest test of survivability for this country's at sea combatants For the attack sub it is and has remained a silent evolution This is the captain For some of you this will be a first time experience working with us in associated support defending a battle group during an ASW exercise So let's get up to speed as quickly as possible. We'll need everyone's best effort Now during this exercise, we'll be facing off against one of our own attack boats. There may even be more than one Oh and one other bit of important information Early this morning. We received intelligence indicating the presence of at least two soviet cruisers Just to the northwest of the grid. We'll be operating in That being the case there's a chance. We may have a real-time victor class sub dropping in on us If that happens our job will be to find him On making sure that he doesn't detect us That's about it. Let's everyone just give it our best shot and good hunting There's a dramatic suddenness to it, but it's all happened before to every nuclear trained officer who's ever served here Management and leadership responsibilities that would come at a much slower pace in the outside world are there from the beginning He's an integral part of an elite team Responsible not only for the management and upkeep of a massive amount of equipment But for the continuing education and training of the men under him seeing to their professional advancement In addition, he spends considerable time behind this door Qualifying as an engineering officer of the watch on the submarine's nuclear propulsion plant Simultaneously, he also serves in the attack or control center Qualifying as diving officer of the watch And ultimately as officer of the deck Surfaced and submerged Order depth 150 feet head to third steering 270 normal power and normal indications I'll leave you the dive. All right, sir. I stand relieved Just over four years ago. He was on a college campus Now he's here con sonar. I have a possible submerged contact bearing 248 Sonar con possible submerged contact bearing 248 I What have we got Submerged contact captain bearing 248. How long they had at you less than a minute, sir came and went them back again Sounds like one of ours. Oh, it looks like we're in the game. Just stay with it. Yes, sir Captain Yeah, chief. We had another contact real short Just before we picked up this one. It was different faded and I lost it It was probably in a convergent zone Let's see if he can regain it while we're working this contact. What did you? Hi, sir Dive make your depth 200 feet use a five down Make my depth 200 feet using five down full dive fair waters. Give me a five down Man battle stations man battle stations For the purposes of the exercise the selected torpedo will not carry a warhead Its onboard computer and sensor will guide it beneath its intended target Its engine wine as it passes close to the intruder's hull will be the only indication to its commanding officer That the game is over Fire control party. We have a good solution. Let's see if we can get a shot off before our people's top side get to him All stations control firing point procedures tube two Weapons, this is the captain match generated bearing and shoot set Stand by Shoot. This is the captain mission accomplished. Well done A successful exercise, but out here success is often temporary Con sonar, I have a new sonar contact bearing two seven zero initial classification submerged submarine Sonar, this is the captain Con sonar. I Does it look like a reacquire of the earlier contact? Con sonar could be sir. It's definitely not one of ours Roger sonar Fire control. We have a real-time visitor Exo take us to ahead two-thirds. Helm all ahead two-thirds. I had two-thirds. I Still holding the contact. Yes, sir. We're most five minutes now We haven't been counter-detected Could be we're sitting right in the baffle. She hasn't changed course or altered speed since we picked her up Con captain Con eye, sir Aye, aye, sir Helm all stop all stop.  All right chief of the watch rig ship for patrol quiet rig ship or patrol quiet. Aye Rig ship or patrol quiet This is the captain. I have the con. She still doesn't hear us. I don't think she's a victor Let's find out what's going on. Helm all ahead one-third all ahead one-third. I Possible target maneuver Con sonar possible target maneuver may be increasing speed Con eye possible maneuver Con sonar target increasing speed again target speed indicates she may be an alpha She's an alpha All right, let's show what we've got and give her proper escort out of here All ahead full make a depth 400 feet 10 degrees down angle Under a seemingly benign expanse of open ocean a momentary confrontation It's all happened before and it may happen again within hours But each time it does It will be well and carefully orchestrated by the teams of professionals aboard our nuclear attack submarines For the young officer, it's a community like no other in the military He learns through example that he is part of a rare breed All self starters leaders men with a sense of self And a sense of purpose


Hello. Welcome to the Donahue Group. We're getting started now, if you all don't mind. And in slightly different posture here, William Buckley is here. Ken Risto, director of the world at the Shawagon Area School District, is channeling William F. Buckley today. It's a tribute. It's an homage. It's an homage to a great man, Cal Potter, retired DPI, assistant superintendent of library services, state senator, and overall smart guy, Tom Paneski, math professor at UW-Shawagon. I'm Mary Lynn Donahue. I'm a lawyer at O'Neill, Cannon Holman de Young here in town. I can actually say the name now without halting, so that's... They required that in order for me to continue to get a paycheck. I am back from two weeks in India, and yet... Welcome back. I have paid close attention to the local scene, and I think we have a lot to talk about. I missed a real snow day, February 6th, a day that will live in infamy, 14 inches of snow, and some people got to stay home. When I did get back, I found that I was slipping and sliding into frozen ruts in the road, and the mayor being excoriated for bad snow plowing. I thought his editorial in the newspaper to address that was pretty good. I'm surprised the press let him do that. Did you happen to catch that? I read it. I mean, mayors live in dyes in snow plowing. Yes, they do. It cost Harold Washington his job in Chicago. Jane Byrd. Yeah, Jane Byrd took his place. No, no, Jane Byrd lost her job. Thank you, Tom. I stand correct. I stand corrected. That's right. Okay, enough homage. I really miss him already. Yeah, that's right. That's right. Jane Byrd's lost her job because she couldn't get the snow removed properly. It's been just a tough battle. I mean, it's weird combinations. A lot of our, you know, inner parts of the city just weren't designed to have cars parked on both sides, and everybody's playing, you know, municipal ping pong. It was just difficult. People won't stay home. No salt. I mean, you know. They don't stay home. They pack it down, and when the plow comes, it just can't remove it from the pavement. Exactly. Spoiling your school district wasn't any better. So, I mean, our lots, no matter where you went to, were pretty much like walking on the lunar landscape. And same challenge as the guys faced. There's just not much you can do about it. Well, I did pay my own particular homage to the ice on the sidewalk by taking a complete, full-out, legs up in the air flat on my back fall. That was just really, and I hopped right up and continued on. Good bones. And drinking, you know, good. Or something, but in any event. You were loose. I was relaxed. We hope that, I guess I heard next week it's supposed to be in the 40s or something. It's supposed to warm up. A lot of time. The average high.  And maybe they'll finally melt away, and then we'll have the potholes, which we have to deal with. And we'll just make our way to summer, I guess. Well, as the mayor pointed out in his editorial, quite to the point I thought, an old man comes by as he's shoveling his sidewalk and says, well, that's Wisconsin in winter. The interesting question is what kind of pressure that puts on, you know, an incredibly tight city budget where there's just no extra room for anything. And although maybe we could talk a little bit about retiring the Marina debt, and buy, like, a big heap of sand, what do you think? Or beet juice. Beet juice is now being touted. Unfortunately, a $2.50 a gallon is a wonderful ice melter. Is that your investment tip for the day? Well, that's one of the stories in the press today. It was about the Marina debt. I think the finance committee in Alderman, and maybe somebody else think that would be a good idea. They retire the debt, save some interest money, but some of the money would come from the motor vehicle fund, and the public works department and the people are thinking they need that money to purchase equipment and trucks, and they're reluctant to, say, use it to retire the Marina debt. So the council has some items to think about, and motor vehicle fund is supposed to be used for motor vehicles, and my view of... Except it's got $8 million in it. Not anymore after they used quite a bit of it to what, to retire some pension debt and stuff like that. Right. Have they already done that? I mean, I think that's actually a good use of public funds. Yeah, well, they had more than they needed. But I think that's the kind of problem that at least the city is going to talk about, and it's back and forth, and I think public works has a legitimate concern. It's a rough winter. Equipment's going to take a beating. They need replacement parts. They need replacement vehicles. It'd be nice to retire the debt, but... Does anyone know how large is the Marina debt at this point? I think they said 1.3 million or something. I thought it was around a million, but... Plan to pay off Sheboygan's 1.275 million debt on the Harbor Center. So 1.3 million. I mean, the city is bumping up against its debt ceiling, and they've imposed, self-imposed a lower debt ceiling that state law would allow, but nonetheless, it's a lot of debt.  So it'll be interesting to see how it plays out. I can eliminate that perpetual analysis every year about the Marina losing money. It's just something that sort of rubs salt in the wound about whether that should have been done in the first place. I mean, Sheboygan needed a Marina. It's built. Without the debt aspect of it, it's probably doing fairly well. So let's get back to seeing it as an asset for the community. Which I think it clearly is.  I think the Sheboygan Marina is the most beautiful that I... I mean, certainly, to my view, nicer than Manitowoc and nicer than, I mean, Algoma and Kiwani are kind of charming, but they're not... I mean, I just think that our Marina is quite nice so it has a lot of big buildings, but maybe they didn't need to make it quite so luxurious, but in any event. Well, the next time, dear viewers, that we talk about this, hopefully the snow will be at least somewhat melted and we won't get an April blizzard. Although I'd like another snow day, I feel. Oh, let me just throw my snow shoes and go to work. When we go to India, you can see me. Let me throw a little political twist Alderman Vicky Meyer is chair, I think, of the Public Works Committee and they're arguing to use the motor vehicle fund for motor vehicles. Alderman Gisha is chair of the Finance Committee or on the Finance Committee. No, Hannah is chair of the Finance Committee. But... Are you supporting it? Yeah, they're supporting it. So they also had that rift between the two on what was said outside of council. So we got the political people back again. Well, I think you need that. In order to make a good decision, you have to have some knowledge of what your capital costs are going to be in terms of motor vehicle replacement. If it's two million, then you know what you need. And if it's eight million, then you know what you need. And if it's a hundred thousand, well, then maybe we can spend it in other ways.  Yep, yep. Well, let's get off the snow and stop being old grumps about things and move on to County City put shared services back on the table. There was actually a meeting of the City County Shared Services Committee at the end of February. And Alderman Mark Hannah said, quote, I'm the glass is half full type of person and I believe we have a renewed level of enthusiasm here. I have to agree. I think it's a good idea to, I mean, that group had not met for really a very long time and to get back in the saddle again. And I think it's over the HR human resources. Oh, yeah, yeah, I forgot about that. You know, possibilities of sharing services and so forth. So that's us moving them off the dime now again? I think so. I think so. Because I really think to move a really hard concept forward, you need some issue that will kind of propel you. And I think the HR position may just be there. Where is that? It's still unresolved. We don't know what we're going to do. Right. Well, I was acting HR right now. Susan Hart. She's still acting. Okay. I think she's been doing that since November if I'm not mistaken. Yes. Any prognostications as to whether there will be success in terms of shared services? Well, I don't think it looks good for a lot of success. I think there have been previous attempts. And, you know, a lot of it isn't just city, county. It's just whether we need the number of units of government we have at all in the county and in the state generally. I've talked about before, you've got sanitary districts, you've got water districts, you've got this district and that district, and then you've got all these towns and you've got various... How many fire departments do we have? And probably eight police departments. At what point do you say there's a better way of delivering a service to 110,000 people that live in this county? That's not a lot of people, 110,000, but yet you have a lot of different units of government. And it's sort of like consolidation school districts. They don't want to give up their own little town or their own little village. And until you get that change in attitude, I'm not so sure it's come about. People still are very, very parochial. They live in Oostburg and they live in this town or that town, and that's how they view it.  Those are people who've had large population growth around the big city, and they just said, this is crazy to have all these units of government because you don't even know where, when you cross the street, what municipality you're in, they have seen a reason to meld into one. And that's where metro government has seemed to been very successful. But when you get these units of government kind of spread out, it's tough to get people to start thinking differently. I'd like to see it. I think we have too many units of government. There's savings to be wrought in school district mergers in other areas. But I don't know how you get people in a democracy to say, yes, I'm part of the problem rather than somebody else's problem. People are, you know, in the school district, they're people who just really, really, and perhaps it's just part of our, we've talked about this before, part of it is people feel they have so little impact on other things in their lives that local government is about the only place where they feel they can still have a say and can still have an impact on what's really, really going on. And, you know, and so if you're living in Kohler or Sheboygan Falls and you're looking at, say, merging with the Sheboygan area school district, or Usberg for that matter down the road, there just isn't any kind of interest in that. They know who their school superintendent is. He's on a face-to-face basis at the diner. You know who your alderman is. You know, it's just that sort of, yeah, that sort of, that kind of familiarity is really tough for people to let go. Do you remember maybe when Governor McAllum was proposing a reduction in shared revenue and he said all these entities get together, find out to save dollars because we're proposing to cut back on the shared revenue? He mentioned it. He knew it was a losing proposition because everybody rose up. Not me, not me, not me. Well, and unfortunately I think McAllum kind of made municipalities out to look like bad guys and they're not. I mean, I think that, you know, our local units of government try very hard to deliver good services and they're thoughtful about it and some are more successful than others, some are more intentional about providing good services than others, but I mean, overall, I think you can actually accomplish things without bribing people as in India. You just need to have a wad of bills with you if you need to get anything done in a society which seems to have almost nothing in the way of infrastructure. So I kept asking our guide, I do municipal law, I'm interested, where do you get your water? From the rivers. I saw not one healthy river and of course it was before the monsoon season, but I digress. Let's get back to Sheboygan and as soon as I got back, I was lucky enough to again be the voting, the vote reporter for the League of Women Voters calling in vote returns and so forth. What really surprised me in the Democratic primary, I mean, Barack, as we say, those of us who've run for office say, Hillary got a schvetsing in the state of Wisconsin as a whole. I mean, a serious schvetsing. Of course, Obama spent, I think, five times more money here than she did and so maybe that's what spending five times the amount of money will get you, but what was interesting to me in Sheboygan County, the numbers were closer. Obama got about 53% and Clinton got about 46%. So those numbers were smaller. Interestingly enough as well, Mike Huckabee got closer to John McCain in Sheboygan County and that was a 51 to 41 split and I think on the state level again, those numbers were quite a bit more spread out. 55, 37, McCain Huckabee. There you go. You misspoke. It's right here on the beat, right here. It's right there. Have it here in front of me. I'm only doing this for the whole episode, I'm sorry. Do you remember? That's not too surprising. I mean, you think back, within the Sheboygan County jurisdiction we've got a pretty strong conservative religious base of folks within the city certainly and Usberg and Cedar Grove sort of pride themselves on the Dutch reform tradition and I think Huckabee was really obviously focused on, he's focused his candidacy on that and so the fact that he got 4% points more in Wisconsin, I mean, Sheboygan County than in Wisconsin is not too surprising. And Hillary did well with older folks in Sheboygan County demographics because we do have a rather sizable elderly population. An organized labor I think tends to be not necessarily uniformly by any stretch but tends to be more pro-Clinton just because she's been around longer and has built those relationships I think that Obama doesn't have and so I thought it was interesting. It does point out to me though again that this will make you a happy person is that Sheboygan County grows more and more and more and more and more conservative as time goes on. Just overall, I think that... I live in a wise county, don't I?  But it's interesting. Well, not well, but again, the time times from the radio, from the noise radio was really anti-McCain and people are pretty much ignoring that crowd of who is screaming that he's not conservative enough and he can't be trusted and it's the end of the Republican Party as we know it. I mean, what do you think?  Oh, yeah. Rush was one of his worst... I mean, McCain, you know, I guess the thing about my opinion about McCain... Well, what do you... Where do you think Rush is coming from in terms of making these assaults? I mean, I don't think the Republican... He's having fun. It's Ratings, right? It's Ray. He's an entertainer and he has fun. It's like the rest of us. Yeah, he really is.  Sometimes he goes off to deep in every once in a while. But these, you know... You mean like in Days Ending and Why? And he has great parodies. Yeah. That was a buckly moment, wasn't it? That was a buckly. Days Ending and Why? That was good. But, yeah. So he's enjoying it. And he basically likes... He really was anti-McCain because he didn't think McCain adhered to what he really believes in his strong conservative principle. I mean, McCain's pretty conservative.  Oh, yeah.  And he's national security. And there's probably some other areas that he's very conservative on. Well, wants that Iraqi word to continue. But in any event, that was not my thought as much to debate our respective candidates as much as what the radio folks were doing. Were Sykes and Wagner? Those are our folks in Milwaukee. Were they as anti-McCain? Yes. Well, Mark Belling was. The same kind of thing. Mark Belling is a strong conservative. And I don't know who, McKenna. There was a woman in the morning. Nancy McKenna, I think she was too. So they were kind of beating the drum. Channeling and Coulter. I'm going to switch to a higher level of conversation. I don't have these problems. Now, now, Cal. I like the segue from Ann Coulter to a higher plane. We're fair and balanced, fair and balanced. And not telling any lies. I want to spend the rest of our time, if we can, talking a little bit about an issue that I think is huge for the state of Wisconsin has kind of run under the radar. And that's the Great Lakes Compact, the Great Lakes Legislature to be ratified. Where the, I think the last of the eight states that are involved in this. It's kind of like passing the Equal Rights Amendment as far as I can see as we're trying to get this around and so forth. I attended a short press briefing that Lieutenant Governor Lawton did a couple days ago about this and really laying out the politics of the situation. It has passed the Senate resoundingly, 266. 266. Yesterday as we did this program. Lieutenant Governor Lawton said that Assembly Speaker Hipsch, have I pronounced that right? Correct. From West Salem. From West Salem is refusing, just clear out, refusing to put the bill in any committee which would allow its introduction on the floor. And so it's dead. And... Which is, this is right as Speaker. Exactly. Right. Right. I mean it's an enormous amount of control. People need to know that that's one of the powers of the Speaker. Yeah. And is there any way around that? You can pull bills off the committee floor or off the General Assembly floor. But if you did that over the Speaker you would probably have any committee chairperson who voted that way, no longer a committee chairperson as well as other hell to pay for the people who would buck the chairperson. The chairperson's a little dictator in essence. And so you don't see that happen. Cal, tell us if you will just a little bit about what the pact is. We don't have a huge amount of time left. Well, as you mentioned it's eight Great Lakes states and Ontario and Quebec and Canada. It's actually federal legislation. It has to be ratified by the states. And once it's ratified by the states then it gets the official stamp of Congress and goes into the power of law. And in essence what has taken place is that in 2005 the governors of the eight states and the provincial leadership in Canada got together and drew up a pact that basically says that if you draw water from the lakes you return it to the lakes and any other use other than a few exceptions such as a bottling plant they set a number of gallons per container because there's some bottling pants that basically has one in Michigan where they bottle their water and they ship it out but I guess if you don't bottle so many gallons and ship it out you can continue to do business. But in essence what you need to do is return the water to the basin. And the problem of course is Wisconsin well we're on Lake Michigan once you get beyond Milwaukee and Sheboyga you get over to Fond du Lac and so on you are no longer in the Lake Michigan Basin you are in the Mississippi River Basin so communities that now are finding radon in their water or they're finding low volumes in their wells are looking for the big sugar daddy to the east to get them out of their water problem and so this is one of the problems that they have is how do you return the water that you use for whatever purpose in that community back sort of uphill to Lake Michigan and so you've got a difference of opinion as to whether there ought to be that type of control of the water that's so close to these communities by governors who are in other states. In essence the PAC says unless if everybody agrees that this is a prohibition that stands and when you start when you get one person you can stop something. In other words if a governor of Illinois decides that they don't want Waukesha or New Berlin or some community to draw water out of Lake Michigan that's an objection that needs to be recognized so that's one of those issues that seems to be in Ohio and Wisconsin being the Stumbly Glock Ohio I think some of it's some industrial development issues because they have a number of big plants that draw a lot of water but the other states have gone along and ratified this thing and like you said the state senate has ratified it 26 to 6 I think it's a long overdue. Some of the articles that I've read are very concerned about delay which the speaker has a route to do but the delay is that at what point does Wisconsin and other states in the Middle West start losing congressional delegation and clout and right now Congress is receptive to respecting a PAC such as this and the congressional delegations that exist in the Middle West. You start losing power politically up here all of a sudden the Arizona's and Texas and Florida's and elsewhere grow in political power and say we don't need to take care of these people up there or listen to them. We want that water let's not have any type of PAC so right now we're I think in a very favorable position nationally to do something to prevent other states from raiding the lakes and it's just a shame that we've got some people who are being so obstinate about this. Governor or Lieutenant Governor Lawton described Governor Richardson, former candidate for president, talking about that absolutely Arizona needs to get great lakes water and it just needs to happen. She calls it water lust and I thought that was actually a fairly decent description. And they look at it so differently one of the articles I read too someone from Montana said this is no different than iron ore or making cars or whatever. They've got water let them sell it we'll buy it and we'll ship it out but the problem is you know the lakes historically only fluctuated about four to five feet in all the thousands of years and so if you start looking at global warming you start looking at water being diverted and not being replaced what's going to happen to the fishery what's going to happen to great lakes shipping what's going to happen to the water supply it's a quality of life in an economic situation for everybody that lives around those lakes it isn't just a matter that that water can be shipped off and somehow miraculously it's going to bubble up from the bottom and be replaced it isn't going to be. We don't have a whole lot of time Tom if you want to talk a little bit and we can certainly just go on into the state session The veto because it had to be unanimous if one governor says water cannot be given to Waukesha then that was it wherever the governor was whether it was Ohio, Illinois and one of the concerns was by the assembly leader was he thinks well it's unfair that one governor could stop development or aiding a community like Waukesha like an Illinois governor could say no and that's it and he even cited so he was kind of pushed for a majority but then I guess the governor's already signed on and they probably won't opt to go to a majority not even two thirds majority or three quarters so he was saying we're giving up a lot once we do this and he cited suppose companies from Illinois etc wanted to go to southeastern Wisconsin and they were outside the water basin and they needed water well the governor of Illinois could say no and of course then they can't relocate in Wisconsin so back in the it kind of impedes economic development a little bit for southeastern Wisconsin and the suburbs it's a way to quelch growth in the suburbs Lieutenant Governor Lawton did point out that the way the law is written now or the proposed compact is written now those vetoes are not cannot be made for just arbitrary or capricious reasons there are certain standards by which a veto is measured and you may have more information about that Cal but I think they could appeal they have to satisfy all these standards but then ultimately the governor could say well they met all these conditions but just not quite enough no I think the big measure is if you're not returning that water to the basin it's going to go down into the Mississippi and out to the ocean and so if you've got whether it's a steel plant or a bottling plant or a municipality who's going to draw millions of gallons out of the lake and not return it like everybody else has to and what everybody else has accepted I don't see how that can be permitted I don't see any objections I don't think there would be objections to maybe New Berlin drawing from the water if they somehow pipe back into the Milwaukee river or some other water to let the water go back in but when it disappears forever we have to wrap up but we'll continue this conversation thanks for joining us


To the day of the Northland Arboretum in Brainerd began its annual Haunted Trail. Volunteers of the Arboretum put on the two-day event. All proceeds will benefit the Arboretum. The Haunted Trail will have several different stations and will also have snacks and refreshments at the end of the trail. The Haunted Trail experience costs $5 per person and Northland Arboretum is also accepting canned food donations for the local food shelf. This year we're doing a Haunted Boneyard. So it's going to be really excited. We're also going to have some live animals, which is going to be the more exciting park. The last day for the Haunted Trail will be Friday, October 21st with doors opening at 7 p.m.