## Summary - Rename section index files to match their titles (tutorials.md, reference.md, how-to.md, explanation.md) so all filenames are unique - Convert all ~47 path-based wiki-links to simple filename format across 15 files - Update doc-filenames task to no longer skip index.md files - Update doc-links task to reject path-based links containing '/' This ensures all wiki-links work correctly in obsidian.nvim by making links resolvable by filename alone. ## Testing - `mise run doc-filenames` - all unique - `mise run doc-links` - no broken or path-based links - `mise run doc-titles` - no duplicates Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/109
37 lines
770 B
Markdown
37 lines
770 B
Markdown
---
|
|
title: devpi
|
|
tags:
|
|
- service
|
|
- python
|
|
---
|
|
|
|
# devpi (PyPI Proxy)
|
|
|
|
PyPI caching proxy and private package index.
|
|
|
|
## Quick Reference
|
|
|
|
| Property | Value |
|
|
|----------|-------|
|
|
| **URL** | https://pypi.ops.eblu.me |
|
|
| **Namespace** | `devpi` |
|
|
| **ArgoCD App** | `devpi` |
|
|
| **Storage** | 50Gi PVC |
|
|
| **Image** | `registry.ops.eblu.me/blumeops/devpi:latest` |
|
|
|
|
## Indices
|
|
|
|
| Index | Purpose |
|
|
|-------|---------|
|
|
| `root/pypi` | PyPI mirror/cache (auto-created) |
|
|
| `eblume/dev` | Private packages (inherits from root/pypi) |
|
|
|
|
## Credentials
|
|
|
|
Root password stored in 1Password (blumeops vault), injected via ExternalSecret.
|
|
|
|
## Related
|
|
|
|
- [[use-pypi-proxy]] - Client configuration and package uploads
|
|
- [[argocd]] - Deployment
|
|
- [[1password]] - Secrets management
|