صبح امروز جلسهای در تیم معماری اپلیکیشن (متشکل از تیم دوآپس و توسعه نرم افزار) برگزار شد و در این جلسه نیاز به پیادهسازی تغییراتی بر روی سرویس زیر درخواست شد:
```config manifest.yml config
apiVersion: v1
kind: Pod
metadata:
name: python
spec:
containers:
- name: python
image: python:3.9.10
args:
- sleep
- "3600"
volumeMounts:
- name: auth
mountPath: /tmp
subPath: auth
volumes:
- name: auth
secret:
secretName: auth
```
برای دانلود پروژه اولیه روی [این لینک](/problemset/assignments/4367/download_problem_initial_project/136632/) کلیک کنید.
# لیست تغییرات
1. خواسته شده تا فایل `auth` به دو فایل `user.txt` از نوع *configmap* و `pass.txt` از نوع *secret* تغییر پیدا کند و در فولدر `/tmp` قرار بگیرد.
2. قبل از در دسترس قرار گرفتن اپلیکشن نیاز است هربار فایلی از مسیر زیر:
```
https://raw.githubusercontent.com/Digiexercise/simple-socket/main/sample-socket.py
```
دانلود شده و در دایرکتوری `/python` جایگذاری شود. سپس با دستور زیر در اپلیکیشن اجرا شود:
```bash terminal terminal
python3 /python/sample-socket.py
```
**توجه داشته باشید که** محتوای دایرکتوری `/python` **نباید** `persist` باشد و در هر *restart* باید مجدد فایل جدید دانلود شود.
3. اپلیکیشن مورد نظر باید سه *Replica* داشته باشد و اطمینان حاصل شود که هر سه پاد در حال سرویسدهی به کاربران میباشند.
4. شناسه یکتا پاد را در مسیر `/root/pod_id.yml` ذخیره شود.
**توجه داشته باشید** برای انجام اینکار از قابلیت `lifecycle` استفاده شود. **همچنین** شناسه ذخیره شده در `pod_id.yml` باید یک عدد یکتا، به ترتیب و طبیعی باشد و با *restart* پاد تغییر نکند.
## نکات تکمیلی
* برای اجرای کوبرنتیز میتوانید از *Minikube* روی سیستم خود استفاده نمایید.
* فقط `manifest.yml` را تغییر داده و ارسال نمایید.
* فایل `manifest.yml`باید دارای یک kind باشد.
## نحوهی ارسال جواب
شما فقط میتوانید محتوای فایل `manifest.yml` را تغییر دهید. تغییرات خودتان را بر روی `manifest.yml` اعمال کنید و فایل اصلاح شده را ارسال نمایید.