feat: cloud-init supports all documented KubeSolo CLI flags
Add missing flags (--local-storage-shared-path, --debug, --pprof-server, --portainer-edge-id, --portainer-edge-key, --portainer-edge-async) so all 10 documented KubeSolo parameters can be configured via cloud-init YAML. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -45,9 +45,15 @@ network:
|
||||
kubesolo:
|
||||
extra-flags: "--disable traefik" # Extra CLI flags for KubeSolo binary
|
||||
local-storage: true # Enable local-path provisioner (default: true)
|
||||
local-storage-shared-path: "/mnt/shared" # Shared path for local-path-provisioner
|
||||
apiserver-extra-sans: # Extra SANs for API server certificate
|
||||
- node.example.com
|
||||
- 10.0.0.50
|
||||
debug: false # Enable verbose debug logging
|
||||
pprof-server: false # Enable Go pprof profiling server
|
||||
portainer-edge-id: "" # Portainer Edge Agent ID
|
||||
portainer-edge-key: "" # Portainer Edge Agent key
|
||||
portainer-edge-async: false # Enable async Portainer Edge communication
|
||||
|
||||
# NTP servers (optional)
|
||||
ntp:
|
||||
@@ -129,6 +135,24 @@ kubesolo-cloudinit validate /path/to/cloud-init.yaml
|
||||
kubesolo-cloudinit dump /path/to/cloud-init.yaml
|
||||
```
|
||||
|
||||
## KubeSolo Configuration Reference
|
||||
|
||||
All fields under the `kubesolo:` section and their corresponding CLI flags:
|
||||
|
||||
| YAML Field | CLI Flag | Type | Default | Description |
|
||||
|---|---|---|---|---|
|
||||
| `extra-flags` | (raw flags) | string | `""` | Arbitrary extra flags passed to KubeSolo binary |
|
||||
| `local-storage` | `--local-storage` | bool | `true` | Enable local-path-provisioner for PVCs |
|
||||
| `local-storage-shared-path` | `--local-storage-shared-path` | string | `""` | Shared path for local-path-provisioner storage |
|
||||
| `apiserver-extra-sans` | `--apiserver-extra-sans` | list | `[]` | Extra SANs for API server TLS certificate |
|
||||
| `debug` | `--debug` | bool | `false` | Enable verbose debug logging |
|
||||
| `pprof-server` | `--pprof-server` | bool | `false` | Enable Go pprof profiling server |
|
||||
| `portainer-edge-id` | `--portainer-edge-id` | string | `""` | Portainer Edge Agent ID (from Portainer UI) |
|
||||
| `portainer-edge-key` | `--portainer-edge-key` | string | `""` | Portainer Edge Agent key (from Portainer UI) |
|
||||
| `portainer-edge-async` | `--portainer-edge-async` | bool | `false` | Enable async Portainer Edge communication |
|
||||
|
||||
**Note:** The `portainer-edge-*` fields generate CLI flags for KubeSolo's built-in Edge Agent support. This is an alternative to the `portainer.edge-agent` section, which creates a standalone Kubernetes manifest. Use one approach or the other, not both.
|
||||
|
||||
## Examples
|
||||
|
||||
See `cloud-init/examples/` for complete configuration examples:
|
||||
@@ -137,6 +161,7 @@ See `cloud-init/examples/` for complete configuration examples:
|
||||
- `static-ip.yaml` — Static IP configuration
|
||||
- `portainer-edge.yaml` — Portainer Edge Agent integration
|
||||
- `airgapped.yaml` — Air-gapped deployment with pre-loaded images
|
||||
- `full-config.yaml` — All supported KubeSolo parameters
|
||||
|
||||
## Building
|
||||
|
||||
|
||||
Reference in New Issue
Block a user