48df10b17e
- Harden DB-backed handlers and seed profiles; align client wire shapes for cluster resources, QEMU config, and node SSL fields - Serve plain HTTP on Compose :8006; keep TLS optional (--profile tls) and terminate HTTPS at Kubernetes Ingress - Add pulumi-tests (full contract surface majors 6–9 + BPG lifecycle) and make pulumi-tests - Ship bilingual docs, CHANGELOG, SECURITY, CONTRIBUTING, and GitHub Actions (make ci + Compose/Helm validation)
43 lines
2.8 KiB
Markdown
43 lines
2.8 KiB
Markdown
**Language / Язык:** [English](../clients.md) | [Русский](clients.md)
|
||
|
||
# Клиенты
|
||
|
||
Используйте симулятор из обычных стеков автоматизации. Каждый cookbook стремится
|
||
к одному лабораторному сценарию, где инструмент это позволяет:
|
||
|
||
1. Аутентификация (ticket + CSRF **или** API token)
|
||
2. Чтение `version` / nodes / списка QEMU
|
||
3. Создание VM (принять UPID)
|
||
4. Опрос статуса задачи
|
||
5. Start / stop
|
||
6. Чтение статуса
|
||
7. Delete / cleanup
|
||
|
||
## Матрица подключений
|
||
|
||
Клиенты реального Proxmox VE ходят на **HTTPS `:8006`**. Compose в этой
|
||
лаборатории публикует plain **HTTP `:8006`** (тот же номер порта). HTTPS —
|
||
на **Kubernetes Ingress** (cert-manager). Клиенты без HTTP (proxmoxer):
|
||
`docker compose --profile tls` → `https://localhost:8443/` (см.
|
||
[Порты и TLS](configuration.md#порты-и-tls)).
|
||
|
||
| Стек | Транспорт Compose | Заметки | Docs | Code |
|
||
|---|---|---|---|---|
|
||
| Python (proxmoxer) | HTTPS `:8443` (`--profile tls`) | Только HTTPS; `verify_ssl=False` для lab cert | [руководство](examples/python-proxmoxer.md) | [`examples/python`](../../examples/python) |
|
||
| Python (requests) | HTTP `:8006` | Сырой `/api2/json` | [руководство](examples/python-requests.md) | [`examples/python`](../../examples/python) |
|
||
| Go | HTTP `:8006` | stdlib `net/http` | [руководство](examples/go.md) | [`examples/go`](../../examples/go) |
|
||
| Java | HTTP `:8006` | Java 11+ `HttpClient` | [руководство](examples/java.md) | [`examples/java`](../../examples/java) |
|
||
| Perl | HTTP `:8006` | `HTTP::Tiny` + JSON | [руководство](examples/perl.md) | [`examples/perl`](../../examples/perl) |
|
||
| Ansible | HTTP `:8006` | Cookbook модуля `uri` | [руководство](examples/ansible.md) | [`examples/ansible`](../../examples/ansible) |
|
||
| Terraform | HTTP `:8006` (или TLS `:8443`) | Предпочитайте HTTP; `insecure` только с `--profile tls` | [руководство](examples/terraform.md) | [`examples/terraform`](../../examples/terraform) |
|
||
| Pulumi | HTTP `:8006` | `pulumi-proxmoxve` или HTTP cookbooks | [руководство](examples/pulumi.md) | [`examples/pulumi`](../../examples/pulumi) |
|
||
|
||
В Kubernetes с Ingress + cert-manager направляйте клиентов на
|
||
`https://<ваш-хост>/`.
|
||
|
||
## Дальше
|
||
|
||
- Индекс cookbook: [examples/overview.md](examples/overview.md)
|
||
- Troubleshooting: [examples/troubleshooting-clients.md](examples/troubleshooting-clients.md)
|
||
- Полный Pulumi suite: [`pulumi-tests/`](../../pulumi-tests/README.ru.md)
|