# RoostGPT מאוחסן בעצמו - פריסה ב-AWS באמצעות Terraform

כדי לארח את ערימת RoostGPT באופן עצמאי, אנו זקוקים למשאבי התשתית הבאים. 

מסד נתונים MySQL או Postgres 
תעודות SSL ודומיין DNS
מזהה לקוח, סוד ותצורת DNS הקשורים ליישום oAuth עבור הפניה מחדש
זיהוי טווח IP CIDR ואזור זמינות של מרכז נתונים בענן לצורך הגדרת משאבי מחשוב ענן ורשת 

המשאבים הבאים יוקצו באמצעות סקריפט Terraform

VPC ותת-רשתות ציבוריות ופרטיות מתאימות ושער NAT
מופעי Ubuntu Compute (EC2) ואמצעי אחסון נלווים
מאזן עומסים של יישומים וקבוצות יעד


# 1. תחילת העבודה

<span dir="auto">Roost מספקת סקריפטים של Terraform כדי להפעיל ולקבוע את התצורה של פלטפורמת RoostGPT בקלות. להלן השלבים לפריסת Roost ב-AWS באמצעות Terraform. </span>

#### <span dir="auto">ארכיטקטורה ברמה גבוהה</span>

<span dir="auto">סקריפטים של Roost Terraform יוצרים את הרכיבים הבאים בענן AWS </span>

