הגדרת שירותים שהמשתמשים סיפקו

משתמשים יכולים ליצור מופעי שירות שהם מספקים כדי להשתמש בשירותים שלא זמינים ב-Marketplace. אחרי שיוצרים מופעים של שירותים שסופקו על ידי משתמשים, הם מתנהגים כמו מופעים של שירותים שנוצרו דרך ה-Marketplace. כל הפעולות הבאות נתמכות ב-Kf: יצירה, הצגה ברשימה, עדכון, מחיקה, קישור וביטול הקישור של שירותים שסופקו על ידי המשתמש.

יצירת מופע שירות עם פרטים שהמשתמשים סיפקו

הכינוי של kf create-user-provided-service הוא kf cups.

השם שניתן לשירות שסופק על ידי משתמש צריך להיות ייחודי בכל מופעי השירות במרחב, כולל שירותים שנוצרו באמצעות ברוקר שירותים.

העברת פרטי כניסה לשירות לאפליקציה

אפשר להשתמש במופע שירות שסופק על ידי משתמש כדי להעביר פרטי כניסה לאפליקציה. לדוגמה, לאדמין של מסד נתונים יכול להיות סט של פרטי כניסה למסד נתונים קיים שמנוהל מחוץ ל-Kf, ופרטי הכניסה האלה כוללים את כתובת ה-URL, היציאה, שם המשתמש והסיסמה שמשמשים לחיבור למסד הנתונים.

האדמין יכול ליצור שירות שהמשתמשים סיפקו עם פרטי הכניסה, והמפתח יכול לקשר את מופע השירות לאפליקציה. כך אפשר לשתף את פרטי הכניסה בלי שהם יעזבו את הפלטפורמה. הקישור של מופע שירות לאפליקציה יוצר את אותה השפעה, בלי קשר לשאלה אם השירות הוא שירות שסופק על ידי המשתמש או שירות Marketplace.

האפליקציה מוגדרת עם פרטי הכניסה שסיפק המשתמש, ומשתנה הסביבה של זמן הריצה של האפליקציה VCAP_SERVICES מאוכלס במידע על כל השירותים שמקושרים לאפליקציה.

אפשר ליצור שירות שהמשתמשים סיפקו באמצעות פרטי כניסה ו/או רשימה של תגים.

kf cups my-db -p '{"username":"admin", "password":"test123", "some-int-val": 1, "some-bool": true}' -t "comma, separated, tags"

פעולה זו תיצור את מופע השירות my-db עם פרטי הכניסה והתגים שסופקו. פרטי הכניסה שמועברים אל הדגל -p צריכים להיות בפורמט JSON תקין (מוטמעים בשורה או נטענים מנתיב קובץ).

כדי להעביר את פרטי הכניסה לאפליקציה אחת או יותר, המשתמש יכול להריץ את הפקודה kf bind-service.

נניח שיש לנו אפליקציה עם שירות אחד שמוגדר כקשור, השירות my-db שמוגדר על ידי המשתמש כמו שמתואר למעלה. משתנה הסביבה VCAP_SERVICES של האפליקציה יכיל את התוכן הבא:

{
  "user-provided": [
    {
      "name": "my-db",
      "instance_name": "my-db",
      "label": "user-provided",
      "tags": [
        "comma",
        "separated",
        "tags"
      ],
      "credentials": {
        "username": "admin",
        "password": "test123",
        "some-int-val": 1,
        "some-bool": true
      }
    }
  ]
}

עדכון מופע שירות שהמשתמש סיפק

הכינוי של kf update-user-provided-service הוא kf uups.

אפשר לעדכן שירות שסופק על ידי משתמש באמצעות הפקודה uups. אם מעבירים פרטי כניסה או תגים חדשים, הם מחליפים לחלוטין את אלה הקיימים. לדוגמה, אם המשתמש יצר את השירות my-db שסופק על ידי המשתמש שמופיע למעלה, קרא ל-kf bind-service כדי לקשר את השירות לאפליקציה, ואז הפעיל את הפקודה.

kf uups my-db -p '{"username":"admin", "password":"new-pw", "new-key": "new-val"}'

הפרטים המעודכנים של אמצעי הזיהוי יופיעו באפליקציה רק אחרי שהמשתמש יבטל את הקישור של השירות לאפליקציה ויקשר אותו מחדש. לא נדרשת הפעלה מחדש או העברה של האפליקציה למצב אחר. משתנה הסביבה המעודכן VCAP_SERVICES יכלול את התוכן הבא:

{
  "user-provided": [
    {
      "name": "my-db",
      "instance_name": "my-db",
      "label": "user-provided",
      "tags": [
        "comma",
        "separated",
        "tags"
      ],
      "credentials": {
        "username": "admin",
        "password": "new-pw",
        "new-key": "new-val"
      }
    }
  ]
}

פרטי הכניסה החדשים מחליפים את פרטי הכניסה הישנים, והתגים לא משתנים כי הם לא צוינו בפקודת העדכון.