O módulo Config fornece configuração e validação abrangentes para a Plataforma Azion. Ele suporta applications, workloads, connectors, functions, storage, regras de firewall, configurações WAF, listas de rede, páginas personalizadas e operações de purge.
Saiba mais sobre as Azion LibrariesUso
Você pode configurar sua aplicação Azion de duas formas:
1. Usando JSDoc para informações de tipo:
/** @type {import('azion').AzionConfig} */const config = {...}
export default config;2. Usando a função defineConfig:
import { defineConfig } from 'azion/config';
const config = defineConfig({ build: { entry: './src/index.js', preset: 'javascript', }, // ... outras configurações});
export default config;Funções
defineConfig
Configura e valida as opções para Applications Azion.
Parâmetros:
| Parâmetro | Tipo | Descrição |
|---|---|---|
config | AzionConfig | O objeto de configuração para a Application Azion. |
Retorno:
| Tipo de Retorno | Descrição |
|---|---|
AzionConfig | O objeto de configuração validado. |
Exemplo:
import { defineConfig } from 'azion/config';
const config = defineConfig({ build: { entry: './src/index.js', preset: 'javascript', bundler: 'esbuild', }, applications: [ { name: 'my-app', active: true, cache: [ { name: 'my-cache', browser: { maxAgeSeconds: 3600 }, edge: { maxAgeSeconds: 7200 }, }, ], }, ], storage: [ { name: 'my-storage', workloadsAccess: 'read_write', dir: './storage', prefix: 'app-data', }, ],});
export default config;processConfig
Processa o objeto de configuração e retorna um manifesto.
Parâmetros:
| Parâmetro | Tipo | Descrição |
|---|---|---|
config | AzionConfig | O objeto de configuração. |
Retorno:
| Tipo de Retorno | Descrição |
|---|---|
object | O manifesto processado. |
Exemplo:
import { AzionConfig, processConfig } from 'azion';
const config: AzionConfig = {...};
const manifest = processConfig(config);console.log(manifest);convertJsonConfigToObject
Converte uma string de configuração JSON para um objeto AzionConfig.
Parâmetros:
| Parâmetro | Tipo | Descrição |
|---|---|---|
config | string | A string de configuração JSON. |
Retorno:
| Tipo de Retorno | Descrição |
|---|---|
AzionConfig | O objeto de configuração. |
Exemplo:
import { convertJsonConfigToObject } from 'azion';
const manifestJson = { workloads: [ { name: 'my-workload', active: true, domains: ['example.com'], }, ],};
const config = convertJsonConfigToObject(JSON.stringify(manifestJson));console.log(config);Seções de configuração
O objeto AzionConfig suporta as seguintes seções:
| Seção | Descrição |
|---|---|
build | Configuração de build (entry, preset, bundler). |
applications | Lista de applications com cache, regras e instâncias de function. |
workloads | Configurações de workload para gerenciamento de domínios. |
connectors | Connectors HTTP, storage ou live ingest. |
functions | Configurações de functions. |
storage | Configurações de buckets de storage. |
firewall | Regras e configurações de firewall. |
waf | Configurações de Web Application Firewall. |
networkList | Listas de rede (IP, ASN, países). |
customPages | Configurações de páginas de erro personalizadas. |
purge | URLs ou cache keys para purge. |
kv | Configurações de armazenamento Key-Value. |
Tipos
AzionConfig
O objeto de configuração principal.
| Propriedade | Tipo | Descrição |
|---|---|---|
build | AzionBuild (opcional) | Configuração de build. |
applications | AzionApplication[] (opcional) | Lista de applications. |
workloads | AzionWorkload[] (opcional) | Lista de workloads. |
connectors | AzionConnector[] (opcional) | Lista de connectors. |
functions | AzionFunction[] (opcional) | Lista de functions. |
storage | AzionStorage[] (opcional) | Lista de configurações de storage. |
firewall | AzionFirewall[] (opcional) | Lista de configurações de firewall. |
waf | AzionWaf[] (opcional) | Lista de configurações WAF. |
networkList | AzionNetworkList[] (opcional) | Lista de listas de rede. |
customPages | AzionCustomPages[] (opcional) | Lista de páginas personalizadas. |
purge | AzionPurge[] (opcional) | Lista de operações de purge. |
kv | AzionKV[] (opcional) | Lista de configurações KV. |
AzionBuild
Opções de configuração de build.
| Propriedade | Tipo | Descrição |
|---|---|---|
entry | string | string[] | Record<string, string> (opcional) | Arquivo(s) de entrada. |
preset | string | AzionBuildPreset (opcional) | Preset de build. |
bundler | 'esbuild' | 'webpack' (opcional) | Bundler a usar. Padrão: 'esbuild'. |
polyfills | boolean (opcional) | Incluir polyfills. |
extend | (context: T) => T (opcional) | Estender configuração do bundler. |
memoryFS | object (opcional) | Configuração de sistema de arquivos em memória. |
AzionApplication
Configuração de application.
| Propriedade | Tipo | Descrição |
|---|---|---|
name | string | Nome da application (1-250 caracteres). |
active | boolean (opcional) | Se está ativa. Padrão: true. |
debug | boolean (opcional) | Habilitar modo debug. Padrão: false. |
edgeCacheEnabled | boolean (opcional) | Habilitar edge cache. Padrão: true. |
functionsEnabled | boolean (opcional) | Habilitar functions. Padrão: false. |
applicationAcceleratorEnabled | boolean (opcional) | Habilitar acelerador. Padrão: false. |
imageProcessorEnabled | boolean (opcional) | Habilitar processador de imagem. Padrão: false. |
cache | AzionCache[] (opcional) | Configurações de cache. |
rules | AzionRules (opcional) | Regras de request/response. |
functionsInstances | FunctionInstance[] (opcional) | Instâncias de function. |
AzionWorkload
Configuração de workload para gerenciamento de domínios.
| Propriedade | Tipo | Descrição |
|---|---|---|
name | string | Nome do workload (1-100 caracteres). |
active | boolean (opcional) | Se está ativo. Padrão: true. |
infrastructure | 1 | 2 (opcional) | Tipo de infraestrutura. |
domains | string[] | Lista de domínios. |
workloadDomainAllowAccess | boolean (opcional) | Permitir acesso ao domínio. Padrão: true. |
tls | TLSConfig (opcional) | Configuração TLS. |
protocols | ProtocolConfig (opcional) | Configuração de protocolo. |
mtls | MTLSConfig (opcional) | Configuração de TLS mútuo. |
deployments | Deployment[] | Lista de deployments. |
AzionConnector
Configuração de connector.
| Propriedade | Tipo | Descrição |
|---|---|---|
name | string | Nome do connector (1-255 caracteres). |
active | boolean (opcional) | Se está ativo. Padrão: true. |
type | 'http' | 'storage' | 'live_ingest' | Tipo de connector. |
attributes | ConnectorAttributes | Atributos específicos do connector. |
AzionFunction
Configuração de function.
| Propriedade | Tipo | Descrição |
|---|---|---|
name | string | Nome da function (1-250 caracteres). |
path | string | Caminho para o arquivo da function. |
runtime | 'azion_js' (opcional) | Runtime. Padrão: 'azion_js'. |
defaultArgs | object (opcional) | Argumentos padrão. |
executionEnvironment | 'application' | 'firewall' (opcional) | Ambiente de execução. |
active | boolean (opcional) | Se está ativa. Padrão: true. |
bindings | FunctionBindings (opcional) | Bindings da function. |
AzionStorage
Configuração de storage.
| Propriedade | Tipo | Descrição |
|---|---|---|
name | string | Nome do storage (6-63 caracteres). |
dir | string | Caminho do diretório local. |
workloadsAccess | 'read_only' | 'read_write' | 'restricted' (opcional) | Permissões de acesso. |
prefix | string | Prefixo do storage. |
AzionCache
Configuração de cache.
| Propriedade | Tipo | Descrição |
|---|---|---|
name | string | Nome do cache (1-250 caracteres). |
stale | boolean (opcional) | Permitir conteúdo stale. |
queryStringSort | boolean (opcional) | Ordenar parâmetros de query string. |
methods | { post?: boolean; options?: boolean } (opcional) | Métodos HTTP para cache. |
browser | { maxAgeSeconds: number | string } (opcional) | Configurações de cache do browser. |
edge | { maxAgeSeconds: number | string } (opcional) | Configurações de cache edge. |
cacheByCookie | object (opcional) | Configurações de cache por cookie. |
cacheByQueryString | object (opcional) | Configurações de cache por query string. |
tieredCache | object (opcional) | Configurações de tiered cache. |
AzionFirewall
Configuração de firewall.
| Propriedade | Tipo | Descrição |
|---|---|---|
name | string | Nome do firewall. |
active | boolean (opcional) | Se está ativo. |
functions | boolean (opcional) | Habilitar functions. |
networkProtection | boolean (opcional) | Habilitar proteção de rede. |
waf | boolean (opcional) | Habilitar WAF. |
rules | AzionFirewallRule[] (opcional) | Regras de firewall. |
AzionWaf
Configuração WAF.
| Propriedade | Tipo | Descrição |
|---|---|---|
name | string | Nome do WAF (1-250 caracteres). |
productVersion | string (opcional) | Versão do produto. Padrão: '1.0'. |
engineSettings | WafEngineSettings | Configuração do engine WAF. |
AzionNetworkList
Configuração de lista de rede.
| Propriedade | Tipo | Descrição |
|---|---|---|
name | string | Nome da lista de rede (1-250 caracteres). |
type | 'ip_cidr' | 'asn' | 'countries' | Tipo da lista. |
items | string[] | Itens da lista (1-20000). |
active | boolean (opcional) | Se está ativa. Padrão: true. |
AzionPurge
Configuração de purge.
| Propriedade | Tipo | Descrição |
|---|---|---|
type | 'url' | 'cachekey' | 'wildcard' | Tipo de purge. |
items | string[] | URLs ou padrões para purge. |
layer | 'cache' | 'tiered_cache' (opcional) | Camada de cache. |
AzionKV
Configuração de armazenamento KV.
| Propriedade | Tipo | Descrição |
|---|---|---|
name | string | Nome do armazenamento KV (1-255 caracteres). |