title: "Stack de Infraestrutura Nexus - OKE & Data Services" description: "Provisionamento automatizado de Clusters OKE (Nexus, Bus, O11y), Bancos de Dados e Vault." schemaVersion: 1.1.0 version: "20260302" locale: "pt_BR" variableGroups: - title: "Campos Escondidos" visible: false variables: - tenancy_ocid - region - postgresql_memory_in_gbs - postgresql_ocpu_count - title: "OKE Nexus" visible: true variables: - oke_nexus_enable - oke_nexus_cluster_compartment_id - oke_nexus_cluster_name - oke_nexus_vcn_compartment - oke_nexus_vcn_id - oke_nexus_subnet_api_cidr_block - oke_nexus_subnet_node_cidr_block - oke_nexus_subnet_lb_cidr_block - oke_nexus_subnet_pods_cidr_block - oke_nexus_node_shape - oke_nexus_node_count - oke_nexus_node_memory_gb - oke_nexus_node_ocpus - oke_nexus_show_advanced - oke_nexus_create_service_account - oke_nexus_api_endpoint_public - oke_nexus_enable_psql_access - oke_nexus_enable_redis_access - oke_nexus_enable_autonomous_json_access - oke_nexus_enable_metric_server - oke_nexus_enable_cert_manager - oke_nexus_enable_autoscaler - oke_nexus_autoscaler_min_nodes - oke_nexus_autoscaler_max_nodes - oke_nexus_autoscaler_down_delay_after_add - oke_nexus_autoscaler_down_unneeded_time - oke_nexus_autoscaler_down_unready_time - oke_nexus_autoscaler_skip_nodes_with_system_pods - title: "OKE Barramento" visible: true variables: - oke_bus_enable - oke_bus_cluster_compartment_id - oke_bus_cluster_name - oke_bus_vcn_compartment - oke_bus_vcn_id - oke_bus_subnet_api_cidr_block - oke_bus_subnet_node_cidr_block - oke_bus_subnet_lb_cidr_block - oke_bus_subnet_pods_cidr_block - oke_bus_node_shape - oke_bus_node_count - oke_bus_node_memory_gb - oke_bus_node_ocpus - oke_bus_show_advanced - oke_bus_create_service_account - oke_bus_api_endpoint_public - oke_bus_enable_psql_access - oke_bus_enable_redis_access - oke_bus_enable_autonomous_json_access - oke_bus_enable_metric_server - oke_bus_enable_cert_manager - oke_bus_enable_autoscaler - oke_bus_autoscaler_min_nodes - oke_bus_autoscaler_max_nodes - oke_bus_autoscaler_down_delay_after_add - oke_bus_autoscaler_down_unneeded_time - oke_bus_autoscaler_down_unready_time - oke_bus_autoscaler_skip_nodes_with_system_pods - title: "OKE Observabilidade" visible: true variables: - oke_o11y_enable - oke_o11y_cluster_compartment_id - oke_o11y_cluster_name - oke_o11y_vcn_compartment - oke_o11y_vcn_id - oke_o11y_subnet_api_cidr_block - oke_o11y_subnet_node_cidr_block - oke_o11y_subnet_lb_cidr_block - oke_o11y_subnet_pods_cidr_block - oke_o11y_node_shape - oke_o11y_node_count - oke_o11y_node_memory_gb - oke_o11y_node_ocpus - oke_o11y_show_advanced - oke_o11y_create_service_account - oke_o11y_api_endpoint_public - oke_o11y_enable_psql_access - oke_o11y_enable_redis_access - oke_o11y_enable_autonomous_json_access - oke_o11y_enable_metric_server - oke_o11y_enable_cert_manager - oke_o11y_enable_autoscaler - oke_o11y_autoscaler_min_nodes - oke_o11y_autoscaler_max_nodes - oke_o11y_autoscaler_down_delay_after_add - oke_o11y_autoscaler_down_unneeded_time - oke_o11y_autoscaler_down_unready_time - oke_o11y_autoscaler_skip_nodes_with_system_pods - title: "Object Storage - Bucket" visible: true variables: - bucket_enable - bucket_compartment - bucket_name - bucket_access_type - bucket_storage_tier - bucket_versioning - title: "Segurança & Vault" visible: true variables: - vault_enable - vault_compartment - vault_name - title: "Database: PostgreSQL" visible: true variables: - postgresql_enable - postgresql_compartment_id - postgresql_name - postgresql_version - postgresql_vcn_compartment - postgresql_vcn_id - postgresql_subnet_cidr_block - postgresql_instance_count - postgresql_shape - postgresql_ocpu_e5 - postgresql_ocpu_e6 - postgresql_ocpu_s3 - postgresql_memory_amd - postgresql_memory_s3 - title: "Cache: Redis" visible: true variables: - redis_enable - redis_compartment_id - redis_name - redis_vcn_compartment - redis_vcn_id - redis_subnet_cidr_block - redis_count_node - redis_node_memory_in_gbs - redis_software_version - title: "Database: Autonomous JSON" visible: true variables: - autonomous_json_enable - autonomous_json_compartment_id - autonomous_json_name - autonomous_json_vcn_compartment - autonomous_json_vcn_id - autonomous_json_subnet_cidr_block - autonomous_json_compute_model - autonomous_json_compute_count - autonomous_json_is_auto_scaling_enabled - autonomous_json_data_storage_size_in_tbs variables: # --- GERAL --- tenancy_ocid: type: string required: true title: "Tenancy OCID" region: type: string required: true title: "Região" # --- OKE NEXUS --- oke_nexus_enable: title: "Criar: Cluster OKE ?" description: "Ative para criar uma Cluster OKE." type: boolean oke_nexus_cluster_compartment_id: title: "Compartimento do OKE" description: "Compartimento onde o Cluster OKE sera criado." type: oci:identity:compartment:id required: true visible: ${oke_nexus_enable} oke_nexus_cluster_name: title: "Nome do Cluster" description: "O nome do cluster" type: string required: true visible: ${oke_nexus_enable} dependsOn: compartmentId: ${oke_nexus_cluster_compartment_id} # Network: VCN oke_nexus_vcn_compartment: title: "Selecione o compartmento da VCN do OKE" description: "Compartimento onde se encontra a VCN que sera usada para cria a subnet." type: oci:identity:compartment:id required: true visible: ${oke_nexus_enable} oke_nexus_vcn_id: title: "Select a VCN:" description: "VCN onde a subnet de banco de dados sera criada." type: oci:core:vcn:id required: true visible: ${oke_nexus_enable} dependsOn: compartmentId: ${oke_nexus_vcn_compartment} # Network: Subnets oke_nexus_subnet_api_cidr_block: title: "Subnet CIDR: API Endpoint" description: "Endereco de rede (CIDR) deve seguir o padrão x.x.x.x/y (Ex: 10.0.0.0/16)" type: string required: true pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(1[0-9]|2[0-9]|3[0-2]|[0-9]))$" visible: ${oke_nexus_enable} oke_nexus_subnet_node_cidr_block: title: "Subnet CIDR: Nodes" description: "Endereco de rede (CIDR) deve seguir o padrão x.x.x.x/y (Ex: 10.0.0.0/16)" type: string required: true pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(1[0-9]|2[0-9]|3[0-2]|[0-9]))$" visible: ${oke_nexus_enable} oke_nexus_subnet_lb_cidr_block: title: "Subnet CIDR: Loadbalancer" description: "Endereco de rede (CIDR) deve seguir o padrão x.x.x.x/y (Ex: 10.0.0.0/16)" type: string required: true pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(1[0-9]|2[0-9]|3[0-2]|[0-9]))$" visible: ${oke_nexus_enable} oke_nexus_subnet_pods_cidr_block: title: "Subnet CIDR: Pods" description: "Endereco de rede (CIDR) deve seguir o padrão x.x.x.x/y (Ex: 10.0.0.0/16)" type: string required: true pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(1[0-9]|2[0-9]|3[0-2]|[0-9]))$" visible: ${oke_nexus_enable} # Nodepool oke_nexus_node_count: title: "Nodepool: Quantidade de Worker Nodes" description: "o número de nós que devem estar no pool de nós." type: string default: 3 required: true visible: ${oke_nexus_enable} oke_nexus_node_shape: title: "Nodepool: Shape dos Worker Nodes" description: "O nome do formato dos nós no conjunto de nós." type: enum enum: - VM.Optimized3.Flex - VM.Standard.A1.Flex - VM.Standard.A2.Flex - VM.Standard.E3.Flex - VM.Standard.E4.Flex - VM.Standard.E5.Flex - VM.Standard.E6.Flex - VM.Standard3.Flex default: "VM.Standard.E5.Flex" required: true visible: ${oke_nexus_enable} oke_nexus_node_memory_gb: title: "Nodepool: Quantidade de memoria de cada Worker Nodes." description: "A quantidade total de memória disponível para cada nó, em gigabytes." type: string required: true default: 8 visible: ${oke_nexus_enable} oke_nexus_node_ocpus: title: "Nodepool: Quantidade de oCPU de cada Worker Nodes." description: "O número total de OCPUs disponíveis para cada nó no pool de nós. Veja aqui para mais detalhes." type: string required: true default: 1 visible: ${oke_nexus_enable} # Opcoes avancadas: oke_nexus_show_advanced: title: "Exibir opcoes avancadas" description: "Exibe opções avançada de configuração." type: boolean default: false visible: ${oke_nexus_enable} oke_nexus_create_service_account: title: "Criar Service Account para CI/CD?" description: "Cria automaticamente uma SA com permissão de cluster-admin e gera o token." type: boolean default: false visible: ${oke_nexus_show_advanced} oke_nexus_api_endpoint_public: title: "API endpoint Publico" description: "Permite acesso ao Cluster OKE pela internet." type: boolean default: false visible: ${oke_nexus_show_advanced} oke_nexus_enable_psql_access: title: "PostgeSQL: Pods precisam desse acesso?" description: "Libera acesso da rede de Pods ao servico PostgreSQL." type: boolean default: false visible: ${oke_nexus_show_advanced} oke_nexus_enable_redis_access: title: "Redis: Pods precisam desse acesso?" description: "Libera acesso da rede de Pods ao servico Cache Redis." type: boolean default: false visible: ${oke_nexus_show_advanced} oke_nexus_enable_autonomous_json_access: title: "Autonomous Json (ADJ): Pods precisam desse acesso?" description: "Libera acesso da rede de Pods ao servico Autonomous JSON (ADJ)." type: boolean default: false visible: ${oke_nexus_show_advanced} oke_nexus_enable_metric_server: title: "OKE Addon: Metric Server" description: "Coleta e agrega métricas de recursos (CPU e memória) de Kubelets em cada nó e as expõe por meio de API." type: boolean default: false visible: ${oke_nexus_show_advanced} oke_nexus_enable_cert_manager: title: "OKE Addon: Cert Manager" description: "O Cert-manager é um controlador nativo do Kubernetes para gerenciamento de certificados que automatiza a emissão e renovação de certificados X.509." type: boolean default: false visible: ${oke_nexus_show_advanced} oke_nexus_enable_autoscaler: title: "OKE Addon: Cluster Autoscaler" description: "Ajusta automaticamente o tamanho do cluster Kubernetes, adicionando ou removendo nós de trabalho com base na demanda de recursos." type: boolean default: false visible: ${oke_nexus_show_advanced} #Addon Cluster Autoscaler oke_nexus_autoscaler_min_nodes: title: "scalerMinNodes" description: "Número minimo de nós no pools de nós. O dimensionador automático do cluster não diminuirá o cluster abaixo desse número." type: number minimum: 1 maximum: 100 default: 1 visible: ${oke_nexus_enable_autoscaler} oke_nexus_autoscaler_max_nodes: title: "scalerMaxNode" description: "Número máximo de nós no pools de nós. O dimensionador automático do cluster não aumentará o cluster além desse número." type: number minimum: 1 maximum: 100 default: 3 visible: ${oke_nexus_enable_autoscaler} oke_nexus_autoscaler_down_delay_after_add: title: "scaleDownDelayAfterAdd" description: "Quanto tempo depois de aumentar essa escala, a avaliação é retomada. (Default:10m)" type: string default: "10m" visible: ${oke_nexus_enable_autoscaler} oke_nexus_autoscaler_down_unneeded_time: title: "scaleDownUnneededTime" description: "Quanto tempo um nó deve ser desnecessário antes de ser elegível para redução. (Default:10m)" type: string default: "10m" visible: ${oke_nexus_enable_autoscaler} oke_nexus_autoscaler_down_unready_time: title: "scaleDownUnreadyTime" description: "Quanto tempo um nó não pronto deve ser desnecessário antes de ser elegível para redução. (Default:20m)" type: string default: "20m" visible: ${oke_nexus_enable_autoscaler} oke_nexus_autoscaler_skip_nodes_with_system_pods: title: "skipNodesWithSystemPods" description: "Se true, o dimensionador automático do cluster nunca excluirá nós com pods do kube-system (exceto para DaemonSet ou pods de espelho). (Default:true)" type: boolean default: true visible: ${oke_nexus_enable_autoscaler} # --- OKE BARRAMENTO --- oke_bus_enable: title: "Criar: Cluster OKE ?" description: "Ative para criar uma Cluster OKE." type: boolean oke_bus_cluster_compartment_id: title: "Compartimento do OKE" description: "Compartimento onde o Cluster OKE sera criado." type: oci:identity:compartment:id required: true visible: ${oke_bus_enable} oke_bus_cluster_name: title: "Nome do Cluster" description: "O nome do cluster" type: string required: true visible: ${oke_bus_enable} dependsOn: compartmentId: ${oke_bus_cluster_compartment_id} # Network: VCN oke_bus_vcn_compartment: title: "Selecione o compartmento da VCN do OKE" description: "Compartimento onde se encontra a VCN que sera usada para cria a subnet." type: oci:identity:compartment:id required: true visible: ${oke_bus_enable} oke_bus_vcn_id: title: "Select a VCN:" description: "VCN onde a subnet de banco de dados sera criada." type: oci:core:vcn:id visible: ${oke_bus_enable} required: true dependsOn: compartmentId: ${oke_bus_vcn_compartment} # Network: Subnets oke_bus_subnet_api_cidr_block: title: "Subnet CIDR: API Endpoint" description: "Endereco de rede (CIDR) deve seguir o padrão x.x.x.x/y (Ex: 10.0.0.0/16)" type: string required: true pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(1[0-9]|2[0-9]|3[0-2]|[0-9]))$" visible: ${oke_bus_enable} oke_bus_subnet_node_cidr_block: title: "Subnet CIDR: Nodes" description: "Endereco de rede (CIDR) deve seguir o padrão x.x.x.x/y (Ex: 10.0.0.0/16)" type: string required: true pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(1[0-9]|2[0-9]|3[0-2]|[0-9]))$" visible: ${oke_bus_enable} oke_bus_subnet_lb_cidr_block: title: "Subnet CIDR: Loadbalancer" description: "Endereco de rede (CIDR) deve seguir o padrão x.x.x.x/y (Ex: 10.0.0.0/16)" type: string required: true pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(1[0-9]|2[0-9]|3[0-2]|[0-9]))$" visible: ${oke_bus_enable} oke_bus_subnet_pods_cidr_block: title: "Subnet CIDR: Pods" description: "Endereco de rede (CIDR) deve seguir o padrão x.x.x.x/y (Ex: 10.0.0.0/16)" type: string required: true pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(1[0-9]|2[0-9]|3[0-2]|[0-9]))$" visible: ${oke_bus_enable} # Nodepool oke_bus_node_count: title: "Nodepool: Quantidade de Worker Nodes" description: "o número de nós que devem estar no pool de nós." type: string default: 3 required: true visible: ${oke_bus_enable} oke_bus_node_shape: title: "Nodepool: Shape dos Worker Nodes" description: "O nome do formato dos nós no conjunto de nós." type: enum enum: - VM.Optimized3.Flex - VM.Standard.A1.Flex - VM.Standard.A2.Flex - VM.Standard.E3.Flex - VM.Standard.E4.Flex - VM.Standard.E5.Flex - VM.Standard.E6.Flex - VM.Standard3.Flex default: "VM.Standard.E5.Flex" required: true visible: ${oke_bus_enable} oke_bus_node_memory_gb: title: "Nodepool: Quantidade de memoria de cada Worker Nodes." description: "A quantidade total de memória disponível para cada nó, em gigabytes." type: string required: true default: 8 visible: ${oke_bus_enable} oke_bus_node_ocpus: title: "Nodepool: Quantidade de oCPU de cada Worker Nodes." description: "O número total de OCPUs disponíveis para cada nó no pool de nós. Veja aqui para mais detalhes." type: string required: true visible: ${oke_bus_enable} # Opcoes avancadas: oke_bus_show_advanced: title: "Exibir opcoes avancadas" description: "Exibe opções avançada de configuração." type: boolean default: false visible: ${oke_bus_enable} oke_bus_create_service_account: title: "Criar Service Account para CI/CD?" description: "Cria automaticamente uma SA com permissão de cluster-admin e gera o token." type: boolean default: false visible: ${oke_bus_show_advanced} oke_bus_api_endpoint_public: title: "API endpoint Publico" description: "Permite acesso ao Cluster OKE pela internet." type: boolean default: false visible: ${oke_bus_show_advanced} oke_bus_enable_psql_access: title: "PostgeSQL: Pods precisam desse acesso?" description: "Libera acesso da rede de Pods ao servico PostgreSQL." type: boolean default: false visible: ${oke_bus_show_advanced} oke_bus_enable_redis_access: title: "Redis: Pods precisam desse acesso?" description: "Libera acesso da rede de Pods ao servico Cache Redis." type: boolean default: false visible: ${oke_bus_show_advanced} oke_bus_enable_autonomous_json_access: title: "Autonomous Json (ADJ): Pods precisam desse acesso?" description: "Libera acesso da rede de Pods ao servico Autonomous JSON (ADJ)." type: boolean default: false visible: ${oke_bus_show_advanced} oke_bus_enable_metric_server: title: "OKE Addon: Metric Server" description: "Coleta e agrega métricas de recursos (CPU e memória) de Kubelets em cada nó e as expõe por meio de API." type: boolean default: false visible: ${oke_bus_show_advanced} oke_bus_enable_cert_manager: title: "OKE Addon: Cert Manager" description: "O Cert-manager é um controlador nativo do Kubernetes para gerenciamento de certificados que automatiza a emissão e renovação de certificados X.509." type: boolean default: false visible: ${oke_bus_show_advanced} oke_bus_enable_autoscaler: title: "OKE Addon: Cluster Autoscaler" description: "Ajusta automaticamente o tamanho do cluster Kubernetes, adicionando ou removendo nós de trabalho com base na demanda de recursos." type: boolean default: false visible: ${oke_bus_show_advanced} #Addon Cluster Autoscaler oke_bus_autoscaler_min_nodes: title: "scalerMinNodes" description: "Número minimo de nós no pools de nós. O dimensionador automático do cluster não diminuirá o cluster abaixo desse número." type: number minimum: 1 maximum: 100 default: 1 visible: ${oke_bus_enable_autoscaler} oke_bus_autoscaler_max_nodes: title: "scalerMaxNode" description: "Número máximo de nós no pools de nós. O dimensionador automático do cluster não aumentará o cluster além desse número." type: number minimum: 1 maximum: 100 default: 3 visible: ${oke_bus_enable_autoscaler} oke_bus_autoscaler_down_delay_after_add: title: "scaleDownDelayAfterAdd" description: "Quanto tempo depois de aumentar essa escala, a avaliação é retomada. (Default:10m)" type: string visible: ${oke_bus_enable_autoscaler} default: 10m oke_bus_autoscaler_down_unneeded_time: title: "scaleDownUnneededTime" description: "Quanto tempo um nó deve ser desnecessário antes de ser elegível para redução. (Default:10m)" type: string default: 10m visible: ${oke_bus_enable_autoscaler} oke_bus_autoscaler_down_unready_time: title: "scaleDownUnreadyTime" description: "Quanto tempo um nó não pronto deve ser desnecessário antes de ser elegível para redução. (Default:20m)" type: string default: 20m visible: ${oke_bus_enable_autoscaler} oke_bus_autoscaler_skip_nodes_with_system_pods: title: "skipNodesWithSystemPods" description: "Se true, o dimensionador automático do cluster nunca excluirá nós com pods do kube-system (exceto para DaemonSet ou pods de espelho). (Default:true)" type: boolean default: true visible: ${oke_bus_enable_autoscaler} # --- OKE OBSERVABILIDADE --- oke_o11y_enable: title: "Criar: Cluster OKE ?" description: "Ative para criar uma Cluster OKE." type: boolean # Nome oke_o11y_cluster_compartment_id: title: "Compartimento do OKE" description: "Compartimento onde o Cluster OKE sera criado." type: oci:identity:compartment:id required: true visible: ${oke_o11y_enable} oke_o11y_cluster_name: title: "Nome do Cluster" description: "O nome do cluster" type: string required: true visible: ${oke_o11y_enable} dependsOn: compartmentId: ${oke_o11y_cluster_compartment_id} # Network: VCN oke_o11y_vcn_compartment: title: "Selecione o compartmento da VCN do OKE" description: "Compartimento onde se encontra a VCN que sera usada para cria a subnet." type: oci:identity:compartment:id required: true visible: ${oke_o11y_enable} oke_o11y_vcn_id: title: "Select a VCN:" description: "VCN onde a subnet de banco de dados sera criada." type: oci:core:vcn:id required: true visible: ${oke_o11y_enable} dependsOn: compartmentId: ${oke_o11y_vcn_compartment} # Network: Subnets oke_o11y_subnet_api_cidr_block: title: "Subnet CIDR: API Endpoint" description: "Endereco de rede (CIDR) deve seguir o padrão x.x.x.x/y (Ex: 10.0.0.0/16)" type: string required: true pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(1[0-9]|2[0-9]|3[0-2]|[0-9]))$" visible: ${oke_o11y_enable} oke_o11y_subnet_node_cidr_block: title: "Subnet CIDR: Nodes" description: "Endereco de rede (CIDR) deve seguir o padrão x.x.x.x/y (Ex: 10.0.0.0/16)" type: string required: true pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(1[0-9]|2[0-9]|3[0-2]|[0-9]))$" visible: ${oke_o11y_enable} oke_o11y_subnet_lb_cidr_block: title: "Subnet CIDR: Loadbalancer" description: "Endereco de rede (CIDR) deve seguir o padrão x.x.x.x/y (Ex: 10.0.0.0/16)" type: string required: true pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(1[0-9]|2[0-9]|3[0-2]|[0-9]))$" visible: ${oke_o11y_enable} oke_o11y_subnet_pods_cidr_block: title: "Subnet CIDR: Pods" description: "Endereco de rede (CIDR) deve seguir o padrão x.x.x.x/y (Ex: 10.0.0.0/16)" type: string required: true pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(1[0-9]|2[0-9]|3[0-2]|[0-9]))$" visible: ${oke_o11y_enable} # Nodepool oke_o11y_node_count: title: "Nodepool: Quantidade de Worker Nodes" description: "o número de nós que devem estar no pool de nós." type: string default: 3 required: true visible: ${oke_o11y_enable} oke_o11y_node_shape: title: "Nodepool: Shape dos Worker Nodes" description: "O nome do formato dos nós no conjunto de nós." type: enum enum: - VM.Optimized3.Flex - VM.Standard.A1.Flex - VM.Standard.A2.Flex - VM.Standard.E3.Flex - VM.Standard.E4.Flex - VM.Standard.E5.Flex - VM.Standard.E6.Flex - VM.Standard3.Flex default: "VM.Standard.E5.Flex" required: true visible: ${oke_o11y_enable} oke_o11y_node_memory_gb: title: "Nodepool: Quantidade de memoria de cada Worker Nodes." description: "A quantidade total de memória disponível para cada nó, em gigabytes." type: string required: true default: 8 visible: ${oke_o11y_enable} oke_o11y_node_ocpus: title: "Nodepool: Quantidade de oCPU de cada Worker Nodes." description: "O número total de OCPUs disponíveis para cada nó no pool de nós. Veja aqui para mais detalhes." type: string required: true visible: ${oke_o11y_enable} # Opcoes avancadas: oke_o11y_show_advanced: title: "Exibir opcoes avancadas" description: "Exibe opções avançada de configuração." type: boolean default: false visible: ${oke_o11y_enable} oke_o11y_create_service_account: title: "Criar Service Account para CI/CD?" description: "Cria automaticamente uma SA com permissão de cluster-admin e gera o token." type: boolean default: false visible: ${oke_o11y_show_advanced} oke_o11y_api_endpoint_public: title: "API endpoint Publico" description: "Permite acesso ao Cluster OKE pela internet." type: boolean default: false visible: ${oke_o11y_show_advanced} oke_o11y_enable_psql_access: title: "PostgeSQL: Pods precisam desse acesso?" description: "Libera acesso da rede de Pods ao servico PostgreSQL." type: boolean default: false visible: ${oke_o11y_show_advanced} oke_o11y_enable_redis_access: title: "Redis: Pods precisam desse acesso?" description: "Libera acesso da rede de Pods ao servico Cache Redis." type: boolean default: false visible: ${oke_o11y_show_advanced} oke_o11y_enable_autonomous_json_access: title: "Autonomous Json (ADJ): Pods precisam desse acesso?" description: "Libera acesso da rede de Pods ao servico Autonomous JSON (ADJ)." type: boolean default: false visible: ${oke_o11y_show_advanced} oke_o11y_enable_metric_server: title: "OKE Addon: Metric Server" description: "Coleta e agrega métricas de recursos (CPU e memória) de Kubelets em cada nó e as expõe por meio de API." type: boolean default: false visible: ${oke_o11y_show_advanced} oke_o11y_enable_cert_manager: title: "OKE Addon: Cert Manager" description: "O Cert-manager é um controlador nativo do Kubernetes para gerenciamento de certificados que automatiza a emissão e renovação de certificados X.509." type: boolean default: false visible: ${oke_o11y_show_advanced} oke_o11y_enable_autoscaler: title: "OKE Addon: Cluster Autoscaler" description: "Ajusta automaticamente o tamanho do cluster Kubernetes, adicionando ou removendo nós de trabalho com base na demanda de recursos." type: boolean default: false visible: ${oke_o11y_show_advanced} #Addon Cluster Autoscaler oke_o11y_autoscaler_min_nodes: title: "scalerMinNodes" description: "Número minimo de nós no pools de nós. O dimensionador automático do cluster não diminuirá o cluster abaixo desse número." type: number minimum: 1 maximum: 100 default: 1 visible: ${oke_o11y_enable_autoscaler} oke_o11y_autoscaler_max_nodes: title: "scalerMaxNode" description: "Número máximo de nós no pools de nós. O dimensionador automático do cluster não aumentará o cluster além desse número." type: number minimum: 1 maximum: 100 default: 3 visible: ${oke_o11y_enable_autoscaler} oke_o11y_autoscaler_down_delay_after_add: title: "scaleDownDelayAfterAdd" description: "Quanto tempo depois de aumentar essa escala, a avaliação é retomada. (Default:10m)" type: string default: "10m" visible: ${oke_o11y_enable_autoscaler} oke_o11y_autoscaler_down_unneeded_time: title: "scaleDownUnneededTime" description: "Quanto tempo um nó deve ser desnecessário antes de ser elegível para redução.(Default:10m)" type: string default: "10m" visible: ${oke_o11y_enable_autoscaler} oke_o11y_autoscaler_down_unready_time: title: "scaleDownUnreadyTime" description: "Quanto tempo um nó não pronto deve ser desnecessário antes de ser elegível para redução. (Default:20m)" type: string default: "20m" visible: ${oke_o11y_enable_autoscaler} oke_o11y_autoscaler_skip_nodes_with_system_pods: title: "skipNodesWithSystemPods" description: "Se true, o dimensionador automático do cluster nunca excluirá nós com pods do kube-system (exceto para DaemonSet ou pods de espelho). (Default:true)" type: boolean default: true visible: ${oke_o11y_enable_autoscaler} # --- Object Storage - Bucket bucket_enable: title: "Criar: OCI Bucket?" description: "Cria um bucket para armazenamento de arquivos." type: boolean bucket_compartment: title: "Compartimento do Bucket" description: "Compartimento onde o Bucket sera criado." type: oci:identity:compartment:id required: true visible: ${bucket_enable} bucket_name: title: "Nome do Bucket" description: "O nome do balde. Os caracteres válidos são letras maiúsculas ou minúsculas, números, hífens, sublinhados e pontos." type: string required: true visible: ${bucket_enable} bucket_access_type: title: "Nivel de acesso ao bucket" description: "acesso 'NoPublicAccess', permite que apenas uma chamada autenticada acesse o bucket e seu conteúdo. Quando 'ObjectRead' está habilitado no bucket, o acesso público é permitido para as operações 'GetObject', 'HeadObject' e 'ListObjects'. Quando 'ObjectReadWithoutList' está habilitado no bucket, o acesso público é permitido para as operações 'GetObject' e 'HeadObject'." type: enum enum: - NoPublicAccess - ObjectRead - ObjectReadWithoutList default: "NoPublicAccess" required: true visible: ${bucket_enable} bucket_storage_tier: title: "Tipo de armazenamento" description: "O tipo de nível de armazenamento deste bucket." type: enum enum: - Standard - Archive default: "Standard" required: true visible: ${bucket_enable} bucket_versioning: title: "Versionamento de objetos" description: "Defina o status de versionamento no bucket." type: enum enum: - Enabled - Disabled default: "Disabled" required: true visible: ${bucket_enable} # --- VAULT --- vault_enable: title: "Criar: OCI Vault?" description: "Cria um Vault e uma Master Key para gerenciar segredos." type: boolean vault_compartment: title: "Compartimento do Vault" description: "Compartimento onde o Vault sera criado." type: oci:identity:compartment:id required: true visible: ${vault_enable} vault_name: title: "Nome do Vault" description: "Um nome de exibição amigável para o Vault." type: string required: true visible: ${vault_enable} # --- POSTGRESQL --- postgresql_enable: title: "Criar: PostgreSQL ?" description: "Ative para criar uma instancia PostgreSQL." type: boolean # Nome postgresql_compartment_id: title: "Compartimento do DB System" description: "Compartimento onde o Autonomous JSON sera criado." type: oci:identity:compartment:id required: true visible: ${postgresql_enable} postgresql_name: title: "Nome do DB System" description: "Um nome de exibição amigável para o sistema de banco de dados." type: string required: true visible: ${postgresql_enable} # Network postgresql_vcn_compartment: title: "Selecione o compartment da VCN" description: "Compartimento onde se encontra a VCN que sera usada para cria a subnet." type: oci:identity:compartment:id required: true visible: ${postgresql_enable} postgresql_vcn_id: title: "Selecione a VCN:" description: "VCN onde a subnet de banco de dados sera criada." type: oci:core:vcn:id required: true visible: ${postgresql_enable} dependsOn: compartmentId: ${postgresql_vcn_compartment} postgresql_subnet_cidr_block: title: "Subnet CIDR" description: "Endereco de rede (CIDR) deve seguir o padrão x.x.x.x/y (Ex: 10.0.0.0/16)" type: string required: true pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(1[0-9]|2[0-9]|3[0-2]|[0-9]))$" visible: ${postgresql_enable} # Dados do DBSystem postgresql_version: title: "Versao do PostgreSQL" description: "Versão do software do sistema de banco de dados" type: enum enum: - 14 - 15 - 16 default: 16 required: true visible: ${postgresql_enable} postgresql_instance_count: title: "Quantidade de instancias" description: "Número de instâncias de banco de dados (nós) a serem criadas no sistema de banco de dados." type: number minimum: 1 maximum: 100 default: 1 required: true visible: ${postgresql_enable} postgresql_shape: title: "Nome do shape" description: "O nome do 'shape' para o nó da instância do banco de dados." type: enum enum: - PostgreSQL.VM.Standard3.Flex - PostgreSQL.VM.Standard.E5.Flex - PostgreSQL.VM.Standard.E6.Flex default: "PostgreSQL.VM.Standard.E5.Flex" required: true visible: ${postgresql_enable} # --- SEÇÃO DE oCPU --- postgresql_ocpu_e5: title: "Quantidade de oCPU: E5.Flex" description: "Limites para E5.Flex: Mín 1, Máx 64" type: number minimum: 1 maximum: 64 default: 1 visible: and: - ${postgresql_enable} - eq: - ${postgresql_shape} - "PostgreSQL.VM.Standard.E5.Flex" postgresql_ocpu_e6: title: "Quantidade de oCPU: E6.Flex" description: "Limites para E6.Flex: Mín 1, Máx 126" type: number minimum: 1 maximum: 126 default: 1 visible: and: - ${postgresql_enable} - eq: - ${postgresql_shape} - "PostgreSQL.VM.Standard.E6.Flex" postgresql_ocpu_s3: title: "Quantidade de oCPU: Standard3.Flex" description: "Limites para Standard3.Flex: Mín 2, Máx 32" type: number minimum: 2 maximum: 32 default: 2 visible: and: - ${postgresql_enable} - eq: - ${postgresql_shape} - "PostgreSQL.VM.Standard3.Flex" # --- SEÇÃO DE MEMÓRIA --- postgresql_memory_amd: title: "Quantidade de Memória (GB): AMD (E5/E6)" description: "Limites para AMD (E5/E6): Mín 16GB, Máx 1024GB" type: number minimum: 16 maximum: 1024 default: 16 visible: and: - ${postgresql_enable} - or: - eq: - ${postgresql_shape} - "PostgreSQL.VM.Standard.E5.Flex" - eq: - ${postgresql_shape} - "PostgreSQL.VM.Standard.E6.Flex" postgresql_memory_s3: title: "Quantidade de Memória (GB): Standard3" description: "Limites para Intel (Standard3): Mín 32GB, Máx 512GB" type: number minimum: 32 maximum: 512 default: 32 visible: and: - ${postgresql_enable} - eq: - ${postgresql_shape} - "PostgreSQL.VM.Standard3.Flex" # --- REDIS --- redis_enable: title: "Criar: OCI Cache (Redis) ?" description: "Ative para criar uma instancia Redis." type: boolean # Nome redis_compartment_id: title: "Compartimento do Redis" description: "Compartimento onde o Autonomous JSON sera criado." type: oci:identity:compartment:id required: true visible: ${redis_enable} redis_name: title: "Nome do Cluster Redis" description: "Um nome fácil de usar. Não precisa ser único e pode ser alterado." type: string required: true visible: ${redis_enable} # Network redis_vcn_compartment: title: "Selecione o compartment da VCN" description: "Compartimento onde se encontra a VCN que sera usada para cria a subnet." type: oci:identity:compartment:id required: true visible: ${redis_enable} redis_vcn_id: title: "Selecione a VCN" description: "VCN onde a subnet de banco de dados sera criada." type: oci:core:vcn:id required: true visible: ${redis_enable} dependsOn: compartmentId: ${redis_vcn_compartment} redis_subnet_cidr_block: title: "Subnet CIDR" description: "Endereco de rede (CIDR) deve seguir o padrão x.x.x.x/y (Ex: 10.0.0.0/16)" type: string required: true pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(1[0-9]|2[0-9]|3[0-2]|[0-9]))$" visible: ${redis_enable} # Cache system redis_software_version: title: "Versao do Redis" description: "A versão do mecanismo de cache do Oracle Cloud Infrastructure que o cluster está executando." type: enum enum: - REDIS_7_0 - VALKEY_7_2 default: "VALKEY_7_2" required: true visible: ${redis_enable} redis_count_node: title: "Quantidade de nodes" description: "Quantidade de nodes associada ao cluster." type: number minimum: 1 maximum: 100 default: 1 required: true visible: ${redis_enable} redis_node_memory_in_gbs: title: "Quantidade de Memoria" description: "A quantidade de memória alocada aos nós do cluster, em gigabytes." type: number minimum: 1 maximum: 100 default: 16 required: true visible: ${redis_enable} # --- Autonomous JSON --- autonomous_json_enable: title: "Criar: Autonomous Database JSON (ADJ) ?" description: "Ative para criar uma instancia Autonomous Database JSON (ADJ)." type: boolean # Nome autonomous_json_compartment_id: title: "Compartimento do Autonomous JSON" description: "Compartimento onde o Autonomous JSON sera criado." type: oci:identity:compartment:id required: true visible: ${autonomous_json_enable} autonomous_json_name: title: "Nome do Autonomous JSON" description: "Um nome fácil de usar para a conexão." type: string visible: ${autonomous_json_enable} # Network autonomous_json_vcn_compartment: title: "Selecione o compartment da VCN" description: "Compartimento onde se encontra a VCN que sera usada para cria a subnet." type: oci:identity:compartment:id required: true visible: ${autonomous_json_enable} autonomous_json_vcn_id: title: "Selecione a VCN:" description: "VCN onde a subnet de banco de dados sera criada." type: oci:core:vcn:id required: true visible: ${autonomous_json_enable} dependsOn: compartmentId: ${redis_vcn_compartment} autonomous_json_subnet_cidr_block: title: "Subnet CIDR" description: "Endereco de rede (CIDR) deve seguir o padrão x.x.x.x/y (Ex: 10.0.0.0/16)" type: string required: true pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(1[0-9]|2[0-9]|3[0-2]|[0-9]))$" visible: ${autonomous_json_enable} # DB System autonomous_json_compute_model: title: "Modelo de computação" description: "O modelo de computação do Banco de Dados de IA Autônoma. O modelo de computação ECPU é o recomendado, enquanto o modelo OCPU é legado." type: enum enum: - ECPU - OCPU default: "ECPU" required: true visible: ${autonomous_json_enable} autonomous_json_compute_count: title: "Quantidade de CPUs" description: "A quantidade de poder computacional (CPUs) disponível para o banco de dados." type: number minimum: 2 maximum: 100 default: 2 required: true visible: ${autonomous_json_enable} autonomous_json_is_auto_scaling_enabled: title: "CPU Auto Scaling" description: "Indica se o dimensionamento automático está ativado para a quantidade de núcleos da CPU do Banco de Dados de IA Autônoma." type: boolean default: true required: true visible: ${autonomous_json_enable} autonomous_json_data_storage_size_in_tbs: title: "Quantidade de armazenamento em uso para dados de usuários e sistemas, em terabytes (TB)." description: "" type: number minimum: 1 maximum: 100 required: true visible: ${autonomous_json_enable}