Prepare 0.1.0 for lab release: durable handlers, HTTP Compose, CI, and pulumi-tests.
- 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)
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
**Language / Язык:** [English](ansible.md) | [Русский](../ru/examples/ansible.md)
|
||||
|
||||
# Ansible
|
||||
|
||||
Playbook uses the `uri` module against HTTP `:8006` with token auth, then
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
**Language / Язык:** [English](go.md) | [Русский](../ru/examples/go.md)
|
||||
|
||||
# Go
|
||||
|
||||
Uses the Go standard library against `http://localhost:8006` with API-token
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
**Language / Язык:** [English](java.md) | [Русский](../ru/examples/java.md)
|
||||
|
||||
# Java
|
||||
|
||||
Java 11+ `HttpClient` cookbook using API-token auth against `:8006`.
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
**Language / Язык:** [English](overview.md) | [Русский](../ru/examples/overview.md)
|
||||
|
||||
# Client examples overview
|
||||
|
||||
## Bring-up checklist
|
||||
@@ -20,7 +22,7 @@ curl -s -X POST 'http://localhost:8006/ui/api/contract/apply?major=8'
|
||||
| URL | When |
|
||||
|---|---|
|
||||
| `http://localhost:8006` | curl, Go, Java, Perl, Ansible, requests |
|
||||
| `https://localhost:8007` | proxmoxer, many Terraform/Pulumi TLS clients |
|
||||
| `http://localhost:8006` | proxmoxer, many Terraform/Pulumi TLS clients |
|
||||
|
||||
## Auth quick reference
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
**Language / Язык:** [English](perl.md) | [Русский](../ru/examples/perl.md)
|
||||
|
||||
# Perl
|
||||
|
||||
`HTTP::Tiny` + JSON cookbook with API-token auth.
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
**Language / Язык:** [English](pulumi.md) | [Русский](../ru/examples/pulumi.md)
|
||||
|
||||
# Pulumi
|
||||
|
||||
Python Pulumi program that drives the simulator over HTTPS using token auth via
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
**Language / Язык:** [English](python-proxmoxer.md) | [Русский](../ru/examples/python-proxmoxer.md)
|
||||
|
||||
# Python — proxmoxer
|
||||
|
||||
Canonical library path against the HTTPS gateway.
|
||||
@@ -11,7 +13,7 @@ python examples/python/proxmoxer_cookbook.py
|
||||
```
|
||||
|
||||
Environment overrides: `PVE_HOST` (default `localhost`), `PVE_PORT` (default
|
||||
`8007`), `PVE_USER`, `PVE_PASSWORD`, or token via `PVE_TOKEN_NAME` /
|
||||
`8006`), `PVE_USER`, `PVE_PASSWORD`, or token via `PVE_TOKEN_NAME` /
|
||||
`PVE_TOKEN_VALUE`.
|
||||
|
||||
## Notes
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
**Language / Язык:** [English](python-requests.md) | [Русский](../ru/examples/python-requests.md)
|
||||
|
||||
# Python — requests
|
||||
|
||||
Raw HTTP against `:8006` without proxmoxer.
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
**Language / Язык:** [English](terraform.md) | [Русский](../ru/examples/terraform.md)
|
||||
|
||||
# Terraform
|
||||
|
||||
Example uses a Proxmox provider pointed at the local HTTPS gateway
|
||||
(`https://localhost:8007`) with `insecure = true` for the development
|
||||
(`http://localhost:8006`) with `insecure = true` for the development
|
||||
certificate.
|
||||
|
||||
```bash
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
**Language / Язык:** [English](troubleshooting-clients.md) | [Русский](../ru/examples/troubleshooting-clients.md)
|
||||
|
||||
# Troubleshooting clients
|
||||
|
||||
| Symptom | Fix |
|
||||
|---|---|
|
||||
| TLS certificate errors | Use `:8007` with verify disabled **only** locally, or use HTTP `:8006` |
|
||||
| TLS certificate errors | Compose default is `http://localhost:8006` (no TLS). For proxmoxer use `docker compose --profile tls` and `https://localhost:8443` with verify disabled **only** locally (`curl -sk`, `verify_ssl=False`, `insecure=true`). On Kubernetes use your Ingress hostname with cert-manager TLS. |
|
||||
| CSRF failure | Send `CSRFPreventionToken` with ticket mutations; prefer token auth in scripts |
|
||||
| Node not found | `small` seed uses `pve01` |
|
||||
| 403 on power | You may be using `auditor@pve` / readonly token — switch to root or operator |
|
||||
|
||||
Reference in New Issue
Block a user