Dados do usuário
Ao provisionamento um servidor no Equinix Metal™, você tem a opção de incluir Dados do Usuário, que podem ser usados para executar várias tarefas de automação depois que o servidor estiver pronto, como executar scripts comuns, instalar pacotes ou acionar outros processos de configuração mais avançados.
Utilização
Os dados de usuário do Equinix Metal são baseados no [projeto de código aberto cloudbase-init e suportam oficialmente dois formatos de dados de usuário .
Scripts de dados do usuário
Os scripts servem para executar scripts de shell e começam com #! para [shell do Linux ou #ps1 para [Windows Powershell.
- Debian/Ubuntu
- Windows
#!/bin/bash
export DEBIAN_FRONTEND=noninteractive
apt-get update && apt-get upgrade -y
apt-get install nginx -y
#ps1
New-Item C:/Users/Admin test.txt
Set-Content C:/Users/Admin/test.txt "Hello world"
$password = ConvertTo-SecureString "P@55w0rd!" -AsPlainText -Force
New-LocalUser -Name "user01" -Password $password
Dados de configuração da nuvem
Os dados de configuração da nuvem (https://cloudbase-init.readthedocs.io/en/latest/userdata.html#cloud-config) devem usar sintaxe YAML válida e começar com #cloud-config.
#cloud-config
package_upgrade: true
packages:
- nginx
O suporte para formatos diferentes de #!<script> e #cloud-config é experimental.
Provisionamento com dados do usuário
- Console
- CLI
- API
Ao provisionamento um servidor a partir do console Metal, adicione os Dados do Usuário expandindo as Configurações Opcionais. > Aba Dados do usuário.

Cole seu script no campo. Clique em Implantar agora. O script será lido e executado durante o processo de provisionamento do servidor.
Ao provisionamento um servidor a partir da CLI, use o comando metal device create e inclua seu script de dados do usuário com -u, --userdata ou inclua o caminho para um arquivo que contenha seu script de dados do usuário em sua máquina local com
--userdata-file.
metal device create --project-id <project_UUID> --plan <server_type> --metro <metro_code> --operating-system <os_code> --userdata-file <local_file_path>
Ao provisionamento na API, envie uma solicitar POST para o endpoint projects/{id}/devices e inclua seu script de dados do usuário com o parâmetro "userdata" no corpo da solicitar.
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/projects/{id}/devices" \
-d '{
"metro": "<metro_code>",
"plan": "<server_type>",
"operating_system": "<os_code>"
"userdata": <string>
}'
Dependendo do tamanho do seu script, aguarde algum tempo para que o processo de provisionamento do servidor seja executado depois que você vir o servidor como "Ativo".
Gerenciando dados do usuário
- Console
- CLI
- API
Os dados do usuário de um servidor estão disponíveis na aba Configurações do servidor, em Dados do Usuário.

Para recuperar os dados do usuário de um servidor a partir da CLI, use o comando metal dispositivo get, especificando com a flag -o, --output para recuperar a saída json completa, que incluirá os dados do usuário no campo "userdata".
metal device get -i <device_id> -o json
Para recuperar os dados do usuário de um servidor da API, envie uma solicitar GET para o endpoint /devices/{id}/userdata.
curl -X GET -H 'X-Auth-Token: <API_TOKEN>' https://api.equinix.com/metal/v1/devices/{id}/userdata
Você também pode acesso os dados do usuário do servidor através do endpoint de metadados. Conecte-se ao servidor via SSH e envie uma solicitar para https://metadata.platformequinix.com/userdata.
Verificando dados do usuário no servidor
Para verificar os dados do usuário armazenados em seu servidor, verifique-os em /var/lib/cloud/instance/user-data.txt.
Os registros do servidor para dados do usuário estão disponíveis em /var/log/cloud-init.log e /var/log/cloud-init-output.log.
Adicionando dados do usuário após o provisionamento
Durante o provisionamento, os dados do usuário são executados na primeira inicialização do servidor. Você pode adicionar dados de usuário a um servidor já provisionado, mas primeiro você deve reinstalar o servidor para executar os novos dados de usuário .
A reinstalação é uma operação disruptiva e tem opções que incluem a exclusão de dados. Prossiga com cautela.
- Console
- CLI
- API
Atualize o campo de dados do usuário na guia Configurações do servidor, em Dados do Usuário.

Clique em Salvar. Os novos dados do usuário serão gravados no servidor e aparecerão imediatamente nos metadados do servidor, mas não serão executados até que você reinstale o servidor.
Para atualizar os dados do usuário, use o comando metal device update e inclua seu script de dados de usuário atualizado com -u, --userdata ou inclua o caminho para um arquivo que contém seu script de dados de usuário atualizado em sua máquina local com --userdata-file.
metal device update --project-id <project_UUID> --plan <server_type> --metro <metro_code> --operating-system <os_code> --userdata-file <local_file_path>
Os novos dados do usuário serão gravados no servidor e aparecerão nos metadados do servidor imediatamente, mas não serão executados até que você execute uma reinstalação do servidor.
Ao provisionamento na API, envie uma solicitar PUT para o endpoint projects/{id}/devices e inclua seu script de dados de usuário atualizado com o parâmetro "userdata" no corpo da solicitar.
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/projects/{id}/devices" \
-d '{
"userdata": <string>
}'
Os novos dados do usuário serão gravados no servidor e aparecerão nos metadados do servidor imediatamente, mas não serão executados até que você execute uma reinstalação do servidor.