Okay, so my name's Toran, I work for a startup called Steera, and I'm also the tech lead on a project called the Open Policy Agent. And today I'm going to be talking about how you can enforce bespoke policies and Kubernetes. And so the focus of this talk is going to be on how you can take admission controllers and Kubernetes and use them to enforce all kinds of custom policies that are organization specific in the matter to your companies. So this is an overview of what I'm going to talk about. First I'm going to give a little bit of background on how we think of policy. Then I'm going to introduce an example scenario where you'd why not enforce some custom policy. And then I'm going to show how you can do that with admission control. And then I'm going to introduce the Open Policy Agent project at the end. So when we're talking about policy, we're talking about sets of rules that govern how the systems should behave. So these could be authorization rules or admission control rules or network policies and so on. And the interesting thing about policies is that while they apply to every single organization pretty much on the planet, they're also vital to their long-term success because they codify important requirements around things like cost and performance and security and internal convention and so on. The challenge with enforcing policy obviously is that they apply across the stack. They're typically very specific to organizations and they often sort of develop organically and then evolve over time. And so they're hard to predict and they're hard to plan for a lot of the time. Now when it comes to actually enforcing policy, the approaches that are out there kind of are all over the place. So you find a lot of companies that just rely on tribal knowledge and wikis and docs and spreadsheets to actually enforce policy. So they write it down on a wiki and they hope it gets enforced. Or when you have a policy question, you have to go and ask somebody on another team and they know how to set the configuration just right to secure the system. At the other end of the spectrum, a lot of companies start by hard coding policies decisions into software. And while that works initially, the cost of that over time goes up quite a bit because not only are the policies harder to understand because they're so tightly coupled with the rest of the business logic in the system, but they're also very expensive to change because you need to do like an entire software release in order to get changes out. And so this isn't necessarily a new space. There are lots of policy solutions out there. But when you dig into them, a lot of the time what you find is that they don't have the core kind of expressiveness that you need to say what you want in your policies. So you can't write the logic that you want. You don't have access to the data or the context that you need to make policy decisions. You can't even necessarily generate the kinds of policy decisions that matter, right? So a lot of the time you need to express more than just like is this thing allowed or denied. You want to say what fields are allowed to be displayed or what are the annotations that have to be enforced or applied to objects when they're created. And then moreover, a lot of the time the languages that they give you are not particularly sophisticated and so you can't take policies and split them up and create reusable functions and rules and so on that you can share throughout your policy code base. So I want to sort of motivate this discussion with an example scenario. And so we've got this company, Acme Corp, and they've got engineers. And so Alice is a platform engineer. She's responsible for setting up the Kubernetes clusters and making sure they're secure. And then Bob is an application developer and he has to ship features as quickly as possible. And sometimes those features don't work the way that he thought they would and so he needs to be able to SSH or exec into those containers and run some commands to figure out what's going on. The problem is that Bob cannot be trusted. He has introduced too many vulnerabilities into the system. He's brought down the system too many times. And so Alice really needs a way to say, Bob cannot run, cannot get shell access to containers that are in a privileged security context in a certain namespace that happens to be running all their production workloads. So the question is, what can Alice actually do to enforce this policy today?  And so they've added lots of web hooks for things like authorization and authentication and image policies and scheduling and all these different things. But then in 1.7, they added a great feature called the Dynamic Admission Control, and that's what we're going to focus on here. And so what that does is it allows you to decouple policy decisions and policy enforcement from Kubernetes itself.  Like you're going to have mutating web hooks. These features are going to beta. And so that's really exciting. So for people that don't know about Admission Control already, it's this stage that runs whenever requests are received by the API server. So after a request is authenticated, so whenever, for example, Bob runs kubectlexec, that sends a request to the API server, and that request has to be authenticated, and it has to be authorized using like role-based access control. And then it has to pass through a series of admission controllers that decide what to do with it. And so before any request affects SCD or any clients get notified about a state change in the system, these admission controllers run. And the goal of these admission controllers is to enforce various kinds of policies around resource management and security, and defaulting, and semantic validation, and so on. And so each admission controller gets a chance to either just allow the request or the change, modify the change, and pass it on, or deny it. And so the difference between authorization and admission control, one important difference is that in the authorization or authorizer framework, if a single authorizer allows the request, then it'll be allowed. However, if a single admission controller denies the request, the request gets denied. So it's like the last place where you can enforce policy in Kubernetes before resources are allowed into the cluster or created in the cluster. So it's very important for policy enforcement. Now before 1.7, this was sort of the state of things, so you had to basically statically compile and configure your admission controllers inside of the API server. And so over time, more and more admission controllers got added to Kubernetes, and so you'd see a handful of them added in each release. And some of them are very simple. Some of them are more complicated, and some of them are very specific to certain use cases. And so this is a list of all these different ones that you see in the code bases in Kube and OpenShift today. Moreover, in order to configure these things, because they're not always just static logic, you need to provide configuration to them for certain things, you had to do that by reconfiguring Kubernetes. You had to go and change the command line arguments that you used to start the API server with. And then you have to provide static configuration files that you have to set up when you're bootstrapping the cluster, and so that made it really hard to change the config on the fly. And so for example, if Alice wants to implement her Bob protection policy, she would first basically probably take Kubernetes, fork it into her private GitHub repo for Acme Corp. She'd go and implement the policy inside of the admission control framework. And then she would have to go and build, publish, and upgrade Kubernetes itself just to enforce this relatively simple policy. And so that's not what we want. The good news is that in 1.7 now we have these external admission webhooks that you can use to run admission controllers on top of Kubernetes itself. And so the webhooks act just like regular admission controllers, they get a chance to allow or deny incoming right requests before etcd is updated and before any clients are notified. And so you're able to externalize or decouple policy enforcement from the core of Kubernetes. Now the really nice thing, or one really nice thing about these webhooks is that you can actually configure them dynamically through the Kubernetes APIs. So you can deploy your webhook and then have the configuration change as the requirements for the webhook change. Now the way that you actually configure them, this is a high level view of the configuration, but you basically specify a bunch of match operations to say, OK, for example, I want my webhook to receive create requests on pods and delete requests on services. And then whenever a request comes in that creates a pod or deletes a service, it triggers a query or a call out to the admission controller to choose whether or not to allow or deny the request. And then you can also put wild cards into the request. So if you want to say, just call me on any create, delete, or update for any kind of resource, you can also do that. So it's kind of flexible, it's nice. Now the important thing here is that the admission controller webhooks give you all the context or the input, the data that you need in order to make policy decisions over the resources that are created in Kubernetes. So they provide the name of the operation, the user, the group, and so on, performing the operation, as well as a representation of the entire representation of the object itself. So if you're working with authorization or authorizers, you don't get this full representation of the object. You only get the name of the object, the type of the object, and so on. So in this case, though, Alice has all the information she needs in order to actually implement this policy to protect the system against Bob. And so she would write a webhook, basically. She could write a webhook now that makes a decision about whether or not to allow these connect requests. And then that decision would result in a response being sent back from the webhook to the API server that says that this request should be denied. And then she can include a message that tells Bob why he's being denied when he runs kubectl exec. And so it's important to know that if any of the webhooks return a denial, then the request gets rejected, right? So it doesn't behave like an authorizer. OK, so I figured we would actually look at how you would go about implementing one of these webhooks. So I was doing a drive-on of this demo right before the talk, and then my laptop crashed. And so hopefully, this goes well. OK, so the first thing you need to do is create a service that the API server can use to look up your webhook that's running on top of Kubernetes. So we're going to go ahead and create that. And then we're going to basically create a deployment that runs our webhook. And so this is pretty standard. It just identifies the container image that's got the webhook. And then it also has to specify the TLS certificates that the API server will use to authenticate the remote, the endpoint. So we're going to go ahead and deploy the admission controller now on top of Kubernetes. And then we can see that it's brought up immediately. So that's great. And then we can see that the webhook has actually registered itself as an external admission controller in the API server. So this is that configuration that controls whether or not the webhook gets called. So you can ignore this big certificate bundle at the top. The interesting bit down here is that it specified rules that say, OK, for any operation on any sub-resource of a pod, invoke this webhook and ask whether or not the operation should be allowed or denied. OK, so let's take a look at how this is actually implemented. So this is the go code that actually implements a webhook. So you have just a main function where you do the standard boilerplate of loading the Kubernetes config to talk to the API server. And then you just start a web server that serves the webhook endpoint. During startup, you need to register the webhook somehow. So you can either do this in code or you can do this with configuration. I've chosen to do it with code just because it makes it so that as soon as the webhook is deployed, it registers itself. It says, please call me whenever something happens. And so I'm just specifying that configuration here using the go client library. OK, and so then we actually get down to the business logic of the controller. And so here we're basically checking whether the incoming request is performing a connect operation on the production namespace. And we're basically looking up whether the pod or the container in the pod that you're trying to connect to is running in a privileged security context. And if it is, then we log it and then we return a denial back to the API server. And then the rest of this code is basically just setting up the web server that you need in order to accept these requests from Kubernetes. OK, so that's about 150 lines of go or so. OK, so now we're going to test this policy out. So we're going to create a privileged container that's just going to run an alpine image. And what we'll do is we'll first create it in the default namespace. And then we'll create another one in the production namespace. And so then if we try to exec into the default namespace, it works as we'd expect. But hopefully this works. This is what broke right before the talk. If we try to log into the production namespace, we get this rejection back from the API server. And we get the message that was set by the admission controller. OK, so the demo gods were kind to me this time. And yeah, everybody should clap for that, I think. OK. All right. So if you start implementing these webhooks, there's a few things you probably want to keep in mind. So the number one thing is that you really need to be careful with the dependencies that you introduce in the webhooks. Because every single call coming into the API server is going to be subject to whatever latency or availability constraints you put on the webhook. And so you really want to be careful about that. The other thing you want to pay attention to is that you don't want to be performing side effects, if possible, at all costs inside of these admission controllers. Because if your admission controller decides to allow their quest, it doesn't necessarily mean that an admission controller later in the chain is going to allow it. And so you don't necessarily know whether or not the requests are being allowed or denied. So you want to be careful about that. The second big thing that you want to pay attention to or be aware of is that right now the API server sends the internal representation of Kubernetes objects over the wire. And so this means that it's a little bit trickier to get the objects to deserialize if you're using the client go framework. And they just won't look exactly like the objects that you see when you do API requests against Kubernetes. So all the same data is there. It's just that the format of the data is slightly different. The sort of thing that's sort of getting better is that right now the API server fails open if the webhook call fails, right? So if there's a network partition or whatever and the webhook crashes or something like that, then that failure is going to, that error is going to go back to the API server and the API server is just going to allow the request. Now this has been designed to be configurable from the start, but they didn't allow you to actually set that configuration until it's going to come in 1.9. So that'll make this much more applicable. Another thing to watch out for is that you need to actually serve, or today you need to serve the webhook endpoint from the route path. So you can't embed this in another web server. You need to have your own. You need to own the IP port. But that's also becoming configurable in 1.9. So that's getting better. These things are improving. The last thing I'll point out is that actually, I think there's been a couple of talks on Client Go so far. But the vendering experience of getting Client Go to work inside of your project has improved a lot over the last six months or so. And so the first time I did it, is there a question there? Yeah, I thought you mentioned a representation of your client. Yeah, so the question is whether or not you need to use the Kubernetes code in order to make these admission control decisions. And you don't, like you can just receive these webhook calls as JSON and then do whatever you need to do with them. But yeah, you're not getting the versioned API objects over the wire. So I just want to point out that the Client Go experience has gotten a lot better. I had a lot of trouble getting it to work a few months ago. Last time I did this last week, it was super smooth. So that's excellent. OK, so these webhooks and other features that are part of dynamic admission control like initializers have sort of laid the groundwork for extensible policy enforcement, which is great. Because you don't want to have to go and modify Kubernetes itself whenever you want to enforce some new policy inside of your organization. The reason for that is that these policy decisions have been decoupled from the enforcement point. So you take the policy decision about whether or not Bob should be able to connect to a container, and you offload that to this webhook that's running somewhere. You don't bake it into your API server. No, they don't. So it's just an API that you have to implement inside of your process. The question is whether or not you need to implement these in Go. And the answer is you don't. But that's a great question because I think that we can probably actually do a little bit better than this. In the same way that when you configure a firewall or something like that, you don't write a bunch of C code to do that.  So what I think we really want and what everybody should want is a declarative way of specifying these kinds of access controls in their clusters. But obviously, this hasn't really been done so far. And there's a few reasons for that. But one of the reasons is because this is the type of thing you have to write policy over. It's these deeply nested data structures that have all this embedding and these collections. And they have these domain models that are incredibly sophisticated and complex. So for example, a pod has 35 attributes or something like that that are deeply nested. And then the metadata adds another 10 attributes. So if you try to imagine how you would apply a firewall rule to this, it doesn't really make sense. When you work with firewall rules, you're thinking about five or seven tuples. This is like a 500 tuple or something like that. So it's really tricky to think about how you would do this declaratively. But this is what I'm interested in, what a lot of people are interested in. And so if you had a solution for this that was declarative, this is what it could look like, for example. So first of all, you're going to need some way to reference these deeply nested data structures that are inside of the JSON. So you want some way to dot into that JSON and refer to deeply nested values. The next thing you're going to probably want is some way to have intermediate variables so that you don't have to repeat these deeply nested paths all over the place. And then you're also going to need some way to iterate. You're going to need some way to walk over, for example, the containers in a pod to check whether or not the image is what you want. Or whether it's got a privileged security context. And then once you have that, you need some way to actually express assertions or write policies or have logic that decides whether or not something should happen. And then once you have that logic, you're going to want some way to share that. You're not going to have to repeat that all over the place. And so you just need some way to wrap that up and share it and reuse it. And then finally, you need some way to take all of that together and build policies out of it. So for example, we could say that given the incoming review, if the user is Bob and the operation is Connect and the namespace is production and there's a container in that pod that's privileged, then deny it. We don't want Bob breaking the system. And so this is exactly what we built the open policy agent for. So OPA is an open source general purpose policy engine. And what that means is you can take it and apply it in any system at any layer of the stack. So the way this works is that you basically offload policy decisions from your service. So your service executes a policy query and provides a bunch of input, like a pod or a deployment or a service. And then it gets a policy decision back, which maybe do not allow this pod to run. Or here are the things that need to be changed in the pod and so on. So at the core of OPA is this high level declarative language that we call rego. And what rego gives you is the ability to write policies, to codify policy that answer questions like, is this user allowed to perform this operation on this resource? Or what cluster should this workload be deployed to? Or what clusters should this workload be deployed to? Or what annotations need to be set on the objects when they're created? And so the neat thing about rego is that you're not limited to just boolean policy decisions, like yes or no, allowed and aye. You can actually express decisions that are like collections of values. They're actually just arbitrary JSON data. OPA itself is written in go, and you can take it and you can use it as a library or a daemon. And so the idea is that it's meant to be as lightweight as possible, so it stores all the policies and data and memory that it uses to do policy evaluation, and then it doesn't introduce any kind of runtime dependencies. So there's no external database that it has to connect to or any external service that it has to reach out to when you've got it deployed. So it's very easy to deploy. When you're using it on top of Kubernetes, you can actually just load all your policies in its config apps, and I'll show that in a minute. In addition to the sort of core evaluation engine that gives you the policy parser, compiler, and interpreter, we also provide a bunch of tooling around to help you build, test, and debug your policies. So for example, there's an interactive shell that you can use to develop and experiment with policies and write queries. There's a test framework and a test runner that you can use, so you can actually unit test your policies and verify that they're doing what you think they should be doing.  And then lastly, we have a growing community of people that are using it. So the project itself is sponsored by Stira, the company that I work for, as well as Google Firebase. We have a bunch of users. We talked on Wednesday with Netflix about how they're using it to do authorization across their stack in HTTP APIs and GRPC and SSH and Kafka. We've also got other users that are using it for Kubernetes and Terraform and more. And then we've got a bunch of integrations that you can use across projects like Istio and Kubernetes and Terraform and PAM and AWS and so on. So you don't have to actually start from scratch if you want to use OPA to enforce policies. You can use some of these integrations out of the box to enforce all kinds of custom policies inside of your organizations. OK, so let's have a look at how this actually works. OK, this is the part I really want to go well. OK, so first I'm going to create a namespace to deploy OPA into, and then I'm going to create a similar service like we did before for the other mission controller, and then I'm going to create a deployment for OPA itself. And I'm going to wait for OPA to start up. And so it's there, it's already running, that's great. And so the next thing I can do is check to see if OPA is registered. And so you can see here that it's registered, and it's actually saying give me all requests across all API groups, versions, operations, and resources. And you can see that the failure policy here is actually ignore. So this is what's changing in 1.9. So this will be configurable so you can say don't ignore failures if the endpoint crashes or something like that, treat that as a denial, which is what you want. You want to fall back to deny in this case. OK, so what I'm going to do is go ahead and create that pod again, that privilege pod in both namespaces. And then I'm going to load in a policy now as a config map to OPA. So the policies that can all be stored in Kubernetes is config maps. You don't have to add another storage layer or something for OPA, it can all just integrate with Kubernetes very nicely. And then when you load the config maps in, you can see that OPA has actually annotated them with a status of that policy. And so in this case, the status is OK, which means the policy has been installed into OPA, and it's being enforced. So you can actually tell whether or not there's been an error in the policy or something like that so that you know that it's actually working. And so I'm going to try to exec into the Alpine container that's in the default namespace, and that's working fine. And now fingers crossed. If we try to exec into the Alpine container in the production namespace, that gets rejected. OK, so that's the same behavior we saw before, but the implementation is a little bit different this time. So this is an example of a policy that we've written that implements this sort of access control in Kubernetes. And so at the bottom there's a bit of boilerplate, but at the top is sort of the business logic of the policy. So what we've done is we've defined a rule that generates an error message that says you can exec into privileged containers in production namespace. And that error is going to be generated if the body of the rule is true. And so you can read the body basically as input.spec operation matches get, and spec.namespace matches production, and the pod itself, or the pod, refers to a privileged container. And then we have a little function that defines whether or not a pod is privileged. And so we look up the pod spec from Kubernetes, and we search over the containers in that pod spec, and then we check if any of them have that privileged bit set. And then this policy, the logic down here, is just basically generating the response that has to go back to the API server. OK, so the question was, what happens if Bob changes the spec? And so you can write a policy that prevents Bob from actually modifying the spec if you want to. But in this case, maybe he should be able to do that. Maybe he should be able to exec into those containers. But OK, so that policy worked. That's great. But what I want to highlight is how OPPA lets you write policies that are very dynamic. And so everything's on fire now. Something happened in the infrastructure. And so we want to actually give Bob access now to that container. And so what I've done is I've defined this little simple policy here that just says break glass is true. And so I'm going to load that policy into OPPA as a config map again. And now if I try to exec into the container, I can. So that's cool. So this just shows how you can actually change the behavior at runtime very easily. OK, so now that the column has been restored, the issue has been fixed. And if I try to connect into the container again, I get the original error message back. So these policies can be very dynamic. I actually specified break glass as a policy, but it could also just be data that you load into the policy engine, so you could hook it up in different ways. OK, so the demo gods are very good to me today. And I'm very happy about that. So something we're announcing today that we're really excited about is this standard library of policies for the Open Policy Agent project.  But we didn't until recently have a standard library of policies that you could take off the shelf and use to enforce all kinds of different things like admission control and authorization and placement and auditing and so on across a wide range of different projects. So for example, we have risk management policies for Terraform. We have security group auditing policies for Amazon. We have admission control policies for Kubernetes. We have auditing policies for Kubernetes. We've got similar things for Docker. And we've also got some auditing policies for Istio to make sure that your Istio cluster is set up correctly. And so this is a great, if you're interested in this kind of stuff, it's a great way to get involved because these policies are very high level. They're pretty easy to write. It's kind of fun because you get to work with data. It's very predictable and enjoyable. So yeah, so I recommend that everybody check out the extensibility features in Kubernetes 1.9. I think that they're going to really enable a bunch of new interesting use cases. Projects like the MetaController are quite exciting. OPA is a really cool project that we're really excited about because it provides this reasonable building block that you can use to enforce all kinds of different policies across all these different projects. And you can get started without having to write any code. You can take an off-the-shelf integration and a bunch of off-the-shelf policies and apply them to your infrastructure to do all kinds of things, like apply security controls and resource management controls and so on. So the last thing I'll point out is that it's just like what enables all of this is the extensibility that's been added into Kubernetes. So when you're thinking about designing these kinds of systems, think about extensibility and think about decoupling policy decisions from policy enforcement. OK, so thank you very much. If there are questions, I'm happy to take them. You can please go to the repo and the OPA repo and start it. And if you're interested in this demo, the code is all online. You can check it out. And yeah, thank you. That's a great question. So the question is in the policy that I showed before. So this policy is referring to data Kubernetes pods. And the question is whether or not that's being queried synchronously or whether it's being cached in OPA. And the answer is that it's actually being cached. So when we deploy OPA on top of Kubernetes, you can configure it to actually replicate all the pods and deployments and config maps and services and so on into OPA. So then you can write policy over them. So you can take the same idea and you can use it to write auditing policies, for example. So if you want to find whether or not all pods are specifying resource limits and resource requests and so on, you can do that. Or if you want to find pods that are not dropping privileges or security capabilities and so on, you can do that. So you can get all this data into OPA and then interact with it very easily. That's a good question. So the question is whether or not the logging, the audit logging, you mean, is being handled at CD? We haven't hooked up the audit logging to anything yet. So right now you can just query OPA and get back these events, basically, or these warnings, errors, and info messages. But you could certainly take that and pump them as events into Kubernetes and then use the Kubernetes event system to get access to them. Yes, so I haven't shown this here, but you can write basically built-in functions for the policy engine. And those built-in functions can call out to external, like you can do whatever you want in a built-in function. So you can execute a request against an external service to get some data or whatever you need. Obviously, if you do that, then you kind of couple your policies to that external system. And so it makes them a little bit harder to test in your development environments locally with unit tests. But it's definitely something worth doing if that's what you need. So the question is, what happens if you delete a config map that contains the policies? And the answer is that the COPA is basically watching the API server for config maps that have a label on them that say they contain policy. And if that config maps gets deleted, then OPA gets that notification that it's been deleted, and it uninstalls the policy from the engine.  So today, you would try to push an error back up. But then I guess, yeah, that's not well supported today. So one of the improvements that we'd like to do is make this, instead of using config maps, to use CRDs, because some resource definitions. And then you can do synchronous validation of the changes that are made against those CRDs and prevent that from happening. I guess you could also, yeah, that's probably the best way to do it. Third row, and then we'll go back. So here. So in this case, you can see that the policies are actually namespaced with a package directive. So you can prevent. The question is, what would happen if you'd find the same function in multiple files? Yeah, so I guess if they're in the same package, the policies get compiled. So we would either return an error back because there's a conflict or something like that, or if they're in different packages, that's certainly fine. Yeah, next behind. So the question is, how does RBAC compare to this model? Yeah, sure. So role-based access control is great. It provides a nice high-level, configurable way of controlling who can do what. But it's very limited in terms of the expressiveness that it gives you over who can do what. Because it limits you to say, OK, Toren can do pod creation in a namespace. But it doesn't let you say Toren cannot create pods that refer to an image that's outside of our internal registry, or any kind of combination like that. So it's limited in terms of expressiveness. You can build role-based access control policies in this language, though, if you want. So it's very expressive. Good for segregation of duties. Yeah, yeah, yeah. It's good for segregation of duties. Absolutely, yeah.  So the question is, how do you use this in other environments, effectively? OK, so you can take OPPA, and you can run it as a library. So if you're building your own services, you can use it as a library by embedding it into those services. Or you can run it next to them, either as a sidecar, or on the host. And then your services can query OPPA and ask for policy decisions. Now, if you want to use it for something like Terraform, for example, you can generate a Terraform plan, and then run that plan through OPPA to get an authorization decision, for example, in your CI CD pipeline. If you want to use it in a cloud provider, then we need to have extensibility or hooks in those providers to call out to an external endpoint. So Kubernetes does a very good job of that. Hopefully we see more of that from other platforms. Yeah, so that's the, if you check out the standard library, that's where we're starting to build up this repository of common policies that you can take and use to apply to different providers and different projects and so on. Okay, one more question? So the question is whether or not you can apply policies based on what the container is actually doing. So the policies I showed are just operating over Kubernetes configuration, right? If you can get data that describes what's happening inside of those containers into OPPA, then you can write policy over it. So OPPA is not coupled to any of these projects or any of these providers anyway. It's all just data dough, but it doesn't, we're not coupled to Kubernetes or anything like that. All right, well, if there's no other questions, thank you very much.