[![RoostGPT-architecture-multiple-ec2.jpg](https://docs.roost.ai/uploads/images/gallery/2025-09/scaled-1680-/k9jZ8BgT4Xiu51iq-roostgpt-architecture-multiple-ec2.jpg)](https://docs.roost.ai/uploads/images/gallery/2025-09/k9jZ8BgT4Xiu51iq-roostgpt-architecture-multiple-ec2.jpg)

<span dir="auto"><span class="" dir="auto">דיאגרמה אינטראקטיבית בכתובת </span></span>[<span dir="auto"><span class="" dir="auto">https://docs.roost.ai/arch</span></span>](https://docs-roost-ai.translate.goog/arch?_x_tr_sl=kn&_x_tr_tl=hi&_x_tr_hl=en&_x_tr_pto=wapp)

#### <span dir="auto">דרישות קדם </span>

- <span dir="auto">חשבון משתמש עם הרשאות מנהל / מדיניות מופעלות להפעלת סקריפטים של terraform </span>
- <span dir="auto">אֵזוֹר</span>
- <span dir="auto">מזהה\_אזור\_מארח\_מסלול53</span>
- <span dir="auto">ec2\_ami (עבור אובונטו ג'אמי 22.04)</span>
- <span dir="auto">dns\_ארגוני</span>
- <span dir="auto">ip\_block\_vpc (VPC CIDR שבו יוקם Roost)</span>
- <span dir="auto">okta\_client\_id או ספק אימות מתאים (אנא עיינו בסעיף הבא)</span>
- <span dir="auto">שם החברה</span>

#### <span dir="auto">הורד את הסקריפטים של Terraform</span>

```bash
curl -LO https://github.com/roost-io/roost-support/raw/refs/heads/master/terraform-ec2.zip
```

# New Page



# 2. הגדרת ספק OAuth

<span dir="auto"><span class="VIpgJd-yAWNEb-VIpgJd-fmcmS-sn54Q" dir="auto">Roost תומך במנגנוני אימות שונים כפי שצוין להלן</span></span>

1. <span dir="auto">אוקטה</span>
2. <span dir="auto">גוגל</span>
3. <span dir="auto">מיקרוסופט ת'ור ADFS</span>

## <span dir="auto">הגדרת לקוח אימות OKTA</span><button aria-label="העתקת קישור לכותרת" class="css-779anb"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"></svg></button>

- <span dir="auto">היכנס לחשבון OKTA שלך עם הרשאות מנהל ( </span>*<span dir="auto">אם אין לך חשבון Okta קיים, הירשם בדף </span>*[<span dir="auto">הבית | מפתח Okta</span>](https://translate.google.com/website?sl=en&tl=he&hl=en&client=webapp&u=http://developer.okta.com/ "http://developer.okta.com/") <span dir="auto">)</span>
- <span dir="auto">מתפריט הניווט השמאלי, עבור אל יישומים -&gt; יישומים.</span>
- <span dir="auto">בחר צור אינטגרציית אפליקציה ← OIDC - OpenID Connect ← יישום אינטרנט, לאחר מכן לחץ על הבא</span>
- <span dir="auto">מלאו את </span>**<span dir="auto">שם האינטגרציה המתאים לאפליקציה,</span>**<span dir="auto"> העלו את הלוגו.</span>
- <span dir="auto">הוסף </span>**<span dir="auto">כתובות URI להפניה מחדש של כניסה</span>**
    - <span dir="auto">https://&lt;שם\_DNS&gt;/התחברות</span>
- <span dir="auto">אפשר גישה למשתמשים דרך משימות → גישה מבוקרת</span>
    - <span dir="auto">בחר את קבוצות המשתמשים או אפשר גישה לכולם</span>
- <span dir="auto">שמור ורשום לעצמך את מזהה הלקוח של Okta ואת סוד הלקוח (יש צורך בכך בהמשך בתצורה למטה)</span>
- <span dir="auto">מתפריט הניווט השמאלי, עבור אל אבטחה -&gt; API</span>
- <span dir="auto">רשום לעצמך את </span>**<span dir="auto">ה-URI של המנפיק</span>**<span dir="auto"> עבור שרת ההרשאות המוגדר כברירת מחדל</span>
    - <span dir="auto">משהו כמו https://{your\_domain}.okta.com/oauth2/default</span>

## <span dir="auto">הגדרת לקוח אימות גוגל</span><button aria-label="העתקת קישור לכותרת" class="css-779anb"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"></svg></button>

- [<span dir="auto">שילוב כניסה מגוגל באפליקציית האינטרנט שלך | כניסה מגוגל לאתרי אינטרנט | מפתחי גוגל</span>](https://translate.google.com/website?sl=en&tl=he&hl=en&client=webapp&u=https://developers.google.com/identity/sign-in/web/sign-in "https://developers.google.com/identity/sign-in/web/sign-in")
- <span dir="auto">התחבר אל </span>[<span dir="auto">https://console.cloud.google.com/apis/credentials</span>](https://translate.google.com/website?sl=en&tl=he&hl=en&client=webapp&u=https://console.cloud.google.com/apis/credentials "https://console.cloud.google.com/apis/credentials")
- <span dir="auto">צור אישורים, בחר לקוח OAuth וסוג יישום כאפליקציית אינטרנט</span>
- <span dir="auto">הוסף מקור JavaScript מורשה כ</span>
    
    
    - <span dir="auto">https://&lt;שם\_DNS&gt;</span>
- <span dir="auto">הוסף כתובות URI מורשות להפניה מחדש</span>
    
    
    - <span dir="auto">https://&lt;שם\_DNS&gt;/התחברות</span>
    - <span dir="auto">https://&lt;שם\_DNS&gt;/api/auth/redirect/google</span>
- <span dir="auto">הורד את קובץ ה-JSON</span>
- <span dir="auto">רשום לעצמך את מזהה הלקוח של גוגל ואת סוד הלקוח (נדרש בהמשך בתצורה למטה)</span>

## <span dir="auto">הגדרת לקוח אימות Azure </span><span data-highlighted="true" data-vc="highlighted-text"><span class="_kqswh2mm"><span class="_5pioz8co _189eyh40 _1il9buyh _19lcevot _d0altlke" data-testid="definition-highlighter"><span dir="auto">ADFS</span></span></span></span>

`Roost 0Auth2 Setup - Windows Server 2016/2019 - <span data-highlighted="true" data-vc="highlighted-text">ADFS</span> 4.0`

1. <span dir="auto">פתח את </span>**<span dir="auto">מנהל השרתים</span>**<span dir="auto"> מתפריט </span>**<span dir="auto">התחל,</span>**<span dir="auto"> בחר </span>**<span dir="auto">כלים</span>**<span dir="auto"> &gt; **ניהול** </span>**<span data-highlighted="true" data-vc="highlighted-text"><span class="_kqswh2mm"><span class="_5pioz8co _189eyh40 _1il9buyh _19lcevot _d0altlke" data-testid="definition-highlighter"><span dir="auto">AD </span></span></span></span><span data-highlighted="true" data-vc="highlighted-text"><span class="_kqswh2mm"><span class="_5pioz8co _189eyh40 _1il9buyh _19lcevot _d0altlke" data-testid="definition-highlighter"><span dir="auto">FS</span></span></span></span>**
2. <span dir="auto">ממסך **ניהול** </span>**<span data-highlighted="true" data-vc="highlighted-text"><span dir="auto">AD </span></span><span data-highlighted="true" data-vc="highlighted-text"><span dir="auto">FS</span></span>**<span dir="auto"> , עבור אל </span>**<span data-highlighted="true" data-vc="highlighted-text"><span dir="auto">AD </span></span><span data-highlighted="true" data-vc="highlighted-text"><span dir="auto">FS</span></span><span dir="auto"> ➜ קבוצות יישומים</span>**
3. <span dir="auto">לחץ על </span>**<span dir="auto">הוסף קבוצת יישומים</span>**<span dir="auto"> בחלונית הימנית</span>

1. <span dir="auto">מלא </span>**<span dir="auto">שם</span>**<span dir="auto"> ( </span>**<span dir="auto">Roost</span>**<span dir="auto"> ) עבור קבוצת היישומים</span>
2. <span dir="auto">בחר </span>**<span dir="auto">דפדפן אינטרנט של יישום שרת שניגש ל-API אינטרנטי</span>**<span dir="auto"> ולחץ על </span>**<span dir="auto">הבא</span>**
3. <span dir="auto">שימו לב לערך של </span>**<span dir="auto">מזהה הלקוח</span>**<span dir="auto"> . זה יהיה הערך של </span>`AZURE_ADFS_CLIENT_ID`<span dir="auto">המשתנה</span>
4. <span dir="auto">מלאו את </span>**<span dir="auto">כתובת ה-URI להפניה</span>**<span dir="auto"> ( </span><span data-annotation-inline-node="true" data-annotation-mark="true" data-card-url="https://zbio.roost.io/login" data-inline-card="true" data-renderer-start-pos="2296">[<span dir="auto">https://&lt;DNS\_NAME&gt;/login</span>](https://%3Cdns_name%3E/login?_x_tr_sl=en&_x_tr_tl=he&_x_tr_hl=en&_x_tr_pto=wapp)</span><span dir="auto"> ) ולחצו על הוסף, לאחר מכן על הבא</span>
5. <span dir="auto">סמן את התיבה </span>**<span dir="auto">צור סוד משותף</span>**
6. <span dir="auto">השתמשו בלחצן </span>**<span dir="auto">העתק ללוח</span>**<span dir="auto"> כדי לאחזר את הסוד. זה יהיה הערך של </span>`AZURE_ADFS_CLIENT_SECRET`<span dir="auto">המשתנה. לחצו על </span>**<span dir="auto">הבא</span>**
7. <span dir="auto">הזן את מזהה ה-Web API (זהה ל-RedirectUri - </span><span data-annotation-inline-node="true" data-annotation-mark="true" data-card-url="https://zbio.roost.io/login" data-inline-card="true" data-renderer-start-pos="2558">[<span dir="auto">https://&lt;DNS\_NAME&gt;/login</span>](https://%3Cdns_name%3E/login?_x_tr_sl=en&_x_tr_tl=he&_x_tr_hl=en&_x_tr_pto=wapp)</span><span dir="auto"> ) ולחץ על </span>**<span dir="auto">הוסף,</span>**<span dir="auto"> לאחר מכן </span>**<span dir="auto">על הבא.</span>**
8. <span dir="auto">במסך </span>**<span dir="auto">מדיניות בקרת גישה</span>**<span dir="auto"> , בחר מדיניות, בדרך כלל </span>**<span dir="auto">אפשר לכולם</span>**<span dir="auto"> ולחץ על </span>**<span dir="auto">הבא</span>**
9. <span dir="auto">במסך </span>**<span dir="auto">הגדרת הרשאות יישום</span>**<span dir="auto"> , בחר את ה- </span>**<span dir="auto">openid של</span>**<span dir="auto"> ההיקף ולחץ על </span>**<span dir="auto">הבא</span>**
10. **<span dir="auto">סקור את ההגדרות ולחצו על הבא</span>**
11. <span dir="auto">סגור את האשף על ידי לחיצה על </span>**<span dir="auto">סגור</span>**<span dir="auto"> . האפליקציה שלנו רשומה כעת ב- </span><span data-highlighted="true" data-vc="highlighted-text"><span dir="auto">ADFS</span></span><span dir="auto"> .</span>

1. <span dir="auto">כעת, עלינו </span>**<span dir="auto">להגדיר את התביעות</span>**<span dir="auto"> עבור היישום</span>

1. <span dir="auto">פתחו את </span>**<span dir="auto">המאפיינים</span>**<span dir="auto"> עבור קבוצת היישומים שזה עתה יצרנו.</span>
2. <span dir="auto">בחר את ערך </span>**<span dir="auto">יישום האינטרנט</span>**<span dir="auto"> ( </span>**<span dir="auto">Roost - Web API</span>**<span dir="auto"> ) ולחץ על </span>**<span dir="auto">עריכה</span>**
3. <span dir="auto">בכרטיסייה </span>**<span dir="auto">כללי טרנספורמציה של הנפקה</span>**<span dir="auto"> , לחץ על לחצן </span>**<span dir="auto">הוסף כלל</span>**
4. <span dir="auto">בחר </span>**<span dir="auto">שלח מאפייני </span><span data-highlighted="true" data-vc="highlighted-text"><span class="_kqswh2mm"><span class="_5pioz8co _189eyh40 _1il9buyh _19lcevot _d0altlke" data-testid="definition-highlighter"><span dir="auto">LDAP</span></span></span></span><span dir="auto"> כתביעות</span>**<span dir="auto"> ולחץ על </span>**<span dir="auto">הבא</span>**
5. <span dir="auto">תן שם לכלל ( </span>**<span dir="auto">Roost Claims</span>**<span dir="auto"> ) ובחר את </span>**<span dir="auto">Active Directory</span>**<span dir="auto"> כמאגר המאפיינים.</span>
6. <span dir="auto">כעת הגדר את התביעות הבאות ( תכונת </span>**<span data-highlighted="true" data-vc="highlighted-text"><span dir="auto">LDAP</span></span><span dir="auto"> =&gt; סוג תביעה יוצאת</span>**<span dir="auto"> ):</span>

1. <span dir="auto">כתובות דוא"ל =&gt; כתובת דוא"ל</span>
2. <span dir="auto">שם פרטי =&gt; שם פרטי</span>
3. <span dir="auto">שם משפחה =&gt; שם משפחה</span>
4. <span dir="auto">שם חשבון SAM =&gt; שם חשבון Windows</span>
5. <span dir="auto">שם משתמש ראשי =&gt; UPN</span>

1. <span dir="auto">לחץ </span>**<span dir="auto">על סיום</span>**<span dir="auto"> כדי לשמור את התביעות</span>
2. <span dir="auto">כעת אתה אמור לראות את הכלל נוסף. לחץ על </span>**<span dir="auto">אישור</span>**<span dir="auto"> מספר פעמים כדי לשמור את ההגדרות.</span>

1. <span dir="auto">כעת ההתקנה הושלמה. קבענו את שלושת הערכים הבאים כמשתני סביבה:</span>

1. `AZURE_ADFS_CLIENT_ISSUER`<span dir="auto">- תחום של שרת </span><span data-highlighted="true" data-vc="highlighted-text"><span dir="auto">ADFS </span></span><span dir="auto">[( ](https://translate.google.com/website?sl=en&tl=he&hl=en&client=webapp&u=https://adfs.contoso.com/ "https://adfs.contoso.com/")</span>[<span dir="auto">https://adfs.contoso.com </span><span data-highlighted="true" data-vc="highlighted-text"><span dir="auto">)</span></span>](https://translate.google.com/website?sl=en&tl=he&hl=en&client=webapp&u=https://adfs.contoso.com/ "https://adfs.contoso.com/")
2. `AZURE_ADFS_CLIENT_ID`<span dir="auto"> - מזהה לקוח של יישום שרת</span>
3. `AZURE_ADFS_CLIENT_SECRET`<span dir="auto"> - סוד הלקוח שהעתקנו ללוח</span>

<span dir="auto">אם אינך רוצה להשתמש בסוד הלקוח, הוסף יישום מקורי והעביר </span>`AZURE_ADFS_CLIENT_SECRET`<span dir="auto">את המשתנה כריק.</span>

# 3. הגדרת מסד נתונים

<span dir="auto"><span class="" dir="auto">Roost מאחסן את סטטוס זרימת העבודה של GPT ומידע רלוונטי אחר במסד הנתונים. Roost תומך ב-MySQL, Postgres ו-Amazon Aurora DB. כל מסד נתונים נדרש כדי ש-RoostGPT יפעל.</span></span>

<span dir="auto">להלן השלבים להגדרת RDS ב-AWS</span>

### <span dir="auto">אמזון אורורה (תואם ל-MySQL) או MySQL</span>

1. <span dir="auto">בחר RDS</span>
2. <span dir="auto">בחר צור מסד נתונים</span>
3. <span dir="auto">בחר "יצירה קלה" עבור "Amazon Aurora עם תאימות MYSQL" או "MySQL"</span>
4. <span dir="auto">שנה את קבוצת האבטחה של RDS כדי לאפשר גישה ליציאת TCP 3306 לקבוצת האבטחה של מופעי מישור הבקרה בלבד.</span>
5. <span dir="auto">רשום לעצמך את נקודת הקצה, המשתמש והסיסמה של מסד הנתונים של מופע הכותב (יש צורך בכך בהמשך בתצורה שלהלן)</span>

<span dir="auto">צור משתמש חדש עם הרשאות קריאה וכתיבה והימנע משימוש בהתחברות של מנהל מערכת.</span>

```
# Sample command to create a user using MySQL CLI 
# Provide password on prompt 

mysql -h <SQL Host URL> -u <root|master|admin> -p
```

```
CREATE USER 'Roost'@'%' identified WITH mysql_native_password by 'Roost#123'; 
CREATE DATABASE roostio;
GRANT ALL on roostio.* to 'Roost'@'%';

# Execute the Roost Schema file, if available
\. /var/tmp/Roost/db/roost.sql
```

### <span dir="auto">אמזון אורורה (תואם ל-PostgreSQL) או PostgreSQL</span>

1. <span dir="auto">בחר RDS</span>
2. <span dir="auto">בחר צור מסד נתונים</span>
3. <span dir="auto">בחר "יצירה קלה" עבור "Amazon Aurora עם תאימות PostgreSQL" או "PostgreSQL"</span>
4. <span dir="auto">שנה את קבוצת האבטחה של RDS כדי לאפשר גישה ליציאת TCP 5432 לקבוצת האבטחה של מופעי מישור הבקרה בלבד.</span>
5. <span dir="auto">רשום לעצמך את נקודת הקצה, המשתמש והסיסמה של מסד הנתונים של מופע הכותב (יש צורך בכך בהמשך בתצורה שלהלן)</span>
6. <span dir="auto">צור משתמש חדש עם הרשאות קריאה וכתיבה והימנע משימוש בהתחברות של מנהל מערכת.</span>

```
psql "host=<PG Host URL> user=<admin> dbname=postgres port=5432 sslmode=require"
```

```

CREATE DATABASE roostio;                                  -- creates app database [5]
CREATE USER roost WITH PASSWORD 'Roost#123';              -- creates login role [3]
GRANT ALL PRIVILEGES ON DATABASE roostio TO roost;        -- DB-level grant [4]

-- Connect to the new DB (reconnect as admin or roost), then set schema privileges
\c roostio                                        
GRANT USAGE ON SCHEMA public TO roost;                   
GRANT ALL ON ALL TABLES IN SCHEMA public TO roost;     
GRANT USAGE ON ALL SEQUENCES IN SCHEMA public TO roost;   
ALTER DEFAULT PRIVILEGES IN SCHEMA public 
  GRANT ALL ON TABLES TO roost;                       
ALTER DEFAULT PRIVILEGES IN SCHEMA public 
  GRANT USAGE ON SEQUENCES TO roost;                   

-- Execute the Roost Schema file, if available
\i /var/tmp/Roost/db/roost.sql  
```

# 4. משתני טראפורמה

<span dir="auto"><span class="" dir="auto">אנא בצעו את השלבים הבאים כדי לשנות קבצי terraform כדי לשלב את </span></span>

- <span dir="auto">העתק </span>`terraform.tfvars.original`<span dir="auto"> כ</span>`terraform.tfvars`
- מלאו את הפרטים הבאים (ערכי דוגמה כבר סופקו)

```
enterprise_dns = "subdomain.domain.com"
admin_email = "comma separated list of emails"
enterprise_email_domain = "email-domain.com"
company = ""
license_key = ""
roost_jwt_token = "32-character-secure-long-secret"
roost_version = "v1.1.17"

az1_suffix = "b"
az2_suffix = "c"
certificate_arn = "arn:aws:acm:region:account:certificate/cert-id"
ec2_ami = "ami-023a307f3d27ea427"
region = "region"
ip_block_vpc="172.32.255.192"
route53_hosted_zone_id = ""
key_pair = "roost-ssh"

azure_tenant_id = ""
azure_client_id = ""
azure_client_secret = ""
okta_client_id = "your client id"
okta_client_secret = "your client secret"
okta_issuer = "https://account.okta.com/oauth2/default"

is_own_mysql = false
mysql_db_name = "roostio"
mysql_host = "mysqldb_host_url"
mysql_password = "Roost#123"
mysql_port = 3306
mysql_root_password = "Admin#123"
mysql_username = "Roost"
```

#### Terraform <span dir="auto"><span class="" dir="auto">הגדרות משתני</span></span>


<table border="1" id="bkmrk-field-values-descrip" style="border-collapse: collapse; width: 100%; height: 1567.2px;"><colgroup><col style="width: 33.3731%;"></col><col style="width: 51.8254%;"></col><col style="width: 14.9207%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td class="align-center" style="height: 29.7969px;">**Field**

</td><td class="align-center" style="height: 29.7969px;">**Values**</td><td class="align-center" style="height: 29.7969px;">**Description**</td></tr><tr style="height: 29.7969px;"><td style="width: 496pt; height: 29.7969px;">roost\_version</td><td style="height: 29.7969px;"><span class="font7">"v1.1.17"</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td style="width: 496pt; height: 29.7969px;">license\_key</td><td style="height: 29.7969px;"><span class="font7">  
</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px; width: 496pt;" width="661">prefix</td><td style="height: 29.7969px;"><span class="font7">"terraform-gpt"</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">region</td><td style="height: 29.7969px;"><span class="font7">"us-west-1"</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">az1\_suffix</td><td style="height: 29.7969px;"><span class="font7">"b"</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">az2\_suffix </td><td style="height: 29.7969px;"><span class="font7">"c"</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">deletion\_protection</td><td style="height: 29.7969px;"><span class="font8">false</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">route53\_hosted\_zone\_id </td><td style="height: 29.7969px;">  
</td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 32.5938px;"><td class="xl65" height="21" style="height: 32.5938px;">enterprise\_dns </td><td style="height: 32.5938px;"><span class="font7">"roostgpt.example.com"</span></td><td style="height: 32.5938px;">  
</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">enterprise\_ssl\_certificate\_path</td><td style="height: 29.7969px;"><span class="font7">"/var/tmp/Roost/certs/server.cer"</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">enterprise\_ssl\_certificate\_key\_path</td><td style="height: 29.7969px;"><span class="font7">"/var/tmp/Roost/certs/server.key"</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">certificate\_arn</td><td style="height: 29.7969px;"><span class="font7">""</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">ec2\_ami </td><td style="height: 29.7969px;"><span class="font7">"ami-03df6dea56f8aa618"</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">key\_pair</td><td style="height: 29.7969px;"><span class="font7">"roost-gpt-keypair"</span></td><td style="height: 29.7969px;"> </td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">generate\_key\_pair </td><td style="height: 29.7969px;"><span class="font9">true</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">device\_name </td><td style="height: 29.7969px;"><span class="font7">"sdh"</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">ip\_block\_vpc </td><td style="height: 29.7969px;"><span class="font7">"172.32.255.192"</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">instance\_type\_controlplane</td><td style="height: 29.7969px;"><span class="font7">"c5a.2xlarge"</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 32.5938px;"><td class="xl65" height="21" style="height: 32.5938px;">instance\_type\_jumphost </td><td style="height: 32.5938px;"><span class="font7">"t3.micro"</span></td><td style="height: 32.5938px;">  
</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">disk\_roostgpt</td><td style="height: 29.7969px;"><span class="font7">150</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">disk\_jumphost</td><td style="height: 29.7969px;"><span class="font7">150</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">disk\_controlplane</td><td style="height: 29.7969px;"><span class="font7">150</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">google\_client\_id </td><td style="height: 29.7969px;">  
</td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">google\_client\_secret </td><td style="height: 29.7969px;">  
</td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">github\_client\_id </td><td style="height: 29.7969px;">  
</td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">github\_client\_secret </td><td style="height: 29.7969px;">  
</td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">linkedin\_client\_id</td><td style="height: 29.7969px;">  
</td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">linkedin\_client\_secret</td><td style="height: 29.7969px;">  
</td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">azure\_tenant\_id</td><td style="height: 29.7969px;">  
</td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">azure\_client\_id</td><td style="height: 29.7969px;">  
</td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">azure\_client\_secret</td><td style="height: 29.7969px;">  
</td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">okta\_client\_id </td><td style="height: 29.7969px;"><span class="font7">"0oa4bweaxcqn2sfTu5d7"</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 32.5938px;"><td class="xl65" height="21" style="height: 32.5938px;">okta\_client\_secret</td><td style="height: 32.5938px;"><span class="font7">"D5oRtWXUWcl9gp1312dVtuSoumU4vrECO4wSsqAO"</span></td><td style="height: 32.5938px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">okta\_issuer </td><td style="height: 29.7969px;">  
</td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">roost\_jwt\_token</td><td style="height: 29.7969px;">  
</td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">company </td><td style="height: 29.7969px;">  
</td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 38.375px;"><td class="xl65" height="21" style="height: 38.375px;">company\_logo</td><td style="height: 38.375px;"><span class="font7">"https://roost.ai/hubfs/logos/Roost.ai-logo-gold.svg"</span></td><td style="height: 38.375px;">  
</td></tr><tr style="height: 30.5938px;"><td class="xl65" height="21" style="height: 30.5938px;">enterprise\_email\_domain </td><td style="height: 30.5938px;"><span class="font7">"example.com"</span></td><td style="height: 30.5938px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">admin\_email </td><td style="height: 29.7969px;"><span class="font7">"admin@email"</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">admin\_email\_pass</td><td style="height: 29.7969px;"><span class="font7">""</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">senders\_email </td><td style="height: 29.7969px;"><span class="font7">"sender@email"</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">is\_own\_mysql </td><td style="height: 29.7969px;"><span class="font8">false</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">db\_type</td><td style="height: 29.7969px;"><span class="font7">"mysql"</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">mysql\_host </td><td style="height: 29.7969px;"><span class="font7">"mysqldb\_host\_url"</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">mysql\_password </td><td style="height: 29.7969px;"><span class="font7">"Roost#123"</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">mysql\_username </td><td style="height: 29.7969px;"><span class="font7">"Roost"</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">mysql\_port </td><td style="height: 29.7969px;"><span class="font9">3306</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">mysql\_db\_name </td><td style="height: 29.7969px;"><span class="font7">"roostio"</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">mysql\_root\_password </td><td style="height: 29.7969px;"><span class="font7">"Admin#123"</span></td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">senders\_email\_pass </td><td style="height: 29.7969px;">  
</td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td class="xl65" height="21" style="height: 29.7969px;">email\_smtp\_host </td><td style="height: 29.7969px;">  
</td><td style="height: 29.7969px;">  
</td></tr></tbody></table>

# 5. שדרוג/תחזוקה של משטח הבקרה של RoostGPT

ישנן מספר אפשרויות זמינות לרענון או שדרוג מחסנית RoostGPT. מהנדס התשתית יכול להשתמש בכל אחת מהגישות הללו.

##### <span dir="auto"><span class="" dir="auto">RoostGPT </span></span><span dir="auto"><span class="" dir="auto">א. שימוש בסקריפט Terraform לשדרוג גרסת</span></span>

<span dir="auto"><span class="" dir="auto">עדכון משתני Terraform ב- </span></span>[<span dir="auto"><span class="" dir="auto">"terraform.tfvars" </span></span>](https://docs-roost-ai.translate.goog/topics/roostgpt/page/4-terraform-variables?_x_tr_sl=en&_x_tr_tl=he&_x_tr_hl=en&_x_tr_pto=wapp)כדי לשקף את גרסת Roost המתאימה

<table border="1" id="bkmrk-field-values-roost_v" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 50.0596%;"></col><col style="width: 50.0596%;"></col></colgroup><tbody><tr><td class="align-center">**<span dir="auto">שָׂדֶה</span>**

</td><td class="align-center">**<span dir="auto">ערכים</span>**</td></tr><tr><td>גרסת\_הרוסט

</td><td>1.1.17 גרסה</td></tr></tbody></table>

הפעל את הפקודות הבאות:

```bash
terraform apply
```

##### <span dir="auto"><span class="" dir="auto">ב. שימוש בסקריפט Terraform לרענון משטח הבקרה (ללא שינוי תצורה)</span></span>

<span dir="auto"><span class="" dir="auto">הפעל את הפקודות הבאות</span></span>

```bash
terraform apply --replace="null_resource.provision-controlplane-system" --replace="null_resource.provision-roostgpt-server" --replace="null_resource.run-controlplane-services"
```

##### <span dir="auto">ג. שימוש ב-SSH לביצוע מופע במישור הבקרה</span>

<span dir="auto">משטח הבקרה של RoostGPT מריץ </span>[<span dir="auto">סקריפט חיבור של</span>](https://docs-roost-ai.translate.goog/topics/trying-roostgpt/page/docker-compose?_x_tr_sl=en&_x_tr_tl=he&_x_tr_hl=en&_x_tr_pto=wapp)<span dir="auto"> docker וניתן לעדכן את כל ההיצע באמצעות השלבים הבאים.</span>

- <span dir="auto">התחברות SSH למערכת הבסטיון של התשתית שלך כמשתמש אובונטו</span>
- <span dir="auto">בצע את הקטע הבא עם גרסת Roost המתאימה (לאחר החלפת גרסה 1.1.17)</span>

```bash
ssh cp "ROOST_VER='v1.1.17' /var/tmp/Roost/bin/roost-enterprise.sh -c /var/tmp/Roost/config.json -i roostai"
```