Files, Template e o contexto raiz
Acesse arquivos incluídos e o escopo do ponto.
Files, Template e o contexto raiz é uma aula grátis de Helm Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Helm Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Helm Academy inclui 4 aulas no total.
O contexto raiz: o ponto
No início de um modelo, o ponto . é o contexto raiz que contém todos os objetos integrados: .Values, .Release, .Chart e outros.
O ponto pode mudar de escopo
Blocos como with e range vinculam novamente o ponto a um valor mais específico. Portanto, . nem sempre significa a raiz dentro de cada bloco.
Acessando a raiz com o cifrão
A variável $ sempre aponta para o contexto raiz original. Dentro de um range ou with, use $ para voltar a .Values ou .Release.
{{ range .Values.ports }}
release: {{ $.Release.Name }}
{{ end }}O objeto Files
.Files permite que os modelos leiam arquivos que não são modelos e que estejam incluídos no pacote, como um arquivo de configuração que você queira enviar dentro de um ConfigMap. 📄
Lendo um arquivo como texto
.Files.Get retorna o conteúdo de um arquivo como uma string. Passe o caminho relativo à raiz do pacote para incluí-lo no manifesto.
data:
app.conf: |
{{ .Files.Get "config/app.conf" | indent 4 }}Files tem limitações
.Files não pode ler tudo: templates/ e Chart.yaml são excluídos, e os padrões de .helmignore são ignorados durante o empacotamento.
Usando padrões para vários arquivos
.Files.Glob encontra vários arquivos por padrão, retornando um mapa que você pode percorrer com range para criar várias entradas de ConfigMap de uma só vez.
{{ range $path, $bytes := .Files.Glob "config/*" }}...{{ end }}Codificando o conteúdo dos arquivos
Dados binários ou secretos devem ser codificados em base64. Encadeie .Files.Get com b64enc para incorporá-los com segurança em um recurso Secret.
ca.crt: {{ .Files.Get "certs/ca.crt" | b64enc }}O objeto Template
O objeto .Template descreve o arquivo que está sendo renderizado. .Template.Name é seu caminho, útil em comentários e mensagens de erro.
# rendered from {{ .Template.Name }}BasePath aponta para os modelos
.Template.BasePath fornece o caminho do diretório de modelos do pacote que está sendo renderizado. Ele funciona em conjunto com .Template.Name para localizar o próprio arquivo.
Passando a raiz para auxiliares
Modelos nomeados só veem o contexto que você fornece a eles. Passar $ ou o ponto raiz garante que um auxiliar ainda possa acessar .Values e .Release.
{{ include "mychart.labels" $ }}Verificação rápida
Você está dentro de um laço de intervalo em que o ponto foi redefinido para um item da lista.
Recapitulação: arquivos e contexto raiz
Você aprendeu que o ponto é o contexto raiz, $ sempre o alcança, e .Files mais .Template permitem incorporar arquivos empacotados e localizar o modelo atual.
Perguntas Frequentes
A aula “Files, Template e o contexto raiz” é grátis?
Sim — o texto completo de “Files, Template e o contexto raiz” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Helm Academy, atualize para CoddyKit PRO. O curso de Helm Academy inclui 4 aulas no total.
O que vou aprender em “Files, Template e o contexto raiz”?
Acesse arquivos incluídos e o escopo do ponto. Você pratica Helm Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Helm Academy?
Nenhuma experiência prévia é necessária. Helm Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Files, Template e o contexto raiz”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Helm Academy?
Sim. Cada aula de Helm Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- O objeto Values e o acesso aninhado
- Metadados da release por meio de .Release
- Objetos Chart e Capabilities
- Files, Template e o contexto raiz