> ## Documentation Index
> Fetch the complete documentation index at: https://docs.khal.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Cadastre-se, peça uma workstation e conecte

> Resgate seu convite, ganhe uma workstation real na nuvem e entre por SSH.

Para um novo FDE com um código de convite. Ao final, você estará conectado por SSH na sua própria máquina Ubuntu com sudo completo.

<Note>
  Gerar convites é tarefa de admin — veja [Gere um convite e aprove o acesso](/pt-BR/fde-start-here/access/admin-guide).
</Note>

## Antes de começar

* A CLI `khal` — veja [Instale seu toolchain de FDE](/pt-BR/fde-engineer/khal-cli).
* Um **código de convite** de uso único, vindo de um admin. Peça por um canal seguro.

<Steps>
  <Step title="Tenha uma chave SSH pronta">
    O `khal fde enroll` precisa da sua chave **pública** — nunca da privada.

    <CodeGroup>
      ```bash Verifique se já existe theme={null}
      ls -la ~/.ssh/id_ed25519.pub 2>/dev/null || echo "sem chave ainda"
      ```

      ```bash Gere uma theme={null}
      ssh-keygen -t ed25519 -C "voce@namastex.ai" -f ~/.ssh/id_ed25519 -N ""
      ```
    </CodeGroup>
  </Step>

  <Step title="Resgate seu convite">
    ```bash theme={null}
    khal fde enroll --invite <seu-codigo-de-convite> --target dev --ssh-key ~/.ssh/id_ed25519.pub
    ```

    * `--invite` é de **uso único**. Se disser "already used", peça um novo — não tente de novo.
    * `--target` é o rótulo de ambiente (`dev`/`hml`/`prod`); FDEs novos usam `dev`. Não é um hostname.
    * `--ssh-key` é a chave **pública** — é ela que vai parar na sua workstation.

    Sucesso move seu estado para `platform_enrollment_completed`.
  </Step>

  <Step title="Solicite sua workstation">
    <Tabs>
      <Tab title="Perfil padrão (recomendado)">
        ```bash theme={null}
        khal fde instance
        ```

        Usa o perfil padrão `engineer-standard`.
      </Tab>

      <Tab title="Provider explícito">
        ```bash theme={null}
        khal fde instance --provider kubevirt
        ```
      </Tab>
    </Tabs>

    É aqui que o acesso vira realidade: um worker em segundo plano clona a imagem `engineer-standard` (Ubuntu 24.04) numa VM KubeVirt real (não um container), e o cloud-init cria seu usuário, instala sua chave e conecta a máquina na Tailscale. O estado vai de `instance_requested` → `runtime_ready` — leva alguns minutos; acompanhe com `khal fde status`.
  </Step>

  <Step title="Aguarde a aprovação">
    O lease de SSH fica bloqueado pelo Deploy Ledger até um lead aprovar — isso é esperado, não é bug. Avise quem está te onboardando e aponte para o [guia do admin](/pt-BR/fde-start-here/access/admin-guide).
  </Step>

  <Step title="Conecte">
    <Tabs>
      <Tab title="Ver o plano antes">
        ```bash theme={null}
        khal fde ssh --dry-run
        ```
      </Tab>

      <Tab title="Conectar">
        ```bash theme={null}
        khal fde ssh
        ```

        Uma vez aprovado, imprime um `ssh <user>@<host>` pronto (o hostname Tailscale da sua workstation).
      </Tab>
    </Tabs>

    <Warning>Antes da aprovação, o `khal fde ssh` retorna um claro "not approved yet" — você está aguardando, não travado.</Warning>
  </Step>

  <Step title="Verifique que entrou">
    ```bash theme={null}
    whoami; hostname; sudo -v && echo "sudo ok"
    ```

    Seu próprio usuário, o hostname da workstation e `sudo` funcionando — uma máquina de dev de verdade, não um jump host compartilhado. Isso é acesso.
  </Step>
</Steps>

## A qualquer momento

```bash theme={null}
khal fde status
```

Mostra exatamente onde você está — antes, durante ou depois de qualquer passo.

## Próximos passos

<CardGroup cols={2}>
  <Card title="Instale seu toolchain de FDE" icon="terminal" href="/pt-BR/fde-engineer/khal-cli">
    Git, Node, Bun e as CLIs `khal`/`khaw`.
  </Card>

  <Card title="Walkthrough do Dia 0" icon="route" href="/pt-BR/fde-engineer/khal-cli">
    O que fazer assim que estiver na sua workstation.
  </Card>
</CardGroup>

<Accordion title="🤖 Prompt para colar no seu agente">
  ```text theme={null}
  TASK: Use `fde-start-here/access/engineer-guide.mdx` para guiar um novo FDE a obter acesso; rode verificações seguras primeiro, retorne evidências + bloqueios.
  SAFE FIRST COMMANDS: `khal fde status`, `khal fde ssh --dry-run`, `khal --version` (nenhum altera estado).
  MUTATING — confirme antes: `khal fde enroll` (consome o convite de uso único), `khal fde instance` (provisiona uma VM real).
  EVIDENCE: comando, exit status, saída sanitizada (sem códigos de convite ou hostnames crus), o que prova, próxima ação segura.
  ```
</Accordion>
