ویژگی‌ها

این نقش (role)‏ Ansible، پروکسی خوداتکای Snowflake را نصب و پیکربندی می‌کند و آن را به اجرا در می‌آورد.

  • Support for Ubuntu, Debian, Arch Linux, Fedora and FreeBSD.
  • واحد (unit) Systemd برای مدیریت خدمات Snowflake در GNU/‏Linux و اسکریپت rc برای FreeBSD.

الزامات

  • Python
  • Ansible 2.9 یا (نسخهٔ) بالاتر

۱. Ansible را نصب کنید

می‌توانید Ansible را با استفاده از pip نصب کنید:

$ python -m pip install --user ansible

یا راه‌های دیگری برای نصب Ansible پیدا کنید.

۲. Ansible role را بارگیری کنید

نقش (role) در Ansible‏ nvjacobo.snowflake نامیده می‌شود. می‌توانید آن را در مخزن Galaxy پیدا کرده و با استفاده از خط فرمان نصب کنید:

$ ansible-galaxy install nvjacobo.snowflake

۳. یک playbook ایجاد کنید

سپس، یک کتاب Ansible playbook برای اجرای نقش (Role) جدید ایجاد کنید:

- hosts: snowflake
  roles:
      - nvjacobo.snowflake

۴. یک سیاهه (inventory) ایجاد کنید

سیاهه (inventory) یک فهرست از سرورهایی است که Ansible به‌طور خودکار از طریق playbook مدیریت می‌کند.

[snowflake]
ip-address

۵. مستقر کنید

در نهایت، با اجرای playbook،‏ Ansible پروکسی خوداتکای Snowflake را مستقر می‌کند. می‌توانید آن را از ریشه (root) اجرا کنید:

$ ansible-playbook -i inventory site.yml -u root

یا با (دستور) sudo:

$ ansible-playbook -i inventory site.yml -u username -b

۶. پروکسی Snowflake را مدیریت کنید

اگر میزبان پروکسی Snowflake درحال اجرای systemd باشد، می‌توانید با استفاده از دستورهای systemd، پروکسی Snowflake خود را مدیریت کنید: start،‏ status و stop. برای مثال:

$ ansible all -i inventory -a 'systemctl status snowflake-proxy'

برای FreeBSD، می‌توانید پروکسی Snowflake خود را با استفاده از این دستورهای اسکریپت rc مدیریت کنید. برای مثال:

$ ansible all -i inventory -a 'service snowflake status'

۷. پروکسی Snowflake خود را ارتقا دهید

مهم است که پروکسی خوداتکای Snowflake خود را به‌روز نگه دارید. اجرای Ansible playbook به‌روزرسانی‌ها را نصب می‌کند:

$ ansible-playbook -i inventory site.yml -u root

۸. (اختیاری) محدودسازی استفاده

با استفاده از متغیر client می‌توانید تعداد سرویس‌گیرنده‌ها (کاربران Snowflake) را محدود کنید. حداکثر سرویس‌گیرندهٔ هم‌رخداد به‌طور پیش‌فرض نامحدود است (0 = بدون محدودیت).

Playbook زیر دارای محدودیت ۳۰۰ سرویس‌گیرندهٔ هم‌رخداد است:

- hosts: snowflake
   vars:
    clients: 300
  roles:
     - nvjacobo.snowflake

توجه: این متغیر نقش (role) Ansible برای FreeBSD موجود نیست.