לדלג לתוכן

מאגרי חבילות

מקורות Node ו-Python מתקינים את הקוד שלהם ואת התלויות שלהם. Admin → מאגרי חבילות קובע מהיכן הם מתקינים: ממאגרי ה-npm, מאינדקסי ה-PyPI וממארחי ה-Git של הארגון. מנהל הארגון מזין אותם פעם אחת, וכל התקנת Node ו-Python בארגון משתמשת בהם. מאגר ה-npm הציבורי וה-PyPI הציבורי אינם צריכים רשומה.

כל שדה מכיל את מה שהוקלד: ערך, או הפניה כמו ${secret:npm_token} או ${env:NPM_TOKEN}, שנפתרת בכספת של הארגון עצמו בכל התקנה. הפניה שאינה נפתרת לשום דבר עוצרת את ההתקנה ומציינת את המאגר ואת השדה. Provisa לעולם אינו כותב לכספת ואינו ממציא שם של סוד. ראו סודות.


מאגרי npm

שדה מכיל
כתובת URL של המאגר כתובת המאגר, למשל https://artifactory.example.com/artifactory/api/npm/npm/
Scope Scope כמו @acme, שהחבילות שלו מגיעות מהמאגר הזה. ריק אם אין
אסימון או user:password אסימון גישה, או user:password
מראה לכל התקנה כל חבילה ללא scope משלה מותקנת דרך המאגר הזה. אחד לכל ארגון
רשות אישורים (PEM) ראו רשות אישורים פרטית

אסימון נכתב ל-.npmrc של ההתקנה כ-_authToken ונשלח כאסימון bearer. user:password, למשל משתמש Artifactory ומפתח ה-API שלו, נכתב כ-_auth (base64) ונשלח כ-Basic. כל אחד מהם נשלח רק למארח של המאגר עצמו.

אינדקסי PyPI

שדה מכיל
כתובת URL של האינדקס כתובת ה-simple-index של האינדקס, למשל https://artifactory.example.com/artifactory/api/pypi/pypi/simple/
אסימון או user:password אסימון גישה, שנשלח כמשתמש __token__, או user:password
אינדקס ברירת מחדל לכל התקנה כל חבילת Python מותקנת מהאינדקס הזה במקום מה-PyPI הציבורי. אחד לכל ארגון
רשות אישורים (PEM) ראו רשות אישורים פרטית

האינדקסים ופרטי ההזדהות שלהם מגיעים ל-uv רק בסביבה של ההתקנה עצמה, לעולם לא בקובץ.

מארחי Git

רשומת מארח Git מכסה את המאגרים שמהם נשלפים הקוד של מקור או תלויות ה-Git שלו.

שדה מכיל
מארח המארח, עם הפורט וקידומת הנתיב כשיש לשרת כאלה: github.com, gitlab.example.com, bitbucket.example.com:7990/bitbucket
אסימון או user:token אסימון, או user:token
רשות אישורים (PEM) ראו רשות אישורים פרטית

כתובת URL של מאגר משויכת לרשומה שהמארח, הפורט וקידומת הנתיב שלה פותחים אותה. כשכמה רשומות מתאימות, הארוכה ביותר גוברת: רשומה עבור bitbucket.example.com:7990/bitbucket/scm/data מכסה את הפרויקט הזה, ורשומה עבור bitbucket.example.com:7990/bitbucket מכסה את השאר.

אסימון לבדו נשלח עם המשתמש x-access-token. ספקים אחרים מצפים למשתמש, לכן הזינו user:token:

ספק משתמש
GitHub x-access-token, ברירת המחדל: הזינו את האסימון לבדו
GitLab כל שם משתמש שאינו ריק
Bitbucket Cloud x-token-auth לאסימון גישה של מאגר או של workspace; שם המשתמש או הדוא"ל שלכם לאסימון API
Bitbucket Data Center שם המשתמש שלכם; x-token-auth לאסימון של פרויקט או של מאגר

רשות אישורים פרטית

מאגר, אינדקס או שרת Git מאחורי רשות אישורים משלכם, כמו פרוקסי Artifactory בתוך הרשת שלכם, צריכים שיסמכו על הרשות הזו. הדביקו את אישור ה-PEM שלה בשדה רשות אישורים (PEM) של הרשומה, או הפניה לסוד שמכיל אותו. השאירו את השדה ריק לשרת שהאישור שלו מהימן באופן ציבורי. ערך ללא אישור PEM נדחה בשמירת הרשומה, והפניה שאינה נפתרת לאישור נדחית בעת ההתקנה.

סומכים על הרשות לצד הרשויות הציבוריות, לעולם לא במקומן:

  • השליפות של Provisa עצמו דרך הרשומה (המטא-נתונים וה-tarball של חבילה, wheel, מאגר Git) מאמתות את השרת מולה.
  • במהלך התקנה, uv קורא אותה דרך SSL_CERT_FILE, npm ו-Bun דרך cafile ב-.npmrc של ההתקנה עצמה, Deno דרך DENO_CERT ו-Git דרך GIT_SSL_CAINFO.

ההגדרות האלה מצביעות על קובץ אחד עם הרשויות הציבוריות ועם אלה של כל רשומה. הקובץ נכתב לתיקייה הזמנית של ההתקנה ונמחק יחד איתה, כך ששום דבר מחוץ להתקנה אינו קורא אותו.