The tour of the Lake District is a 96 mile circuit starting and finishing in the popular tourist town of Ambleside. The trail takes in each of the main Lake District valleys along lakeshores through woodland and other remote mountain passes. Join me as I take on this winter Lakeland adventure with a mix of freezing wild camps and cosy country pubs. Morning glampers slept alright but now this is just dripping on my head when it's thawing out a bit.  There was no breeze to deal with condensation so it's pretty soaking in here so to be expected that's just filling my head. She is Bonnie, a clouding version down there of a coniston. Oh a clouding version is all in the valley that is neat. I've never said neat before but that's what it'll do to you. That's what it'll do to you. Beautiful. I was warm last night because it's sleeping bagging layers in that but waking up it's chilly and I forgot some gloves so next chance to get I'll have to get some gloves but there won't be a chance for a while. Working to a beautiful cloud formation in the valley there the colours are amazing. Turned held up well as you can see it's a bit frosty on the floor. Apart from that all good slept in a bit I had my ear plugs in and the only alarm I've got is on this little cheap cassio so couldn't hear it because my phone's running out of battery I can't remember if I told you that or not. I forgot the lead for my mobile phone and my OS maps on there and everything is on my phone I need to message people who have said I'll message to let me know I'm alright in there. That's one of my missions is to try and find a I've got power banks but I just don't have the lead for my phone so one of my missions is to find that and I know that there isn't any proper shops till I get to Keswick which should be in maybe three days I'm not sure if I can go three days I've put a lot of time and effort into like inputting my OS map into me further than that the route and so I want it so I don't know maybe pull into a pub or a cafe or something just beg borrow and steal just ask please I'll get this frosty marron packed away and then we'll hit the trail because it's now it's now 20 to 8 I should be hiking every little bit of day like there is and this is light enough to hike in so we're wasting time I'm wasting time so same way we've got cloud inversions the sun's coming up let's get packed away mustn't grumble fingers are hurting but most said grumble I'm grumbling by saying it but fingers are hurting oh man my mia look how frosty she is oh no and that is hurting man it's beautiful yeah there old chap oh look at it hey come on feyney's temporary feyney's temporary so inside it's tense all wet now because it's snow and ice and that all the condensation freezing over tonight's going to be a matter isn't it I mean it all depends where I land when it when it's when it's end of play if I'm near somewhere like a a youth hostel or a a B&B or a pub or whatever then I'll stay in it and dry out all my kit but all depends I have a precious about wild camping every night or doing whatever it's an adventure and it's my adventure and I'm customizing it to how I feel at the time but still with the way it's planned out I fully expect to be wild camping tonight as well this is lovely isn't it it's crispy and cold fresh leave no trace glorious eight o'clock which is a bit of a a bit of a later start than I would have hoped maybe not wear my earplugs are awesome but if I get my phone working then that's the alarm that wakes me up little Cassie I ain't doing nish look at that see it that's just a clouding version there in the valley and then got sunrise coming up ice underfoot quite sporty tovlandine the guidebook to hand because not having me OS map on my phone is a bit of a kicking teeth really but I can do it off the guidebook it just means I have to be a little bit of a buckworm and I've made buried in it a lot because there's a lot of there's a lot of zigs when you should have zagged and all that sort of behavior on this this is all it's all about mate for me I'm only one out here now because it's so early and I've hiked out here there's that sheep there look you see him good lad this is Walnut Scar Road and it's an ancient route dating back to the Bronze Age and it was used as a pack horse route between Dunedale and Coniston to transport bales of wool during Middle Ages times and to carry slate from Coniston quarries and that's fat could have a bit of a problem Houston all my batteries are going because they got down to minuses last night and batteries don't like it when it's freezing so I've just put this new battery in and it's flashing red already so that might be it that might be it no phone cameras are going oh well I'll still do it anyway I'll maybe always look at home and just write a blog the link to my blog page here all right we're off up up and over this bit here I have to deploy hiking sticks it's that time it's a bit painstaking filling these with cold digits but it has to be done so I'm just going to stay here fill up both my water bottles have a bit of a drink as well and then we'll crack on two bottles of water and in one not a sponsor but I love them I absolutely love them get at me get at me zero high fives electrolytes going one make it taste taste a lot better and replenish salts and stuff because it is important in winter you don't think you have to drink as much because you're freezing cold but you do and uh and that just helps replace salts and whatnot from your sweat you can see coniston water and mork and bay and the start of the cumbria way a little shelter the shelter is absolutely covered with sheep shit oh it's nice it is sheltered from winter that's nice yeah look at nice views you could sleep in it your feet would be hanging out a bit but and as long as you had a good air bed and you didn't mind fresh sheep shit you'd be all right oh yes oh that way map time map you mcconnelly will ever stop doing map time never right he says you sat on a really cold stone you're probably going to get piles because it's freezing cold if you don't want piles turn to page 33 climb steeply through the zigzags we've done that then cross the flank this is this of brown pike to reach a high point and a path junction at 610 meters so that's where we are continue straight on the track to the right leads to the summit of brown pike right okay the descent is long easy stone track to reach a ruined quarry building then the track turns abruptly abruptly right to reach a gate becoming grassy as it steadily descends then stonier and rougher lower ground the roar of longhouse gill becomes increasingly loud until finally a small road and bridge are reached 7.7 kilometers from where we started here you have options hey it's exciting isn't it a real guidebook right baton baton daniel son here you have options that was good lens was a bit chatty in last video in um in last tenor e video so that'll have wound some people wound me up to be honest with you so if you've that video ain't out yet but if you have commented on the fact that my lens is chatty i agree and i apologize wholeheartedly not many houses in this one so we're getting to the sort of rarer more remote part of the lake district that's why i probably won't be able to get my phone charged but hey let's take it in like obviously you take it in without realising because you're out here and you're doing it but every now and again it's best just to point a camera at your face breathe free your nose a little bit i can cry it's freezing will i be doing some wild swimming on this trip i think so i think so i'm in that headspace where i want to get back from this trip and use this as a sort of springboard into just better habits and feeling better and uh wild swimming is one of them things that makes me feel better so if i get the opportunity i'm going to do it so if you can't aim because it winds i'm thinking about you windy isn't it rough another thing is because i don't have gloves old in camera and that and it's support devices it's a it's a bit hard here we go look first one of the day and it's just it's easing us in gently with a nice nice and simple come on no surprises do it one hand because i'm filming it here we go get the foot under look i've got my ways look hey perfect get that board let's go detour and have a look i mean is this the thing that's supposed to be a roar because that ain't a roar oh if i'm going to have a plunge it's going to have to be somewhere a little bit better than that i think there were some wild swimming spots or just some water spots on there the kate raff trail that i think about to this day look i can see the bottom it's so clear i want to go in i don't know that i'll probably never go in there breaks my heart look how nice it is oh one day i'm going to hike back to them just to swimming them because i was hiking the kate raff trail and i was having to put the miles in and they didn't want to stop at every little bit of water and jump in it so i regret it and i've thought about it ever since so who knows maybe this year i've come over these tops down this pretty rough arse path and hit this tarmac and it's nice it's a nice change of pace underfoot to be on the tarmac nine to eleven let's have a go hopefully get a brew but what i want more than anything is to be able to charge my phone so hopefully i can get a chat on with with owner and see if i can lend a cable if you don't ask you don't get shy bands getting out i love that hello we keep fire on them that this is nice hello oh hello oh you are you are open oh yeah you're open nine do you get many customers coming in for early breakfast some four time yeah oh have you already right yeah that's good stuff well we're open nine o'clock yeah yeah we're meeting pub I was like oh mate he does breakfast at nine o'clock brilliant got a bit of a chat on to him like do you serve many breakfasts middle of nowhere he does uh that says look mate have you got a have you got an iPhone charger that i can use just just the cable don't need out else and i'll plug it into my power bank and i'll charge while i'm having a breakfast he was like yeah you can use mine i've got a phone cable i was like nice one mate i'll have a breakfast and a coffee please or did it paid for it he came off a bit cable it was i don't know what it was for me i think it was from a for like charging up an extra sketch or something and not knocky or something didn't i didn't have art to tell him i didn't have art to tell him so i was like cheers mate nice one so just that that was that man i just couldn't charge my phone so that was a bit of a wasted time i wouldn't have bothered but breakfast was lovely so i just wolfed it down wolfed it down and we're back on i like these little bridges the gates on the spring loaded look that's nice this is nice nice nice nice it's all nice we'll get to s still next i'm gonna make sure if i go if i stop for a pint or something to eat show me the cable first and then we'll chat what's this look at this what was that do you think some sort of weir oh simple what's going on this fuck has to be holding it down today it's beautiful there's a steep one up through these woods and other tops so i think i have to deploy these bad boys come from all the way through here through that valley through here we're heading down there it's absolutely stunning man it's different to obviously in summer the bracken's all died back and there's no leaves on the trees and but it's there's a beauty about it a rugged beauty about it and it's so peaceful 10 out of 10 mate stunning stun dmc i'm loving it this path this little like traverse through this open moorland and hard not forest is it's beautiful beautiful once a massive pine plantation now they're rewilding it to like a natural woodland with like oak and you know some like deciduous trees and stuff just completely rewilding it and i think that's meant and it's such a joy to walk on let me show you nothing wet it's not boggy it's lovely soft ground the colours are sublime i mean it probably don't pick it up on here but there's like holly trees with the red berries on the burnt orange of the dead bracken the shiny bark of the silver birch mixed with the shiny silver rocks you having it because you must be having it i've not passed a single soul today on me hey and it is being perfect i love these valleys man these valleys are just uh they're not as popular as the other ones so you don't get as many people which i'm enjoying at the moment these big boys stop deer's getting over them do i have to do anything do i yes i do clunk click whoever's come before me hasn't i don't put that in there so we'll do that it is hard when you're on a full hike when there's that many gates to like to and i know i shouldn't have to do it i know what you're saying you don't have to uh you know it's getting pretty old now i know it is but i can't stop filming gates because guess what i love them i love it and uh and i'm sorry i'm not sorry actually because after a bit of artwork look whee film maker at year award they don't call me film maker at year for now whee there's a filmmaker i i forgot i totally forgot about that um well i'm bringing you such amazing content like uh latches and locks i would just like to say um a heartfelt thank you to everybody who voted for me in the uh the great outdoors magazine film maker of the year awards because we won we won it what meant a lot and what does mean a lot is that it's voted for it was the reader's choice so it's voted for by people like you and we won because of you and i'm so grateful to everybody who voted i'm really grateful and it came at a time when i don't know i needed it mate honestly when they emailed me and they're like oh congratulations you've won this thing it was when me Ed was like in a shed and i just i was just like i am good am i good am i good at summer because uh i don't know it felt good anyway so i'm gonna in fact if we do have a pint on this trip i'll forget what i don't let me forget but we'll have a cheers to that actually and i'll toast you guys for voting and i genuinely really appreciate it thank you cut this mate please don't let there be anybody in it because i'll shat it hey up look new digs tell you what no i won't tell you what it's an absolute cackle isn't it i was gonna say tell you what mate i'd keep in there no let's get out of here it's mad i've got that there actually isn't it so everything is geared up to take you over here but it's not actually it's this tiny little path here it takes me through this gate and up and that's a good job i checked that map there pretty remote now pretty remote i'm heading up there towards those trees i believe one of the benefits of trail runners is that you don't need to break them in as much as hiking boots that hiking boots take a good a good few hikes in them i think before the proper break in and you'll probably blister and they do take some some getting used to but once you get used to them they're brilliant whereas trail runners you're pretty much good to go straight out the box i know most people don't really care but for anyone who does care about equipment and stuff i'll be doing a review on my second channel about these about these uh these shoes and comparing them to me ultra fives because i can properly say about them carcass of you know 600 miles in a pair you're going to get to know them and this is like 100 miles of raw sorts of terrain so we'll have a good comparing contrast there's a few things that i'm using on this hike that i'm going to do reviews of on the second channel so i'll leave a link below to that if you want to check it out it's boggy i've tried for as long as i could to not succumb to the the bog but it's been too difficult may it look at it it's uh both feet are drenched now so that's summit i have to deal with it's giving me scotland vibes now i'm on the edge of the wood are we going in yes into the wood we go it's very boggy underfoot feet are soaking now you're wobbling look at that man mate sorry me things bust it's gonna hold wobbly so that's uh sorry about that battery seems to be holding out though it's ever changing it's ever changed we're out in just sparse moorland and now we're in this thick thick woodland so just come out of the woodlands that was a lovely little stretch that really enjoyed it really peaceful and we're out back on to open moorland heading down roughly on this i mean it's not well trodden in but you can see where it is but clouds are coming in you see up here and over here thick they look like rain clouds i'm surprised we haven't had any rains so far already and uh i just saw these clouds and it turns your mind to like all right so like what's me what's me deal if it starts to piss it down if you just start pouring it down now i'm getting drenched uh while i fart about getting me uh getting me bag off and ah man down there you go look too busy waffling tripe we've come over this ridge into the esteele valley and i think i'm gonna be heading that way all right what surely not that's well steep is this man is this where i'm supposed to be going i believe sir over yonder tricky little descent down there can't clear that is man beautiful and this is doctor's bridge an old surgeon had it widened so that you could get his horse and cart across it out it's sort of red so i believe it looks so inviting as well but that's so cool man i'm behind sketch but let's have it let's have a little nice in it look beautiful let's have a look around st katharine's church dates to the 12th century when the prior of st b's on the chapel on this site the front is decorated with ancient marigold signs similar to those found on early christian tombstones the east window depicts st katharine the good shepherd and saint cecilia all right yeah it's good clobber some big names look thomas dobson big lad on campus all right he was the master of esteele uh and enne dale foxhounds he started the pack there is look lovely red brick as well well it's nice it's relaxing isn't it in church crocus is coming through snow drops lovely stuff right come on back on track apparently i've got to find some um some stepping stones around here and then that'll lead where's i am where stepping star there they are they're hardly stepping stones mate they're most last man down in it in there look look at this oh no carrot camera just in case these are so bad but look at these youths over here and it's deep deep enough like that in a stepping stone look at that there's like a spike on top of it and then they're all wet i'm going to get so this isn't going to work out for me this isn't going to work out i stacked it i stacked it stacks it up wet rock look at this i'm wet rocked in that oh no he's all over the place look i'm at your hour oh that is cold that is cold as that isn't stepping stones that is oh my feet look at that look right that isn't news like yeah fair enough fair enough fair enough and then just goes to goes to dogs here they've just gone oh well find out this is wrong way it's alive in here isn't it aunt gates bus what's going on bootleg oh it didn't even fit look that doesn't even fit in there the injuries have gone unbelievable but i think i think this is my way to go our feet are completely soaked now nothing matters does it look i had the foresight to roll trousers up a bit because i thought i was going to stack it or i thought there's a good chance and i did so at least at least my trousers didn't get wet glass is half full of water right look at this we've got this lad here and his and his mates are on this side at fence but i don't want to be letting him in if he's not part of the same crew have you got little earrings in yes yellow a yellow in the right ear he's part of the same right come on in then come on in lad you want it you want it there you are then that mare was thank you mate they all had a yellow thing and a blue thing in luggles just to tell who's who it was his who's with farmers so he was part of the same tribe i've let him in he's just made himself right at home and he's uh and he's very grateful feeling it after a full day on hiking come here i feel good invincible i feel again it's just like does that saying that like no one's coming to save you and it's so true like your life isn't a a hollywood blockbuster no one there's no one's coming to rescue you or make things better you're your own hero in the story and you've got you're the only one that can sort your knocking out and that can get your life sorted out and that can be good for you just turning up man that's the hard bit it's not doing this like long hiking winter and getting to the end because once i've set off i'm laser focused i can i know what i'm capable of and i know that i can do these sort of things the biggest challenge is getting to the start of something finding the motivation in yourself to actually just do something out your comfort zone or do just even just turn up for the day can be difficult and that's your that's your first win in it that's my first w in win column is just turning up man and you know just being the hero that you are like being your own hero it's the only way to do it man it's hard when you and it's easy for me to say now that noggin's good and i'm out and about back on it but when you're in doldrums it's a different story but there are sometimes just little triggers and things that can get you out of that like listening to things like maybe someone who's listening to me now saying that you've got to be your own hero and you've just got to get up and do it they might actually get up and do it because that's sometimes all it takes is just a little bit of motivation and then you can get the ball rolling and if you're anything like me once the ball starts rolling you you know you're capable of all sorts of good stuff and i feel like as well sorry i'm having these chats because that's what this hike's about for me because i've been through it a little bit in the beginning this year and i'm out through the end and i wanted to try and motivate people who are feeling the same and just to say like the longer you are in it the harder it is to to even imagine getting back out of it because you might just let things get some to shit like when i was in when i was in it last year at the beginning of last year it's covid i got covid i was wiped out and it just snowballed out of control and before that i was just just bad habits man and i got to a point where i was a bit low if i put like i put a lot of timber on i was just feeling shit about stuff and i know that once you get in there it can be hard to get out like the further you go in you just think oh fucking like what's the hike i can't get out now because i've got a set of cans on me my jeans don't fit what's point it seems harder and harder but i don't know i don't want to be i feel like i might be being patronizing and i if i do come across as patronizing i'm i don't mean it to be i don't mean it it's coming from a place of love and understanding like i understand i get it here but yeah man it starts with it starts with being kind to yourself it starts by because there was a stage freeing lockdown when noggin was a bit traumatized i'd be looking at mirroring should be like going you're just a shit house look at you you can't you're not you're not in shape your head's smashed you're just you know drinking too much eating shit food you're not having relationships good or just everything was a bit like you know looking at mirroring being like nah it's not the one and so it starts with like positive affirmations and looking you're selling eyes and just being like do you know what mate your sound you're a good lad you've done this today or you've done that today and at the end of every day just be accountable for what you've done and make sure you've done something good for you every day and just build on it man just build on it and then once you start seeing results whether that's physical stuff or mental stuff or financial stuff or relationships once you start seeing the goals then it becomes easier because you like you can see the fruits of your labour it's just that beginning but it's tough gig because if you've put like i'm just using weight as an example but if you put weight on and you're like right i'm gonna fuck it i keep swearing because i'm getting passionate so i keep having to cut it out sorry if you're like right i'm going to start losing weight and you just you're hammering it all day you eat salads and you go for a run and you might do this all week and you don't see any results so you're just like well what's point what's point it's when you start seeing them and you've got a consistency man consistency is key you have to just be consistent with it and then once you start seeing the changes that gives you that gives you your your umph doesn't it that gives you your like your reward yeah build on it build on it and then and then you're out of it other side aren't you once you're out of the side you don't really know you don't really know where you were until you're out there beside you're like oh yeah i wasn't very happy back there or or whatever and maybe for a couple of years during lockdown and after lockdown i wasn't happy at all man i wasn't happy you know you have you know you're not just walking around miserable all the time and you have a laugh but you get your overall general well-being isn't good like you're not generally happy and it starts to show in your actions and your habits and you might not even know that you're in it because i didn't really know i was in it i knew someone wasn't right and i couldn't i couldn't fathom it out i even went to i even talked to a professional a few times add cognitive cognitive behavioral therapy and that's to try and sort me knocking out and it worked it was really good stuff but it's so many little things man it's all the little things that add up and in a world that seems to be ever more fighting against like being healthy of mind and body it's to get it's it's a lot more difficult in it because it feels like the world just wants you to be fat and depressed and you've done it if you if you buy into all media and stuff eat this think like this want this it's enough to drive your bonkers and i tell you what when i did feel cheese slipping off the cracker when i got back from tenor e-files just like do you know what just delete it all i've uh i just took all social media off my phone uh no news i don't watch news anyway but nothing that could influence me or anything and uh just yeah just a good few weeks just nothing just no influence from anywhere else whilst i was going out on my hikes doing my cold swimming just like doing everything that i needed to do without any influence off the internet and especially social media just just dead it dead it while you heal too busy waffling on and out about stuff but it's important it's important and you know because i talk about mental health on my channel quite a bit i do get a lot of people reaching out and telling me their stories and i tell you what there's a lot of people suffering out there and suffering more than you could ever know and there's people like aunt verger just ending it all and it's tough time so if me if me having these chats every now and again just helps at least one person uh or kick starts someone into getting healthy or whatever it's worth it and it's what i'm about man here we go look i'm also about this look latching locks follow for more wonderful latching oh he's missed mark look shoulder work into it bonk look at this suspension bridge that's nice okay here's a little track road trains uh but beware of me the size of it bud stop it with machines i'm here somewhere where i'm a bit lost here and we're trying to make it i've got like an hour of daylight and this is about an hour and a half away so i will be walking by head torch up and through these fells probably to get to here and there's a few different pubs here and accommodation and stuff so i might try me look but if it gets too much then i can always just keep in these woods right it's going to be dark soon i've got to see that ridge up there we've got to get up there's a wood through here and up over that and then a bit further on three miles but we're going nether was still which is a little bit further up i think it's pretty much vertical it is a steep one proper leg pumper this spectacular look at it it's a full moon at the moment so i should be able to see all right if the clouds do one i'll gauge it if and when it gets dark i'll see if it is and if i can see okay by the light of the moon and my head torch i'll keep going because i've got it in my head that i want to pint now i know there's people that'll be worried about me because my phone's just gone and i'm doing this hiking winter so it's kind of important that i get that working so i can just touch base with people and get me OS maps back we'll see because if legs keep if it gets dark and it's just not doable then i'm going to pitch up on the side of this hill uh and we'll just do another big day tomorrow just have to deal with it just get up crack it on and then back on have a look at map using this map it's a it was confusing coming through there on this map i don't know uh whether it was me it was definitely human error because Ed's a bit tired but it was pretty confusing and i'm like i'm going at that on it to zoom in thinking it's fun but it's uh it is what it's stuck where it is i'm wasting time talking to you because i don't want to go up there look oh should we just keep it here in bracket tick fest medics at top it's plateaued out this is top of it sun sets over the irish sea i'm fatigued mate i'm fatigued right straight over yeah yeah straight over oh yeah part of a bolt maker and a steak and ale part or something like that it's enough to make you weep even just after like two days of hard hiking it's enough to make you weep can i tell you what them adventure foods are absolute toss one we're having a look are we there it is look at it glory be alleluia all that shit there it is that's my d2 a look can you wow you see all them white houses there that i believe that is it probably got about 20 minutes to half an hour till it's pitch black but it is downhill but guidebook says it's well steep and boggy and it is a d2 it's it's off my beaten track but then i could be there by our five six will they be open on a monday there's a lot to think about isn't there i'm going to go for it you know i'm going to go for it because it's a custom built adventure in it you just make it up as you go and i think that the payoff is big it's going to be a bit of a trek to get there but if the payoff is a nice hot meal a pine and then being able to charge my phone then it's kind of worth it for me let's do it we're going i've taught myself into it let's go look at that the sunset bouncing in that little pond la glorious i'm running out of light now so that's it we've committed to it come it's a lovely walk with that through here i know it's it's dusk but it's beautiful over these fields just following that wall through the woods it's real nice and the everything shifted to nighttime owls are out uh simon cowl is that better crank the iso up on it that's better isn't it it's like daylight now that's not what it looks like in irl um yeah you make your own adventures up don't you all you've got to do all i've got to do is get to the starting line and that's all i do on these hikes for myself is i just turn up i never plan it never plan that i'm going to stay in a in digs or where my campsite's going to be i just set off and then the adventure just sort of decides itself and if you get to a place after a day's hiking and there's a decent alehouse you're getting in there i'm getting in there getting a couple of wets in me and if we've got a room for the night at a reasonable rate i mean or if it's a youth hostel in i mean why am i even just to find it's me already if i want to stay in a pub and drink a few pints i shall too dark anyway a little bit of road work so i've put ed torch on just for safety in case it meets quite road which in case any cars come it's like it's like someone's grand room lasagna and chips i got talking to some guy who lent me a phone charger and i was like dude you've saved me life they'll buy you a pint so i bought him a pint ended up having a skinful with him having a good night so this is it i mean little room guess how much guess how much 45 quid with a breakfast sir so that's me happy as larry tucked up in alehouse right welcome to map time some people say the best times right this is where i woke up in this little triangle here to a glorious sunrise it was a joy to wake up to now this is where we hit the trail and we follow walnuts scar road along here now with this book there are options to go up higher routes and you would take this to go over the old manna coniston but to save on legs and time i went this way over this lovely bridge and along so i filled my water up you can see here it gets steep so these contour lines but we're sort of traversing along here so it's not too bad up to the top of here this is where the crossroads were i had to stop here and have a little think some lovely views from on here and off we went traversing down here through the gate had a little look at longhouse gill tempted to go in but thought no we'll wait we'll buy that time and we'll hit the jackpot maybe later on stick or twist i'll twist no thanks for a good day but i'm going to twist we're going to carry on so along we go until i got to here and this is where i hit the tarmac and this was just nice walking downhill and around here it's a little bit confusing when i got to here it's not it was not very clear on the guidebook so i had a bit of a head scratch and then carried on down now if you wanted to push on a little bit further and get yourself tucked into this turner hall campsite you can do decent campsite there carried on going this is where me mate sought me out a breakfast nice little spot open from nine o'clock the new field in and it was just literally just one pub and maybe three houses but he was open that was a delight so fueled on a full English breakfast off i went through here over this bridge and around there wasn't any stepping stones i didn't see him anywhere i didn't cross any through this farm some lovely gates to be idea and then a bit of a leg pumper up through this wood onto top of here and round and now this was some of my favorite hiking it was just absolutely lovely the ground was amazing the views were amazing really enjoyed it over here this is where the caravan was we've noted that as caravan we'll come back later and keep in there or when it all goes wrong probably end up living in there now this i've put not that way because when you get here it's the temptation is to go straight across but there's a tiny little path that goes off to your left here and then you follow grass guards gill all the way up here this plantation this had all been cut down this had all been felled and this bit was still up so we're through here through here scotland vibes into this wood and this was a lovely little hike through this wood you come out lovely views over the est al valley as you come through here and now this is another little bit for anyone who's planning on doing this hike you the path takes you this way but there's a little style on the fence and so you can jump over there and down right i've had to i've had to think about it's hot floor look at the size of it it's a whopper right where are we are we so yeah we've come through here and it's pretty steep down here not for the the faint of leg and now along here you sort of make it up as you go because there's not really a defined path you can really you can choose anywhere really back in through here you get to this farm and your boy at the farm has put signs saying you prefer you to walk through here which i did just a little bit of a detour to link back up to the path and along you go and now you get to the bridge doctor's bridge and this is where i goofed i think you want to be coming on this side of the river and i found out why so anyway i could plunge on here because it was lovely i should have come down here and one of the benefits of that would have been seeing gill force the waterfall but i didn't but i did get the joy of checking out this old church which i really enjoyed but that meant i had to these stepping stones screw that out because that ain't right this is where i got me uh me wet feet over this ford through this wood i really enjoyed this little bit as well it was a nice change of pace and along around here over this suspension bridge over a little road through these like holiday cottages and over this train track tiny little toy train and we start going up now appear now i got lost here a little bit because i was just going by the guidebook and i couldn't really make sense of it so i ended up going i think i went this way there was a pub and a shop down here so i was tempted to check it out but then decided against it found the path and headed off around here over this little road and then we're up through this woods this was a leg pumper up through here and i was aware of it getting dusky so we go on to the top some lovely views over the irish sea started to get a nice sunset and i started to lose my light i was contemplating which way to go and you can see how steep it is again from the contour lines and we ended up going down here and into this wood and then this is where the track splits uh the path my normal route would have been to take this towards waswater but the detour i took was to carry on through the woods past this farm hit the road it was pitch black at this point so i had to don me a me noggin torch through it and then alleluia jar bless this tiny little whatever it is add a pub it had two pubs actually and the guy who owns this pub i got chatting with him he owns both pubs off the top of me as i'm doing matt time now i can't remember what the air loss was called but i got a chat with him he had his own little micro brewery in the pub and he brewed all his own beer and i was having a little taste of him wonderful stuff and as i've said it was 45 quid for a bed and breakfast and i managed to get me 10 and be sleeping bag dry so happy days and this is where we'll wake up and start part three right there we go if you're not subscribed already consider subscribing hit the bell notification if you want to be notified the next upload and thanks for watching see you soon


My name is Megan Hanley. I'm from North Reading, Massachusetts. I did my undergrad at Sacred Heart University, and I did my graduate studies at the University of New Mexico. I'm really looking forward to working with world-renowned healthcare professionals here and skiing as much as I can.