From c59ee20bdbdc08c1b7f26d972b33f998f88329f3 Mon Sep 17 00:00:00 2001 From: Denis Cornehl Date: Mon, 24 Aug 2026 16:33:02 +0200 Subject: [PATCH 1/2] remove obsolete docs.rs docs, link to new dev-guide --- src/SUMMARY.md | 3 - src/docs-rs/add-dependencies.md | 106 ------------- src/docs-rs/index.md | 5 +- src/docs-rs/maintenance.md | 149 ------------------- src/docs-rs/self-hosting.md | 255 -------------------------------- 5 files changed, 1 insertion(+), 517 deletions(-) delete mode 100644 src/docs-rs/add-dependencies.md delete mode 100644 src/docs-rs/maintenance.md delete mode 100644 src/docs-rs/self-hosting.md diff --git a/src/SUMMARY.md b/src/SUMMARY.md index db1aa3f3a..5f113ea99 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -71,9 +71,6 @@ - [rustc-dev-guide](./rustc-dev-guide/index.md) - [crates.io](./crates-io/index.md) - [docs.rs](./docs-rs/index.md) - - [Adding dependencies to the build environment](./docs-rs/add-dependencies.md) - - [Self-hosting a docs.rs instance](./docs-rs/self-hosting.md) - - [Maintenance procedures](./docs-rs/maintenance.md) - [Rustdoc](./rustdoc/index.md) - [Calendar](./rustdoc/calendar.md) - [Meetings](./rustdoc/meetings.md) diff --git a/src/docs-rs/add-dependencies.md b/src/docs-rs/add-dependencies.md deleted file mode 100644 index cf88c402f..000000000 --- a/src/docs-rs/add-dependencies.md +++ /dev/null @@ -1,106 +0,0 @@ -# Add a dependency to the build environment - -Rustwide internally uses `rust-lang/crates-build-env` as the build environment for the crate. If you want to add a system package for crates to link to, this is place you're looking for. - -## Preconditions - -Docker and docker-compose must be installed. For example, on Debian or Ubuntu: - -```sh -sudo apt-get install docker.io docker-compose -``` - -## Getting started - -First, clone the crates-build-env and the docs.rs repos: - -```sh -git clone https://github.com/rust-lang/crates-build-env -git clone https://github.com/rust-lang/docs.rs -``` - -Set the path to the directory of your crate. This must be an absolute path, not a relative path! On platforms with coreutils, you can instead use `$(realpath ../relative/path)` (relative to the docs.rs directory). - -```sh -YOUR_CRATE=/path/to/your/crate -``` - -## Add package - -Next, add the package to `crates-build-env/linux/packages.txt` in the correct alphabetical order. This should be the name of a package in the **Ubuntu 20.04** Repositories. See [the package home page](https://packages.ubuntu.com/) for a full list/search bar, or use `apt search` locally. - -## Building the image - -Now build the image. This will take a very long time, probably 10-20 minutes. - -```sh -cd crates-build-env/linux -docker build --tag build-env . -``` - -## Testing the image - -Use the image to build your crate. - -```sh -cd ../../docs.rs -cp .env.sample .env -docker-compose build -# avoid docker-compose creating the volume if it doesn't exist -if [ -e "$YOUR_CRATE" ]; then - docker-compose run -e DOCSRS_DOCKER_IMAGE=build-env \ - -e RUST_BACKTRACE=1 \ - -v "$YOUR_CRATE":/opt/rustwide/workdir \ - web build crate --local /opt/rustwide/workdir -else - echo "$YOUR_CRATE does not exist"; -fi -``` - -## Making multiple changes - -If your build fails even after your changes, it will be annoying to rebuild the image from scratch just to add a single package. Instead, you can make changes directly to the Dockerfile so that the existing packages are cached. Be sure to move these new packages from the Dockerfile to `packages.txt` once you are sure they work. - -On line 7 of the Dockerfile, add this line: `RUN apt-get install -y your_second_package`. -Rerun the build and start the container; it should take much less time now: - -```sh -cd ../crates-build-env/linux -docker build --tag build-env . -cd ../../docs.rs -docker-compose run -e DOCSRS_DOCKER_IMAGE=build-env \ - -e RUST_BACKTRACE=1 \ - -v "$YOUR_CRATE":/opt/rustwide/workdir \ - web build crate --local /opt/rustwide/workdir -``` - -## Run the lint script - -Before you make a PR, run the shell script `lint.sh` and make sure it passes. It ensures `packages.txt` is in order and will tell you exactly what changes you need to make if not. - -```sh -cd ../crates-build-env -./lint.sh -``` - -## Make a pull request - -Once you are sure your package builds, you can make a pull request to get it adopted upstream for docs.rs and crater. Go to https://github.com/rust-lang/crates-build-env and click 'Fork' in the top right. Locally, add your fork as a remote in git and push your changes: - -```sh -git remote add personal https://github.com//crates-build-env -git add -u -git commit -m 'add packages necessary for to compile' -git push personal -``` - -Back on github, make a pull request: - -1. Go to https://github.com/rust-lang/crates-build-env/compare -2. Click 'compare across forks' -3. Click 'head repository' -> /crates-build-env -4. Click 'Create pull request' -5. Add a description of what packages you added and what crate they fixed -6. Click 'Create pull request' again in the bottom right. - -Hopefully your changes will be merged quickly! After that you can either publish a point release (rebuilds your docs immediately) or request for a member of the docs.rs team to schedule a new build (may take a while depending on their schedules). diff --git a/src/docs-rs/index.md b/src/docs-rs/index.md index a63868a85..cd087465e 100644 --- a/src/docs-rs/index.md +++ b/src/docs-rs/index.md @@ -7,11 +7,8 @@ * Source code: [rust-lang/docs.rs][repo] * Hosted on: `docsrs.infra.rust-lang.org` (behind the bastion -- [how to connect][bastion-connect]) * Maintainers: [docs.rs team] -* [Instance metrics][grafana-instance] (only available to infra team members). -* [Application metrics][grafana-app] (only available to infra team members). +* [Dev guide](https://rust-lang.github.io/docs.rs/) [repo]: https://github.com/rust-lang/docs.rs -[grafana-instance]: https://grafana.rust-lang.org/d/rpXrFfKWz/instance-metrics?orgId=1&var-instance=docsrs.infra.rust-lang.org:9100 -[grafana-app]: https://grafana.rust-lang.org/d/-wWFg2cZz/docs-rs?orgId=1 [bastion-connect]: https://forge.rust-lang.org/infra/docs/bastion.html#logging-into-servers-through-the-bastionmd#logging-into-servers-through-the-bastion [docs.rs team]: https://www.rust-lang.org/governance/teams/dev-tools#docs-rs diff --git a/src/docs-rs/maintenance.md b/src/docs-rs/maintenance.md deleted file mode 100644 index c1b9f197c..000000000 --- a/src/docs-rs/maintenance.md +++ /dev/null @@ -1,149 +0,0 @@ -# Common maintenance procedures - -## Temporarily remove a crate from the queue - -It might happen that a crate fails to build repeatedly due to a docs.rs bug, -clogging up the queue and preventing other crates to build. In this case it's -possible to temporarily remove the crate from the queue until the docs.rs's bug -is fixed. To do that, log into the machine and open a PostgreSQL shell with: - -```console -$ psql -``` - -Then you can run this SQL query to remove the crate: - -```psql -UPDATE queue SET attempt = 100 WHERE name = ''; -``` - -To add the crate back in the queue you can run in the PostgreSQL shell this -query: - -```psql -UPDATE queue SET attempt = 0 WHERE name = ''; -``` - -## Pinning a version of nightly - -Sometimes the latest nightly might be broken, causing doc builds to fail. In -those cases it's possible to tell docs.rs to stop updating to the latest -nightly and instead pin a specific release. To do that you need to edit the -`/home/cratesfyi/.docs-rs-env` file, adding or changing this environment -variable: - -```console -CRATESFYI_TOOLCHAIN=nightly-YYYY-MM-DD -``` - -Once the file changed docs.rs needs to be restarted: - -```console -systemctl restart docs.rs -``` - -To return to the latest nightly simply remove the environment variable and -restart docs.rs again. - -## Rebuild a specific crate - -If a bug was recently fixed, you may want to rebuild a crate so that it builds with the latest version. -From the docs.rs machine: - -```console -cratesfyi queue add -``` - -This will add the crate with a lower priority than new crates by default, you can change the priority with the `-p` option. - -## Raise the limits for a specific crate - -Occasionally crates will ask for their build limits to be raised. -You can raise them from the docs.rs machine with `psql`. - -Raising a memory limit to 8 GB: - -```psql -# memory is measured in bytes -cratesfyi=> INSERT INTO sandbox_overrides (crate_name, max_memory_bytes) - VALUES ('crate name', 8589934592); -``` - -Raising a timeout to 15 minutes: - -```psql -cratesfyi=> INSERT INTO sandbox_overrides (crate_name, timeout_seconds) - VALUES ('crate name', 900); -``` - -Raising limits for multiple crates at once: - -```psql -cratesfyi=> INSERT INTO sandbox_overrides (crate_name, max_memory_bytes) - VALUES ('stm32f4', 8589934592), ('stm32h7', 8589934592), ('stm32g4', 8589934592); -``` - -## Set a group of crates to be automatically de-prioritized - -When many crates from the same project are published at once, they take up a -lot of space in the queue. You can de-prioritize groups of crates at once like -this: - -```psql -cratesfyi=> INSERT INTO crate_priorities (pattern, priority) - VALUES ('group-%', 1); -``` - -The `pattern` should be a `LIKE` pattern as documented on -. - -Note that this only sets the default priority for crates with that name. -If there are crates already in the queue, you'll have to update those manually: - -```psql -cratesfyi=> UPDATE queue SET priority = 1 WHERE name LIKE 'group-%'; -``` - -## Adding all the crates failed after a date back in the queue - -After an outage you might want to add all the failed builds back to the queue. -To do that, log into the machine and open a PostgreSQL shell with: - -```console -psql -``` - -Then you can run this SQL query to add all the crates failed after `YYYY-MM-DD -HH:MM:SS` back in the queue: - -```psql -UPDATE queue SET attempt = 0 WHERE attempt >= 5 AND build_time > 'YYYY-MM-DD HH:MM:SS'; -``` - -## Removing a crate from the website - -Sometimes it might be needed to remove all the content related to a crate from -docs.rs (for example after receiving a DMCA). To do that, log into the server -and run: - -```console -cratesfyi database delete-crate CRATE_NAME -``` - -The command will remove all the data from the database, and then remove the -files from S3. - -## Blacklisting crates - -Occasionally it might be needed to prevent a crate from being built on docs.rs, -for example if we can't legally host the content of those crates. To add a -crate to the blacklist, preventing new builds for it, you can run: - -```console -cratesfyi database blacklist add -``` - -Other operations (such as `list` and `remove`) are also supported. - -> **Warning:** blacklisting a crate doesn't remove existing content from the -> website, it just prevents new versions from being built! diff --git a/src/docs-rs/self-hosting.md b/src/docs-rs/self-hosting.md deleted file mode 100644 index a50daa9c8..000000000 --- a/src/docs-rs/self-hosting.md +++ /dev/null @@ -1,255 +0,0 @@ -# Self hosting a docs.rs instance - -These are instructions for deploying the server in a production environment. For instructions on developing locally without docker-compose, see [Developing without docker-compose][no-docker-compose]. - - -[no-docker-compose]: https://github.com/rust-lang/docs.rs/wiki/Developing-without-docker-compose - -Here is a breakdown of what it takes to turn a regular server into its own version of docs.rs. - -Beware: This process is rather rough! Attempts at cleaning it up, automating setup components, etc, would be greatly appreciated! - -## Requirements - -The commands and package names on this page will assume an Ubuntu server running systemd, but hopefully the explanatory text should give enough information to adapt to other systems. Note that docs.rs depends on the host being `x86_64-unknown-linux-gnu`. - -Docs.rs has a few basic requirements: - -* Rust (preferably via `rustup`) -* Git -* CMake, GCC, G++, and `pkg-config` (to build dependencies for crates and docs.rs itself) -* OpenSSL, zlib, curl, and `libmagic` (to link against) -* PostgreSQL -* LXC tools (doc builds run inside an LXC container) - -```console -$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain nightly -$ source $HOME/.cargo/env -# apt install build-essential git curl cmake gcc g++ pkg-config libmagic-dev libssl-dev zlib1g-dev postgresql lxc-utils -``` - -## The `cratesfyi` user - -To help things out later on, we can create a new unprivileged user that will run the server process. This user will own all the files required by the docs.rs process. This user will need to be able to run `lxc-attach` through `sudo` to be able to run docs builds, so give it a sudoers file at the same time: - -```console -# adduser --disabled-login --disabled-password --gecos "" cratesfyi -# echo 'cratesfyi ALL=(ALL) NOPASSWD: /usr/bin/lxc-attach' > /etc/sudoers.d/cratesfyi -``` - -(The name `cratesfyi` is a historical one: Before the site was called "docs.rs", it was called "crates.fyi" instead. If you want to update the name of the user, feel free! Just be aware that the name `cratesfyi` will be used throughout this document.) - -## The "prefix" directory - -In addition to the LXC container, docs.rs also stores several related files in a "prefix" directory. This directory can be stored anywhere, but the `cratesfyi` user needs to be able to access it: - -```console -# mkdir /cratesfyi-prefix -# chown cratesfyi:cratesfyi /cratesfyi-prefix -``` - -Now we can set up some required folders. To make sure they all have proper ownership, run them all as `cratesfyi`: - -```console -$ sudo -u cratesfyi mkdir -vp /cratesfyi-prefix/documentations /cratesfyi-prefix/public_html /cratesfyi-prefix/sources -$ sudo -u cratesfyi git clone https://github.com/rust-lang/crates.io-index.git /cratesfyi-prefix/crates.io-index -$ sudo -u cratesfyi git --git-dir=/cratesfyi-prefix/crates.io-index/.git branch crates-index-diff_last-seen -``` - -(That last command is used to set up the `crates-index-diff` crate, so we can start monitoring new crate releases.) - -## LXC container - -To help contain what crates' build scripts can access, documentation builds run inside an LXC container. To create one inside the prefix directory: - -```console -# LANG=C lxc-create -n cratesfyi-container -P /cratesfyi-prefix -t download -- --dist ubuntu --release bionic --arch amd64 -# ln -s /cratesfyi-prefix/cratesfyi-container /var/lib/lxc -# chmod 755 /cratesfyi-prefix/cratesfyi-container -# chmod 755 /var/lib/lxc -``` - -(To make deployment simpler, it's important that the OS the container is using is the same as the host! In this case, the host is assumed to be running 64-bit Ubuntu 20.04. If you make the container use a different release or distribution, you'll need to build docs.rs separately inside the container when deploying.) - -You'll also need to configure networking for the container. The following is a sample `/etc/default/lxc-net` that enables NAT networking for the container: - -```console -USE_LXC_BRIDGE="true" -LXC_BRIDGE="lxcbr0" -LXC_ADDR="10.0.3.1" -LXC_NETMASK="255.255.255.0" -LXC_NETWORK="10.0.3.0/24" -LXC_DHCP_RANGE="10.0.3.2,10.0.3.254" -LXC_DHCP_MAX="253" -LXC_DHCP_CONFILE="" -LXC_DOMAIN="" -``` - -In addition, you'll need to set the container's configuration to use this. Add the following lines to `/cratesfyi-prefix/cratesfyi-container/config`: - -```console -lxc.net.0.type = veth -lxc.net.0.link = lxcbr0 -``` - -Now you can reload the LXC network configuration, start up the container, and set it up to auto-start when the host boots: - -```console -# systemctl restart lxc-net -# systemctl enable lxc@cratesfyi-container.service -# systemctl start lxc@cratesfyi-container.service -``` - -Now we need to do some setup *inside* this container. You can either copy all these commands so that each one attaches on its own, or you can run `lxc-console -n cratesfyi-container` to open a root shell inside the container and skip the `lxc-attach` prefix. - -```console -# lxc-attach -n cratesfyi-container -- apt update -# lxc-attach -n cratesfyi-container -- apt upgrade -# lxc-attach -n cratesfyi-container -- apt install curl ca-certificates binutils gcc libc6-dev libmagic1 pkg-config build-essential -``` - -Inside the container, we also need to set up a `cratesfyi` user, and install Rust for it. In addition to the base Rust installation, we also need to install all the default targets so that we can build docs for all the Tier 1 platforms. The Rust compiler installed inside the container is the one that builds all the docs, so if you want to use a new Rustdoc feature, this is the compiler to update. - -```console -lxc-attach -n cratesfyi-container -- adduser --disabled-login --disabled-password --gecos "" cratesfyi -lxc-attach -n cratesfyi-container -- su - cratesfyi -c 'curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain nightly' -lxc-attach -n cratesfyi-container -- su - cratesfyi -c 'rustup target add i686-apple-darwin' -lxc-attach -n cratesfyi-container -- su - cratesfyi -c 'rustup target add i686-pc-windows-msvc' -lxc-attach -n cratesfyi-container -- su - cratesfyi -c 'rustup target add i686-unknown-linux-gnu' -lxc-attach -n cratesfyi-container -- su - cratesfyi -c 'rustup target add x86_64-apple-darwin' -lxc-attach -n cratesfyi-container -- su - cratesfyi -c 'rustup target add x86_64-pc-windows-msvc' -``` - -Now that we have Rust installed inside the container, we can use a trick to give the `cratesfyi` user on the *host* the same Rust compiler as the *container*. By symlinking the following directories into its user directory, we don't need to track a *third* toolchain. - -```console -for directory in .cargo .rustup .multirust; do [[ -h /home/cratesfyi/$directory ]] || sudo -u cratesfyi ln -vs /var/lib/lxc/cratesfyi-container/rootfs/home/cratesfyi/$directory /home/cratesfyi/; done -``` - -## Environment for the `cratesfyi` user - -To ensure that the docs.rs server is configured properly, we need to set a few environment variables. The primary ones are going into a separate environment file, so we can load them into the systemd service that will manage the server. - -Write the following into `/home/cratesfyi/.cratesfyi.env`. If you have a GitHub access token that the site can use to collect repository information, add it here, but otherwise leave it blank. The variables need to exist, but they can be blank to skip that collection. - -```console -CRATESFYI_PREFIX=/cratesfyi-prefix -CRATESFYI_DATABASE_URL=postgresql://cratesfyi:password@localhost -CRATESFYI_CONTAINER_NAME=cratesfyi-container -CRATESFYI_GITHUB_USERNAME= -CRATESFYI_GITHUB_ACCESSTOKEN= -RUST_LOG=cratesfyi -``` - -Now add the following to `/home/cratesfyi/.profile`: - -```sh -export $(cat $HOME/.cratesfyi.env | xargs -d '\n') -export PATH="$HOME/.cargo/bin:$PATH" -export PATH="$PATH:$HOME/docs.rs/target/release" -``` - -## Docs.rs build - -Now we can actually clone and build the docs.rs source! The location of it doesn't matter much, but again, we want it to be owned by `cratesfyi` so it can build and run the final executable. In addition, we copy the built `cratesfyi` binary into the container so that it can be used to arrange builds on the inside. - -```console -sudo -u cratesfyi git clone https://github.com/rust-lang-nursery/docs.rs.git ~cratesfyi/docs.rs -sudo su - cratesfyi -c 'cd ~/docs.rs && cargo build --release' -cp -v /home/cratesfyi/docs.rs/target/release/cratesfyi /var/lib/lxc/cratesfyi-container/rootfs/usr/local/bin -``` - -## PostgreSQL - -Now that we have the repository built, we can use it to set up the database. Docs.rs uses a Postgres database to store information about crates and their documentation. To set one up, we first need to ask Postgres to create the database, and then run the docs.rs command to create the initial tables and content: - -```console -sudo -u postgres sh -c "psql -c \"CREATE USER cratesfyi WITH PASSWORD 'password';\"" -sudo -u postgres sh -c "psql -c \"CREATE DATABASE cratesfyi OWNER cratesfyi;\"" -sudo su - cratesfyi -c "cd ~/docs.rs && cargo run --release -- database init" -sudo su - cratesfyi -c "cd ~/docs.rs && cargo run --release -- build add-essential-files" -sudo su - cratesfyi -c "cd ~/docs.rs && cargo run --release -- build crate rand 0.5.5" -sudo su - cratesfyi -c "cd ~/docs.rs && cargo run --release -- database update-search-index" -sudo su - cratesfyi -c "cd ~/docs.rs && cargo run --release -- database update-release-activity" -``` - -## Server configuration - -We're almost there! At this point, we've got all the pieces in place to run the site. Now we can set up a systemd service that will run the daemon that will collect crate information, orchestrate builds, and serve the website. The following systemd service file can be placed in `/etc/systemd/system/cratesfyi.service`: - -```systemd -[Unit] -Description=Cratesfyi daemon -After=network.target postgresql.service - -[Service] -User=cratesfyi -Group=cratesfyi -Type=forking -PIDFile=/cratesfyi-prefix/cratesfyi.pid -EnvironmentFile=/home/cratesfyi/.cratesfyi.env -ExecStart=/home/cratesfyi/docs.rs/target/release/cratesfyi daemon -WorkingDirectory=/home/cratesfyi/docs.rs - -[Install] -WantedBy=multi-user.target -``` - -Enabling and running that will serve the website on `http://localhost:3000`, so if you want to route public traffic to it, you'll need to set up something like nginx to proxy the connections to it. - -## Updating Rust - -If you want to update the Rust compiler used to build crates (and the Rustdoc that comes with it), you need to make sure you don't interrupt any existing crate builds. The daemon waits for 60 seconds between checking for new crates, so you need to make sure you catch it during that window. Since we hooked the daemon into systemd, the logs will be available in its journal. Running `journalctl -efu cratesfyi` (it may need to be run as root if nothing appears) will show the latest log output and show new entries as they appear. You're looking for a message like "Finished building new crates, going back to sleep" or "Queue is empty, going back to sleep", which indicates that the crate-building thread is waiting. - -To prevent the queue from building more crates, run the following: - -```console -sudo su - cratesfyi -c "cd ~/docs.rs && cargo run --release -- build lock" -``` - -This will create a lock file in the prefix directory that will prevent more crates from being built. At this point, you can update the rustc inside the container and add the rustdoc static files to the database: - -```console -lxc-attach -n cratesfyi-container -- su - cratesfyi -c 'rustup update' -sudo su - cratesfyi -c "cd ~/docs.rs && cargo run --release -- build add-essential-files" -``` - -Once this is done, you can unlock the queue to allow crates to build again: - -```console -sudo su - cratesfyi -c "cd ~/docs.rs && cargo run --release -- build unlock" -``` - -And we're done! New crates will start being built with the new rustc. If you want to rebuild any existing docs with the new rustdoc, you need to manually build them - there's no automated way to rebuild failed docs or docs from a certain rust version yet. - -## Updating docs.rs - -To update the code for docs.rs itself, you can follow a similar approach. First, watch the logs so you can stop the daemon from building more crates. (You can replace the lock command with a `systemctl stop cratesfyi` if you don't mind the web server being down while you build.) - -```console -# journalctl -efu cratesfyi -(wait for build daemon to sleep) -$ sudo su - cratesfyi -c "cd ~/docs.rs && cargo run --release -- build lock" -``` - -Once the daemon has stopped, you can start updating the code and rebuilding: - -```console -$ sudo su - cratesfyi -c "cd ~/docs.rs && git pull" -$ sudo su - cratesfyi -c "cd ~/docs.rs && cargo build --release" -``` - -Now that we have a shiny new build, we need to make sure the service is using it: - -```console -# cp -v /home/cratesfyi/docs.rs/target/release/cratesfyi /var/lib/lxc/cratesfyi-container/rootfs/usr/local/bin -# systemctl restart cratesfyi -``` - -Next, we can unlock the builder so it can start checking new crates: - -```console -$ sudo su - cratesfyi -c "cd ~/docs.rs && cargo run --release -- build unlock" -``` - -And we're done! Changes to the site or the build behavior should be visible now. From f66baa552794361c727d8abdea34d8fc8f3547e3 Mon Sep 17 00:00:00 2001 From: Denis Cornehl Date: Mon, 24 Aug 2026 16:42:24 +0200 Subject: [PATCH 2/2] remove outdated infra/docs-rs pages --- src/SUMMARY.md | 1 - src/infra/docs/docs-rs.md | 15 --------------- 2 files changed, 16 deletions(-) delete mode 100644 src/infra/docs/docs-rs.md diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 5f113ea99..8b0f0f972 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -110,7 +110,6 @@ - [External CI Runners](./infra/docs/external-ci-runners.md) - [GitHub App for dev-desktops](./infra/docs/dev-desktop-github-app.md) - [Domain names and DNS](./infra/docs/dns.md) - - [docs.rs](./infra/docs/docs-rs.md) - [ECS services management](./infra/docs/ecs-services.md) - [Hardware Security Keys](./infra/docs/hardware-security-keys.md) - [Monitoring](./infra/docs/monitoring.md) diff --git a/src/infra/docs/docs-rs.md b/src/infra/docs/docs-rs.md deleted file mode 100644 index 0f04f0fa0..000000000 --- a/src/infra/docs/docs-rs.md +++ /dev/null @@ -1,15 +0,0 @@ -# docs.rs - -* Source code: [rust-lang/docs.rs][repo] -* Hosted on: `docsrs.infra.rust-lang.org` (behind the bastion -- [how to connect][bastion-connect]) -* Maintainers: [Joshua Nelson], [Pietro Albini] -* [Instance metrics][grafana-instance] (only available to infra team members). -* [Application metrics][grafana-app] (only available to infra team members). -* [Common maintenance procedures](../../docs-rs/maintenance.html) - -[repo]: https://github.com/rust-lang/docs.rs -[grafana-instance]: https://grafana.rust-lang.org/d/rpXrFfKWz/instance-metrics?orgId=1&var-instance=docsrs.infra.rust-lang.org:9100 -[grafana-app]: https://grafana.rust-lang.org/d/-wWFg2cZz/docs-rs?orgId=1 -[bastion-connect]: ./bastion.md#logging-into-servers-through-the-bastion -[Joshua Nelson]: https://github.com/jyn514 -[Pietro Albini]: https://github.com/pietroalbini