1extern crate self as caixa_core;
15
16pub mod aplicacao;
17pub mod behavior;
18pub mod dep;
19pub mod dialeto;
20pub mod kind;
21pub mod layout;
22pub mod limits;
23pub mod manifest;
24pub mod render;
25pub mod supervisor;
26pub mod upgrade;
27pub mod version;
28
29pub use aplicacao::{
30 AplicacaoError, AplicacaoSpec, CircuitBreaker, DEFAULT_SERVICO_PORT, Entrada, Membro,
31 MeshPolicy, PLACEMENT_ESTRATEGIA_DEFAULT, POLICY_BREAKER_MAX_FAILURES_MAX,
32 POLICY_BREAKER_WINDOW_MAX, POLICY_RATE_LIMIT_MAX, POLICY_RETRIES_MAX, POLICY_TIMEOUT_MAX,
33 Placement, PlacementStrategy, RateLimit, RateLimitUnit, SERVICO_PORT_MIN, WitContract,
34 WitTarget, wit_shape_is_capability, wit_shape_is_http, wit_shape_is_pubsub, wit_shape_is_store,
35 wit_shape_matches,
36};
37pub use behavior::{BehaviorError, BehaviorSpec};
38pub use dep::{Dep, DepError, DepList, DepSource};
39pub use dialeto::{CaixaDialeto, DialetoError, classify as classify_dialeto};
40pub use kind::CaixaKind;
41pub use layout::{LayoutError, LayoutInvariants, StandardLayout};
42pub use limits::{
43 LIMITS_CPU_MILLICORES_MAX, LIMITS_FUEL_MAX, LIMITS_MEMORY_WASM32_MAX_BYTES,
44 LIMITS_MEMORY_WASM32_PAGE_BYTES, LIMITS_WALL_CLOCK_MAX, LimitsError, LimitsSpec,
45};
46pub use manifest::{CAIXA_LICENCA_DEFAULT, Caixa, LeituraError, ManifestError};
47pub use render::{
48 CAIXA_KEY_DEPS, CAIXA_KEY_DEPS_DEV, CAIXA_KIND_LABEL_ACAO, CAIXA_KIND_LABEL_APLICACAO,
49 CAIXA_KIND_LABEL_BIBLIOTECA, CAIXA_KIND_LABEL_BINARIO, CAIXA_KIND_LABEL_SERVICO,
50 CAIXA_KIND_LABEL_SUPERVISOR, CARGO_FEATURE_NAME_MAX_LEN, CILIUM_API_VERSION,
51 CILIUM_AUTH_MODE_DISABLED, CILIUM_AUTH_MODE_REQUIRED, CILIUM_KEY_AUTHENTICATION,
52 CILIUM_KEY_ENDPOINT_SELECTOR, CILIUM_KEY_FROM_ENDPOINTS, CILIUM_KEY_HTTP, CILIUM_KEY_INGRESS,
53 CILIUM_KEY_MODE, CILIUM_KEY_PATH, CILIUM_KEY_PORTS, CILIUM_KEY_TO_PORTS,
54 CILIUM_KIND_NETWORK_POLICY, CIRCUIT_BREAKER_KEY_MAX_FAILURES, CIRCUIT_BREAKER_KEY_WINDOW,
55 CLUSTER_BUNDLE_LAREIRA_ENABLED_DEFAULT, COMPUTEUNIT_MODULE_KEY_SOURCE,
56 COMPUTEUNIT_SPEC_KEY_CAPABILITIES, COMPUTEUNIT_SPEC_KEY_MODULE, COMPUTEUNIT_SPEC_KEY_TRIGGER,
57 COMPUTEUNIT_YAML_SUFFIX, CONTRATO_EDGE_LABEL_SEPARATOR, CONTRATO_KEY_DE, CONTRATO_KEY_PARA,
58 CONTRATO_KEY_WIT, CiDecomposeFailure, DEFAULT_APLICACAO_INSTALL_TIMEOUT,
59 DEFAULT_FLUX_CHART_SOURCE_SUBPATH, DEFAULT_FLUX_KUSTOMIZATION_TIMEOUT,
60 DEFAULT_FLUX_RECONCILE_INTERVAL, DEFAULT_FLUX_SYSTEM_NAMESPACE, DEFAULT_GATEWAY_CLASS_NAME,
61 DEFAULT_LIBRARY_NAME, DEFAULT_LIBRARY_REPO, DEFAULT_LIBRARY_VERSION, DEFAULT_NAMESPACE,
62 DEP_AUTHOR_KEY_DEPS, DEP_AUTHOR_KEY_DEPS_DEV, DEP_SOURCE_KEY_TIPO, DEP_SOURCE_TIPO_GIT,
63 DEP_SOURCE_TIPO_PATH, DNS_1123_LABEL_MAX_LEN, ENTRADA_KEY_HOST, ENTRADA_KEY_PARA,
64 ENTRADA_KEY_PATHS, ENTRADA_KEY_PORT, FLEET_PROGRAMS_KEY_APLICACAO, FLEET_PROGRAMS_KEY_NAME,
65 FLEET_PROGRAMS_KEY_PROGRAMS, FLEET_PROGRAMS_KEY_VERSAO, FLUX_GITREPOSITORY_API_VERSION,
66 FLUX_GITREPOSITORY_KEY_REF, FLUX_GITREPOSITORY_KEY_URL, FLUX_GITREPOSITORY_REF_KEY_BRANCH,
67 FLUX_GITREPOSITORY_REF_KEY_COMMIT, FLUX_GITREPOSITORY_REF_KEY_TAG,
68 FLUX_GITREPOSITORY_YAML_FILENAME, FLUX_HELMCHART_TEMPLATE_KEY_CHART,
69 FLUX_HELMRELEASE_API_VERSION, FLUX_HELMRELEASE_CREATE_NAMESPACE_DEFAULT,
70 FLUX_HELMRELEASE_KEY_CREATE_NAMESPACE, FLUX_HELMRELEASE_KEY_INSTALL,
71 FLUX_HELMRELEASE_KEY_REMEDIATE_LAST_FAILURE, FLUX_HELMRELEASE_KEY_REMEDIATION,
72 FLUX_HELMRELEASE_KEY_RETRIES, FLUX_HELMRELEASE_KEY_UPGRADE,
73 FLUX_HELMRELEASE_REMEDIATE_LAST_FAILURE_DEFAULT, FLUX_HELMRELEASE_REMEDIATION_RETRIES_DEFAULT,
74 FLUX_HELMRELEASE_YAML_FILENAME, FLUX_KEY_CHART, FLUX_KEY_HEALTH_CHECKS, FLUX_KEY_INTERVAL,
75 FLUX_KEY_SOURCE_REF, FLUX_KEY_VALUES, FLUX_KIND_GIT_REPOSITORY, FLUX_KIND_HELM_RELEASE,
76 FLUX_KIND_KUSTOMIZATION, FLUX_KUSTOMIZATION_API_VERSION, FLUX_KUSTOMIZATION_KEY_PATH,
77 FLUX_KUSTOMIZATION_KEY_PRUNE, FLUX_KUSTOMIZATION_KEY_TIMEOUT, FLUX_KUSTOMIZATION_PRUNE_DEFAULT,
78 FLUX_KUSTOMIZATION_YAML_FILENAME, GATEWAY_API_API_VERSION,
79 GATEWAY_API_DEFAULT_HTTP_LISTENER_NAME, GATEWAY_API_DEFAULT_HTTP_LISTENER_PORT,
80 GATEWAY_API_DEFAULT_HTTP_ROUTE_PATH, GATEWAY_API_HOSTNAME_MAX_LEN,
81 GATEWAY_API_HTTP_PATH_MAX_LEN, GATEWAY_API_KEY_ATTEMPTS, GATEWAY_API_KEY_BACKEND_REFS,
82 GATEWAY_API_KEY_GATEWAY_CLASS_NAME, GATEWAY_API_KEY_HOSTNAME, GATEWAY_API_KEY_HOSTNAMES,
83 GATEWAY_API_KEY_LISTENERS, GATEWAY_API_KEY_MATCHES, GATEWAY_API_KEY_NAME,
84 GATEWAY_API_KEY_PARENT_REFS, GATEWAY_API_KEY_PATH, GATEWAY_API_KEY_REQUEST,
85 GATEWAY_API_KEY_RETRY, GATEWAY_API_KEY_SECTION_NAME, GATEWAY_API_KEY_TIMEOUTS,
86 GATEWAY_API_KEY_VALUE, GATEWAY_API_KIND_GATEWAY, GATEWAY_API_KIND_HTTP_ROUTE,
87 GATEWAY_API_PATH_MATCH_TYPE_PATH_PREFIX, GATEWAY_API_PROTOCOL_HTTP, GIT_OID_SHA1_LEN,
88 GIT_OID_SHA256_LEN, GIT_REF_NAME_MAX_LEN, GIT_REPO_URL_MAX_LEN, HELM_CHART_API_VERSION,
89 HELM_CHART_DEPENDENCY_KEY_ALIAS, HELM_CHART_DEPENDENCY_KEY_NAME,
90 HELM_CHART_DEPENDENCY_KEY_REPOSITORY, HELM_CHART_DEPENDENCY_KEY_VERSION,
91 HELM_CHART_KEY_API_VERSION, HELM_CHART_KEY_APP_VERSION, HELM_CHART_KEY_DEPENDENCIES,
92 HELM_CHART_KEY_TYPE, HELM_CHART_README_FILENAME, HELM_CHART_TYPE_APPLICATION,
93 HELM_CHART_TYPE_LIBRARY, HELM_CHART_YAML_FILENAME, HELM_VALUES_KEY_ENABLED,
94 HELM_VALUES_YAML_FILENAME, KUBE_KEY_API_VERSION, KUBE_KEY_KIND, KUBE_KEY_LABELS,
95 KUBE_KEY_MATCH_LABELS, KUBE_KEY_METADATA, KUBE_KEY_NAME, KUBE_KEY_NAMESPACE, KUBE_KEY_PORT,
96 KUBE_KEY_PROTOCOL, KUBE_KEY_RULES, KUBE_KEY_SPEC, KUBE_KEY_TYPE, KUBE_PROTOCOL_TCP,
97 KindMismatch, KubeReceiver, LABEL_APLICACAO, LABEL_CONTRATO, LABEL_PROGRAM,
98 LAREIRA_CHART_KEYWORDS, LAREIRA_CHART_NAME_NOME_MAX_LEN, LAREIRA_CHART_NAME_PREFIX,
99 LAYOUT_DIR_EXE, LAYOUT_DIR_LIB, LAYOUT_DIR_SERVICOS,
100 LAYOUT_MISSING_ENTRY_KIND_BEHAVIOR_CALLBACK, LAYOUT_MISSING_ENTRY_KIND_BIBLIOTECA,
101 LAYOUT_MISSING_ENTRY_KIND_EXE, LAYOUT_MISSING_ENTRY_KIND_SERVICO,
102 LAYOUT_MISSING_ENTRY_KIND_UPGRADE_SCRIPT, LISP_SOURCE_EXTENSION, M2_AUTHOR_KEY_BEHAVIOR,
103 M2_AUTHOR_KEY_LIMITS, M2_AUTHOR_KEY_UPGRADE_FROM, M2_BEHAVIOR_AUTHOR_KEY_ON_CALL,
104 M2_BEHAVIOR_AUTHOR_KEY_ON_CAST, M2_BEHAVIOR_AUTHOR_KEY_ON_INFO, M2_BEHAVIOR_AUTHOR_KEY_ON_INIT,
105 M2_BEHAVIOR_AUTHOR_KEY_ON_STATE_CHANGE, M2_BEHAVIOR_AUTHOR_KEY_ON_TERMINATE,
106 M2_BEHAVIOR_KEY_ON_CALL, M2_BEHAVIOR_KEY_ON_CAST, M2_BEHAVIOR_KEY_ON_INFO,
107 M2_BEHAVIOR_KEY_ON_INIT, M2_BEHAVIOR_KEY_ON_STATE_CHANGE, M2_BEHAVIOR_KEY_ON_TERMINATE,
108 M2_KEY_BEHAVIOR, M2_KEY_LIMITS, M2_KEY_UPGRADE_FROM, M2_LIMITS_KEY_CPU, M2_LIMITS_KEY_FUEL,
109 M2_LIMITS_KEY_MEMORY, M2_LIMITS_KEY_WALL_CLOCK, M2_UPGRADE_FROM_KEY_FROM,
110 M2_UPGRADE_FROM_KEY_INSTRUCTIONS, M2_UPGRADE_INSTRUCTION_FIELD_KEY_MODULE,
111 M2_UPGRADE_INSTRUCTION_FIELD_KEY_SCRIPT, M2_UPGRADE_INSTRUCTION_KEY_KIND,
112 M2_UPGRADE_INSTRUCTION_KIND_LOAD_MODULE, M2_UPGRADE_INSTRUCTION_KIND_PURGE,
113 M2_UPGRADE_INSTRUCTION_KIND_RESTART, M2_UPGRADE_INSTRUCTION_KIND_SOFT_PURGE,
114 M2_UPGRADE_INSTRUCTION_KIND_STATE_CHANGE, M3_AUTHOR_KEY_CONTRATOS, M3_AUTHOR_KEY_ENTRADA,
115 M3_AUTHOR_KEY_MEMBROS, M3_AUTHOR_KEY_PLACEMENT, M3_AUTHOR_KEY_POLITICAS, M3_KEY_PLACEMENT,
116 M3_PLACEMENT_ESTRATEGIA_REPLICATED, M3_PLACEMENT_ESTRATEGIA_SHARDED,
117 M3_PLACEMENT_ESTRATEGIA_SINGLE_NODE, M3_PLACEMENT_KEY_AFFINITY, M3_PLACEMENT_KEY_CLUSTERS,
118 M3_PLACEMENT_KEY_ESTRATEGIA, M3_PLACEMENT_KEY_SHARD_KEY, MEMBRO_KEY_CAIXA, MEMBRO_KEY_VERSAO,
119 MappingExt, MissingCiSlot, NATS_SUBJECT_MAX_LEN, OCI_SCHEME_PREFIX, PLEME_LABEL_PREFIX,
120 POLITICAS_KEY_CIRCUIT_BREAKER, POLITICAS_KEY_MTLS_REQUIRED, POLITICAS_KEY_RATE_LIMIT,
121 POLITICAS_KEY_RETRIES, POLITICAS_KEY_TIMEOUT, PathShapeViolation, RenderError, RenderedFile,
122 STANDALONE_LAREIRA_ENABLED_DEFAULT, SUPERVISOR_AUTHOR_KEY_CHILDREN,
123 SUPERVISOR_AUTHOR_KEY_ESTRATEGIA, SUPERVISOR_AUTHOR_KEY_MAX_RESTARTS,
124 SUPERVISOR_AUTHOR_KEY_RESTART_WINDOW, SUPERVISOR_CHILD_KEY_CAIXA, SUPERVISOR_CHILD_KEY_RESTART,
125 SUPERVISOR_CHILD_KEY_VERSAO, SUPERVISOR_CHILD_RESTART_PERMANENT,
126 SUPERVISOR_CHILD_RESTART_TEMPORARY, SUPERVISOR_CHILD_RESTART_TRANSIENT,
127 SUPERVISOR_ESTRATEGIA_ONE_FOR_ALL, SUPERVISOR_ESTRATEGIA_ONE_FOR_ONE,
128 SUPERVISOR_ESTRATEGIA_REST_FOR_ONE, SUPERVISOR_ESTRATEGIA_SIMPLE_ONE_FOR_ONE,
129 SUPERVISOR_KEY_CHILDREN, SUPERVISOR_KEY_ESTRATEGIA, SUPERVISOR_KEY_MAX_RESTARTS,
130 SUPERVISOR_KEY_RESTART_WINDOW, SequenceExt, ServicoCountMismatch, WASI_KV_SLOT_MAX_LEN,
131 WIT_IDENT_MAX_LEN, assert_str_reexport_identity, ci_declared_edge_count, cilium_auth_mode,
132 cilium_network_policy_name, contrato_edge_label, decompose_ci, find_ascii_whitespace_byte,
133 find_by_api_version, find_by_kind, find_by_label, find_by_name, find_by_namespace,
134 find_file_by_path, find_non_ascii_whitespace_char, flux_kustomization_source_subtree,
135 gateway_api_http_route_name, insert_first_seen, is_cargo_feature_name,
136 is_computeunit_yaml_extension, is_digit_only_magnitude, is_dns_1123_label,
137 is_gateway_api_http_path, is_git_oid, is_git_ref_name, is_git_repo_url,
138 is_lareira_chart_name_shape, is_leading_zero_padded_magnitude, is_lisp_extension,
139 is_nats_subject, is_sandboxed_relative_path, is_wasi_keyvalue_slot, is_wit_world_ref,
140 kube_api_version, kube_api_version_is, kube_bool, kube_field, kube_field_bool,
141 kube_field_field, kube_field_has, kube_field_map, kube_field_seq, kube_field_str,
142 kube_field_u64, kube_has, kube_kind, kube_kind_is, kube_map, kube_match_label,
143 kube_match_label_is, kube_match_labels, kube_metadata, kube_metadata_bool_field,
144 kube_metadata_field, kube_metadata_label, kube_metadata_label_is, kube_metadata_labels,
145 kube_metadata_map_field, kube_metadata_seq_field, kube_metadata_str_field,
146 kube_metadata_u64_field, kube_name, kube_name_is, kube_namespace, kube_namespace_is,
147 kube_resource_skeleton, kube_root_bool_field, kube_root_map_field, kube_root_seq_field,
148 kube_root_str_field, kube_root_u64_field, kube_seq, kube_seq_first, kube_spec,
149 kube_spec_bool_field, kube_spec_field, kube_spec_map_field, kube_spec_seq_field,
150 kube_spec_seq_first, kube_spec_seq_first_seq_first, kube_spec_seq_first_seq_first_seq_first,
151 kube_spec_seq_first_str, kube_spec_spec_bool_field, kube_spec_spec_field,
152 kube_spec_spec_map_field, kube_spec_spec_seq_field, kube_spec_spec_str_field,
153 kube_spec_spec_u64_field, kube_spec_str_field, kube_spec_u64_field, kube_str, kube_u64,
154 label_selector, lareira_chart_name, mapping_str_keys, mapping_string_keys, oci_chart_ref,
155 parse_yaml_at_path, parse_yaml_at_path_as, pleme_program_in_aplicacao_selector,
156 pleme_program_selector, require_acao_view, require_aplicacao_view, require_ci, require_kind,
157 require_positive_bounded_u32, require_positive_bounded_u64,
158 require_positive_canonical_bounded_duration, require_single_servico, require_v0_servico_shape,
159 require_valid_dns_1123_label, require_valid_versao_requirement, sequence_str_values,
160 servico_m2_overlay, servico_spec_and_m2_overlay_entries, single_field_overlay,
161 singleton_mapping_sequence, string_keyed_entries, upsert_named_entry, yaml_string_mapping,
162};
163pub use supervisor::{
164 ChildSpec, RestartPolicy, RestartStrategy, SUPERVISOR_CHILD_RESTART_DEFAULT,
165 SUPERVISOR_ESTRATEGIA_DEFAULT, SUPERVISOR_MAX_RESTARTS_DEFAULT, SUPERVISOR_MAX_RESTARTS_MAX,
166 SUPERVISOR_RESTART_WINDOW_DEFAULT, SUPERVISOR_RESTART_WINDOW_MAX, SupervisorError,
167 SupervisorSpec,
168};
169pub use upgrade::{
170 UpgradeError, UpgradeFromEntry, UpgradeInstruction, validate_upgrade_from,
171 validate_upgrade_from_against_behavior, validate_upgrade_from_against_versao,
172};
173pub use version::{
174 CaixaVersion, DEFAULT_GIT_REMOTE, DEFAULT_PLEME_GIT_ORG, DEFAULT_PUBLISH_TAG_PREFIX,
175 VersionError, parse_requirement,
176};