Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 10 additions & 6 deletions astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,10 @@ export default defineConfig({
label: 'Deploy OpenClaw (Marketplace, CLI)',
slug: 'tutorials/deploy-openclaw-marketplace-cli',
},
{
label: 'Manage ZCP with Terraform / OpenTofu',
slug: 'tutorials/manage-infrastructure-terraform',
},
],
},

Expand Down Expand Up @@ -422,11 +426,11 @@ export default defineConfig({
collapsed: true,
items: [
{ label: 'MongoDB 8.0', slug: 'public-cloud/marketplace/mongodb' },
{ label: 'MariaDB 11.4', slug: 'public-cloud/marketplace/mariadb' },
{ label: 'MySQL 8.4', slug: 'public-cloud/marketplace/mysql' },
{ label: 'PostgreSQL 17', slug: 'public-cloud/marketplace/postgresql' },
{ label: 'Valkey 9.0', slug: 'public-cloud/marketplace/valkey' },
{ label: 'Elasticsearch 8', slug: 'public-cloud/marketplace/elasticsearch' },
{ label: 'MariaDB 11.8', slug: 'public-cloud/marketplace/mariadb' },
{ label: 'MySQL', slug: 'public-cloud/marketplace/mysql' },
{ label: 'PostgreSQL', slug: 'public-cloud/marketplace/postgresql' },
{ label: 'Valkey 9.1', slug: 'public-cloud/marketplace/valkey' },
{ label: 'Elasticsearch 9', slug: 'public-cloud/marketplace/elasticsearch' },
{ label: 'InfluxDB 2', slug: 'public-cloud/marketplace/influxdb' },
],
},
Expand Down Expand Up @@ -459,7 +463,7 @@ export default defineConfig({
{
label: 'DevOps & Source Control',
collapsed: true,
items: [{ label: 'GitLab CE 18.11', slug: 'public-cloud/marketplace/gitlab' }],
items: [{ label: 'GitLab CE 19.1', slug: 'public-cloud/marketplace/gitlab' }],
},
{
label: 'Networking & VPN',
Expand Down
13 changes: 13 additions & 0 deletions public/icons/marketplace/headplane-dark.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed public/icons/marketplace/headplane.png
Binary file not shown.
13 changes: 13 additions & 0 deletions public/icons/marketplace/headplane.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
72 changes: 70 additions & 2 deletions src/content/docs/changelog/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,52 @@ One-click application images for compute instances.
The official command-line tool for the platform. The entries below mirror the CLI's
[`CHANGELOG.md`](https://github.com/zsoftly/zcp-cli/blob/main/CHANGELOG.md) on GitHub.

### v0.0.23: July 8, 2026

**`--wait` now reports the real instance state.** The platform's cached state sometimes lags minutes
behind reality, so `instance create/start/stop --wait` kept waiting on a VM already up. The CLI now
polls the live state endpoint, which reconciles with the hypervisor, and returns as soon as the VM
is running.

- **Corrected `instance delete --delete-public-ip` help**: the platform does not release the
auto-assigned public IP on delete yet (an API-side fix is in progress). The option, prompt, and
help now say so plainly. Release the address manually with `zcp ip release <ip-slug>` after
deleting.

### v0.0.22: July 7, 2026

**DNS records display and delete correctly.** The DNS service models records as record sets
addressed by name and type. `zcp dns show` and `record-create` now display record content
(multi-value sets included), and `dns record-delete` works with `--name` and `--type`. Record names
are relative: the CLI appends the zone for you.

- **`egress create` reports honestly** when the platform accepts a rule but never lists it, instead
of failing with a confusing lookup error.
- **Automated validation now covers the command reference**: a script checks all 264 examples
against the built CLI, and we rewrote six sections to match the real command trees.
- **L2 instances work, and `instance create` examples run as pasted**, contributed by first-time
community contributor [@cokerrd](https://github.com/cokerrd): the new `--is-public` option
unblocks `--network-type L2`, and the required `--network-plan` and `--storage-category` options
are now in every example.

### v0.0.21: July 2, 2026

**Profile defaults now apply to create commands.** With defaults configured through
`zcp profile add`, create and mutate commands no longer error asking for `--region`/`--project`. Set
them once. List and get commands already worked this way.

- **First-run guidance**: the installers print copy-paste setup for the production defaults
(`--region yul-1 --project default-9`), and the docs use them throughout.
- **We verify every example slug against the live catalog** (templates, plans, backup and load
balancer plans), so examples run as pasted.

### v0.0.20: June 30, 2026

**`zcp instance delete` requests release of the VM's auto-assigned public IP by default**, so no
address stays allocated and billed after the VM is gone. Pass `--delete-public-ip=false` to keep the
address. Manually acquired and source-NAT addresses are unaffected. See the v0.0.23 note: the
platform-side release is not active yet.

### v0.0.19: June 21, 2026

**Manage IAM from the CLI: sub-users, roles, and permissions.** Everything in the portal's Profile
Expand Down Expand Up @@ -227,6 +273,28 @@ consistent response format. A large set of command groups arrived:

## Terraform / OpenTofu provider

Manage ZCP infrastructure as code. The provider is in active development at
Manage ZCP infrastructure as code with the official provider, published as `zsoftly/zcp` on the
[OpenTofu registry](https://search.opentofu.org/provider/zsoftly/zcp) and the
[Terraform Registry](https://registry.terraform.io/providers/zsoftly/zcp). Source code lives at
[github.com/zsoftly/terraform-provider-zcp](https://github.com/zsoftly/terraform-provider-zcp).
Released versions will be listed here.

### v0.1.0: July 8, 2026

**First public release, live on both registries.** 38 resources and 12 data sources cover everything
the `zcp` CLI supports: instances, volumes, snapshots and backups, VPCs and networks, firewall and
egress rules, load balancers, auto-scaling, Kubernetes clusters, DNS, object storage, VPN, and
account governance. Every resource supports `terraform import`, and we sign every release.

```hcl
terraform {
required_providers {
zcp = {
source = "zsoftly/zcp"
version = "~> 0.1"
}
}
}
```

Set `ZCP_BEARER_TOKEN` in your environment, then run `terraform init` or `tofu init`. Generate the
token in the console under **Account → API Keys**.
80 changes: 77 additions & 3 deletions src/content/docs/fr/changelog/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,57 @@ Images d'applications en un clic pour les instances de calcul.
L'outil en ligne de commande officiel de la plateforme. Les entrées ci-dessous reflètent le
[`CHANGELOG.md`](https://github.com/zsoftly/zcp-cli/blob/main/CHANGELOG.md) du CLI sur GitHub.

### v0.0.23 : 8 juillet 2026

**`--wait` rapporte désormais l'état réel de l'instance.** L'état en cache de la plateforme accuse
parfois plusieurs minutes de retard sur la réalité, si bien que `instance create/start/stop --wait`
continuait d'attendre une VM déjà démarrée. Le CLI interroge maintenant le point de terminaison
d'état en direct, réconcilié avec l'hyperviseur, et rend la main dès que la VM est en marche.

- **Aide corrigée pour `instance delete --delete-public-ip`** : la plateforme ne libère pas encore
l'adresse IP publique attribuée automatiquement lors de la suppression (un correctif est en cours
côté API). L'option, l'invite et l'aide l'indiquent désormais clairement. Libérez l'adresse
manuellement avec `zcp ip release <ip-slug>` après la suppression.

### v0.0.22 : 7 juillet 2026

**Les enregistrements DNS s'affichent et se suppriment correctement.** Le service DNS modélise les
enregistrements comme des ensembles d'enregistrements adressés par nom et type. `zcp dns show` et
`record-create` affichent maintenant le contenu des enregistrements (ensembles à valeurs multiples
inclus), et `dns record-delete` fonctionne avec `--name` et `--type`. Les noms d'enregistrements
sont relatifs : le CLI ajoute la zone pour vous.

- **`egress create` rapporte honnêtement** lorsque la plateforme accepte une règle qui n'apparaît
jamais dans la liste des règles, au lieu d'échouer avec une erreur de recherche déroutante.
- **La validation automatisée couvre désormais la référence des commandes** : un script confronte
les 264 exemples au CLI compilé, et nous avons réécrit six sections selon les arborescences
réelles des commandes.
- **Les instances L2 fonctionnent et les exemples de `instance create` s'exécutent tels quels**,
contribution de [@cokerrd](https://github.com/cokerrd), qui signe ici sa première contribution
communautaire : la nouvelle option `--is-public` débloque `--network-type L2`, et les options
requises `--network-plan` et `--storage-category` figurent désormais dans chaque exemple.

### v0.0.21 : 2 juillet 2026

**Les valeurs par défaut du profil s'appliquent maintenant aux commandes de création.** Avec des
valeurs par défaut configurées via `zcp profile add`, les commandes de création et de modification
n'exigent plus `--region`/`--project`. Configurez-les une fois, comme le permettaient déjà les
commandes de liste et de lecture.

- **Accompagnement au premier lancement** : les installateurs affichent la configuration à
copier-coller pour les valeurs par défaut de production (`--region yul-1 --project default-9`),
reprises dans toute la documentation.
- **Nous confrontons chaque slug d'exemple au catalogue en production** (modèles, plans, plans de
sauvegarde et d'équilibreur de charge), donc les exemples s'exécutent tels quels.

### v0.0.20 : 30 juin 2026

**`zcp instance delete` demande par défaut la libération de l'adresse IP publique attribuée
automatiquement**, pour ne plus laisser d'adresses allouées et facturées après la suppression de la
VM. Passez `--delete-public-ip=false` pour conserver l'adresse. Les adresses acquises manuellement
et les adresses source-NAT ne sont pas touchées. Voir la note de la v0.0.23 : la libération côté
plateforme n'est pas encore active.

### v0.0.19 : 21 juin 2026

**Gérer l'IAM depuis la CLI : sous-utilisateurs, rôles et permissions.** Tout ce qui se trouve dans
Expand Down Expand Up @@ -254,6 +305,29 @@ arrivé :

## Fournisseur Terraform / OpenTofu

Gérez l'infrastructure ZCP comme du code. Le fournisseur est en développement actif sur
[github.com/zsoftly/terraform-provider-zcp](https://github.com/zsoftly/terraform-provider-zcp) ; les
versions publiées seront listées ici.
Gérez l'infrastructure ZCP comme du code avec le fournisseur officiel, publié sous `zsoftly/zcp` sur
le [registre OpenTofu](https://search.opentofu.org/provider/zsoftly/zcp) et le
[registre Terraform](https://registry.terraform.io/providers/zsoftly/zcp). Le code source se trouve
sur [github.com/zsoftly/terraform-provider-zcp](https://github.com/zsoftly/terraform-provider-zcp).

### v0.1.0 : 8 juillet 2026

**Première version publique, disponible sur les deux registres.** 38 ressources et 12 sources de
données couvrent tout ce que le CLI `zcp` prend en charge : instances, volumes, instantanés et
sauvegardes, VPC et réseaux, règles de pare-feu et de sortie, équilibreurs de charge, mise à
l'échelle automatique, grappes Kubernetes, DNS, stockage objet, VPN et gouvernance de compte. Chaque
ressource prend en charge `terraform import`, et nous signons chaque version publiée.

```hcl
terraform {
required_providers {
zcp = {
source = "zsoftly/zcp"
version = "~> 0.1"
}
}
}
```

Définissez `ZCP_BEARER_TOKEN` dans votre environnement, puis exécutez `terraform init` ou
`tofu init`. Générez le jeton dans la console sous **Compte → Clés API**.
2 changes: 1 addition & 1 deletion src/content/docs/fr/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ hero:
</div>
<div>
<p class="service-name">Terraform / OpenTofu</p>
<p class="service-desc">Gérez l'infrastructure ZCP comme du code. Fournisseur en développement sur github.com/zsoftly/terraform-provider-zcp.</p>
<p class="service-desc">Gérez l'infrastructure ZCP comme du code. Offert sous le nom zsoftly/zcp dans les registres Terraform et OpenTofu.</p>
</div>
</a>
<a href="/fr/changelog" class="devtool-card anim-5">
Expand Down
12 changes: 5 additions & 7 deletions src/content/docs/fr/public-cloud/api/quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -757,13 +757,11 @@ echo $body["message"] . "\n";

### Infrastructure comme code (IaC)

:::note

Un fournisseur **Terraform** ZSoftly sera bientôt disponible. Il permettra de gérer les machines
virtuelles, les réseaux et le stockage de manière déclarative. Des exemples de configuration seront
publiés ici.

:::
Le fournisseur officiel **Terraform / OpenTofu** gère les machines virtuelles, les réseaux,
Kubernetes, le DNS, le stockage et plus encore, de manière déclarative. Vous le trouvez sous
`zsoftly/zcp` dans le [registre Terraform](https://registry.terraform.io/providers/zsoftly/zcp) et
le [registre OpenTofu](https://search.opentofu.org/provider/zsoftly/zcp). Commencez par le
[tutoriel Terraform / OpenTofu](/tutorials/manage-infrastructure-terraform) (en anglais).

### Gestion de la configuration

Expand Down
Loading
Loading