Skip to content

Added linkchecker and fixed broken links #12107

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

anshuman-agarwala
Copy link
Contributor

What type of PR is this?

Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line:

/kind api-change
/kind bug

/kind cleanup

/kind design
/kind documentation
/kind failing-test
/kind feature
/kind flake

What this PR does / why we need it:
Adds linter to check links. Fixes broken links. Removes some deprecated/unneeded files.
Which issue(s) this PR fixes:

Fixes #12104

Special notes for your reviewer:
I have removed equinix metal docs since equinix is shuttering it's metal service.
I've also removed weave works docs since the service has shut down.
Does this PR introduce a user-facing change?:

NONE

@k8s-ci-robot k8s-ci-robot added release-note-none Denotes a PR that doesn't merit a release note. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Apr 5, 2025
@k8s-ci-robot
Copy link
Contributor

Hi @anshuman-agarwala. Thanks for your PR.

I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

linkchecker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use hash-pinned action in workflows (see the other workflows).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This probably should be at the very least in another commit, or in another PR.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved file deletions to a different commit.

CONTRIBUTING.md Outdated
@@ -44,4 +44,4 @@ Vagrant with VirtualBox or libvirt driver helps you to quickly spin test cluster
6. Sign the CNCF CLA (<https://git.k8s.io/community/CLA.md#the-contributor-license-agreement>)
7. Submit a pull request.
8. Work with the reviewers on their suggestions.
9. Ensure to rebase to the HEAD of your target branch and squash un-necessary commits (<https://blog.carbonfive.com/always-squash-and-rebase-your-git-commits/>) before final merger of your contribution.
9. Ensure to rebase to the HEAD of your target branch and squash un-necessary commits (<https://gitscripts.com/git-rebase-i-squash>) before final merger of your contribution.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line could actually go away completely, squash should not be an automatic reflex.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed the line.

containers:
s:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

??

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was a mistake, sorry about that.

Alternatively, deploy it in kubernetes, see [deployment](deploy/README.md).
Alternatively, deploy it in kubernetes, see [deployment](https://github.com/kubernetes-retired/external-storage/blob/master/ceph/cephfs/deploy/README.md).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure why we're switching to external link here ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I looked for the file this is referring to but could not find it in the repo.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, I don't think linking to an archived repo (for 5 years) is a good solution.
In fact, we might just scrap this entire session, I don't think having deprecated stuff in our docs is a net gain.
Wdyt @yankay @tico88612 ?

Copy link
Member

@yankay yankay Apr 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I fully agree with deprecating external-storage CephFS.​​

However, since there’s a significant amount of CephFS/RBD-related code, it’s unlikely we can fully deprecate it in this PR.
It would be better to handle the removal in a separate, dedicated PR :-)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a few ideas here.

  1. I think these outdated applications should be removed, and I have the same view as @yankay on this. They should also be phased out by other PRs.
  2. I want to phase out the Kubespray's built-in application installations (e.g., ArgoCD, ingress-nginx, cephfs, rbd provisioned), whose templates we should not maintain. Avoid ingress-nginx CVE-liked scenarios. Instead, it should be up to the user to decide what to install (Design and use roles/helm-apps to handle this situation), and we only provide documentation examples to guide them.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh I hadn't realized we had code about this has well. Let's do that in another PR them. I thought it was only the documentation left.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@@ -52,20 +52,20 @@ The following example uses `rbd-provisioner-1` as the identity for the instance
docker run -ti -v /root/.kube:/kube -v /var/run/kubernetes:/var/run/kubernetes --privileged --net=host quay.io/external_storage/rbd-provisioner /usr/local/bin/rbd-provisioner -master=http://127.0.0.1:8080 -kubeconfig=/kube/config -id=rbd-provisioner-1
```

Alternatively, deploy it in kubernetes, see [deployment](deploy/README.md).
Alternatively, deploy it in kubernetes, see [deployment](https://github.com/kubernetes-retired/external-storage/blob/master/ceph/cephfs/deploy/README.md).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above

Copy link
Contributor Author

@anshuman-agarwala anshuman-agarwala Apr 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as the other one, could not find this file in the repository.

@yankay
Copy link
Member

yankay commented Apr 7, 2025

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Apr 7, 2025
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Apr 9, 2025
@hegerdes
Copy link

hegerdes commented Apr 28, 2025

Just a small insight from personal experience. This link check job could get very flaky on GH hosted runners.
GH runners are often used for scraping, specially in the age of AI. They all use a fixed, publicly known Azure IP range which is shared by all GH users.

I used a link checker for my personal blog but hat to turn of the check for external links because of the many false positives I got due to being blocked by WAFs.
So maybe this job should be optional, focus on internal links or use dedicated runners which have better IP reputation.

@VannTen
Copy link
Contributor

VannTen commented May 17, 2025

Are you still working on this ? I'm not sure what the delete of terraform are for ?

@anshuman-agarwala
Copy link
Contributor Author

Are you still working on this ? I'm not sure what the delete of terraform are for ?

The delete in the terraform is because the equinix metal service has been shuttered: https://deploy.equinix.com/blog/an-update-on-the-latest-changes-to-metal-functionality/
I have addressed all the review comments, I'm happy to make any other changes that are required.

@VannTen
Copy link
Contributor

VannTen commented May 17, 2025 via email

@k8s-ci-robot k8s-ci-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels May 17, 2025
@anshuman-agarwala
Copy link
Contributor Author

Ok, but that's not exactly related to a link checker, so that shouldn't go in this PR, (but welcome in another one)

Removed the terraform changes and created #12229

README.md Outdated
@@ -227,6 +222,6 @@ See also [Network checker](docs/advanced/netcheck.md).

[![Build graphs](https://gitlab.com/kargo-ci/kubernetes-sigs-kubespray/badges/master/pipeline.svg)](https://gitlab.com/kargo-ci/kubernetes-sigs-kubespray/-/pipelines)

CI/end-to-end tests sponsored by: [CNCF](https://cncf.io), [Equinix Metal](https://metal.equinix.com/), [OVHcloud](https://www.ovhcloud.com/), [ELASTX](https://elastx.se/).
CI/end-to-end tests sponsored by: [CNCF](https://cncf.io), [Equinix Metal](https://deploy.equinix.com/), [OVHcloud](https://www.ovhcloud.com/), [ELASTX](https://elastx.se/).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Equinix can be removed, and OVHcloud as well I think @ant31 ? Elastx we have the terraform job (perma-failing, but still 😆 )

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed Equinix and OVHcloud

- [Auro](https://auro.io/)
- [Auro](https://www.cacloud.com/)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just remove it, since the domain changed, no idea if the cloud behave similarly enough

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed Auro

and then open [http://localhost:12000/](http://localhost:12000/).
and then open <http://localhost:12000/>.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the difference here exactly ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was required because the link checker was flagging the localhost links as unreachable. With this format it's ignoring these links.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't that handled by the ignore file you added ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're right, I've reverted this change.

- [Auro](https://auro.io/)
- [Auro](https://www.cacloud.com/)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above (and oh, we have duplicate docs 🤷‍♂️ )

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed Auro

@VannTen
Copy link
Contributor

VannTen commented May 17, 2025

Just a small insight from personal experience. This link check job could get very flaky on GH hosted runners. GH runners are often used for scraping, specially in the age of AI. They all use a fixed, publicly known Azure IP range which is shared by all GH users.

I used a link checker for my personal blog but hat to turn of the check for external links because of the many false positives I got due to being blocked by WAFs. So maybe this job should be optional, focus on internal links or use dedicated runners which have better IP reputation.

That's a good point. There is also the matter of approval because of kubernetes-sigs/prow#194
-> this is harder on the contrib ex front.

Copy link
Contributor

@VannTen VannTen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You need to rebase on top of current master to clear the CI stuff.

and then open [http://localhost:12000/](http://localhost:12000/).
and then open <http://localhost:12000/>.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't that handled by the ignore file you added ?

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: anshuman-agarwala
Once this PR has been reviewed and has the lgtm label, please assign yankay for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. release-note-none Denotes a PR that doesn't merit a release note. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CI check for broken Link
6 participants