hecks 0.1.4.rc → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/lib/hecks/adapters/driven/claude_code.adapter +3 -0
- data/lib/hecks/adapters/driven/claude_code.rb +127 -0
- data/lib/hecks/adapters/driven/d1.adapter +12 -0
- data/lib/hecks/adapters/driven/d1.rb +403 -0
- data/lib/hecks/adapters/driven/folder.adapter +3 -0
- data/lib/hecks/adapters/driven/folder.rb +199 -0
- data/lib/hecks/adapters/driven/google_authentication.adapter +3 -0
- data/lib/hecks/adapters/driven/google_authentication.rb +100 -0
- data/lib/hecks/adapters/driven/governance_authorization.adapter +3 -0
- data/lib/hecks/adapters/driven/governance_authorization.rb +62 -0
- data/lib/hecks/adapters/driven/heki/journal.rb +51 -0
- data/lib/hecks/adapters/driven/heki/saga_store.rb +0 -0
- data/lib/hecks/adapters/driven/heki/snapshot.rb +38 -0
- data/lib/hecks/adapters/driven/heki.adapter +4 -0
- data/lib/hecks/adapters/driven/heki.rb +148 -0
- data/lib/hecks/adapters/driven/identity_registry.adapter +3 -0
- data/lib/hecks/adapters/driven/identity_registry.rb +26 -0
- data/lib/hecks/adapters/driven/in_memory_ordering.rb +51 -0
- data/lib/hecks/adapters/driven/lambda/client.rb +63 -0
- data/lib/hecks/adapters/driven/lambda.adapter +4 -0
- data/lib/hecks/adapters/driven/lambda.rb +131 -0
- data/lib/hecks/adapters/driven/memory.adapter +3 -0
- data/lib/hecks/adapters/driven/memory.rb +103 -0
- data/lib/hecks/adapters/driven/mock_stripe_adapter.adapter +3 -0
- data/lib/hecks/adapters/driven/mock_stripe_adapter.rb +28 -0
- data/lib/hecks/adapters/driven/postgres/codec.rb +80 -0
- data/lib/hecks/adapters/driven/postgres/schema_builder.rb +168 -0
- data/lib/hecks/adapters/driven/postgres.adapter +5 -0
- data/lib/hecks/adapters/driven/postgres.rb +391 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage/era_store.rb +171 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage/field_cache.rb +190 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage/head_compiler.rb +429 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage/mint_transaction.rb +166 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage/provisioning.rb +286 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage/resumable_backfill.rb +168 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage/tail_merge.rb +163 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage/transform_installer.rb +114 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage.rb +137 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage_manager/coverage_check.rb +89 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage_manager/era_resolver.rb +82 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage_manager/merge_coordinator.rb +43 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage_manager/minter.rb +132 -0
- data/lib/hecks/adapters/driven/postgres_era/lineage_manager.rb +74 -0
- data/lib/hecks/adapters/driven/postgres_era.adapter +6 -0
- data/lib/hecks/adapters/driven/postgres_era.rb +671 -0
- data/lib/hecks/adapters/driven/prism.adapter +3 -0
- data/lib/hecks/adapters/driven/prism.rb +80 -0
- data/lib/hecks/adapters/driven/secure_random_identity.adapter +3 -0
- data/lib/hecks/adapters/driven/secure_random_identity.rb +14 -0
- data/lib/hecks/adapters/driven/sql_query_builder.rb +221 -0
- data/lib/hecks/adapters/driven/sqlite/codec.rb +63 -0
- data/lib/hecks/adapters/driven/sqlite/projection.rb +105 -0
- data/lib/hecks/adapters/driven/sqlite/schema_builder.rb +180 -0
- data/lib/hecks/adapters/driven/sqlite.adapter +9 -0
- data/lib/hecks/adapters/driven/sqlite.rb +285 -0
- data/lib/hecks/adapters/driven/system_clock.adapter +3 -0
- data/lib/hecks/adapters/driven/system_clock.rb +14 -0
- data/lib/hecks/adapters/driven.rb +36 -0
- data/lib/hecks/adapters.rb +6 -0
- data/lib/hecks/behaviors/dsl.rb +96 -0
- data/lib/hecks/behaviors/expectations.rb +280 -0
- data/lib/hecks/behaviors/ir.rb +31 -0
- data/lib/hecks/behaviors/rspec.rb +42 -0
- data/lib/hecks/behaviors/runner.rb +96 -0
- data/lib/hecks/behaviors.rb +25 -0
- data/lib/hecks/bluebook/aggregate.rb +108 -0
- data/lib/hecks/bluebook/assembly/aggregate_assembly.rb +134 -0
- data/lib/hecks/bluebook/assembly/build.rb +48 -0
- data/lib/hecks/bluebook/assembly/contract.rb +112 -0
- data/lib/hecks/bluebook/assembly/contracts.rb +409 -0
- data/lib/hecks/bluebook/assembly/marks.rb +227 -0
- data/lib/hecks/bluebook/assembly/specializer.rb +70 -0
- data/lib/hecks/bluebook/assembly.rb +78 -0
- data/lib/hecks/bluebook/attribute.rb +96 -0
- data/lib/hecks/bluebook/behaviour/aggregate.rb +83 -0
- data/lib/hecks/bluebook/behaviour/attribute.rb +27 -0
- data/lib/hecks/bluebook/behaviour/chapter.rb +72 -0
- data/lib/hecks/bluebook/behaviour/command.rb +116 -0
- data/lib/hecks/bluebook/behaviour/domain_port.rb +25 -0
- data/lib/hecks/bluebook/behaviour/entity.rb +59 -0
- data/lib/hecks/bluebook/behaviour/hexagon.rb +50 -0
- data/lib/hecks/bluebook/behaviour/lifecycle.rb +51 -0
- data/lib/hecks/bluebook/behaviour/policy.rb +52 -0
- data/lib/hecks/bluebook/behaviour/process_manager.rb +38 -0
- data/lib/hecks/bluebook/behaviour/query.rb +10 -0
- data/lib/hecks/bluebook/behaviour/read_model.rb +29 -0
- data/lib/hecks/bluebook/behaviour/traits.rb +81 -0
- data/lib/hecks/bluebook/behaviour/value_object.rb +33 -0
- data/lib/hecks/bluebook/chapter.rb +68 -0
- data/lib/hecks/bluebook/command.rb +124 -0
- data/lib/hecks/bluebook/domain_port.rb +102 -0
- data/lib/hecks/bluebook/dsl/adapter_builder.rb +34 -0
- data/lib/hecks/bluebook/dsl/aggregate_builder.rb +906 -0
- data/lib/hecks/bluebook/dsl/attribute_collector.rb +327 -0
- data/lib/hecks/bluebook/dsl/binding_proxy.rb +71 -0
- data/lib/hecks/bluebook/dsl/bluebook_builder.rb +1018 -0
- data/lib/hecks/bluebook/dsl/command_builder.rb +626 -0
- data/lib/hecks/bluebook/dsl/const_shim.rb +81 -0
- data/lib/hecks/bluebook/dsl/domain_port_builder.rb +79 -0
- data/lib/hecks/bluebook/dsl/entity_builder.rb +305 -0
- data/lib/hecks/bluebook/dsl/generic_dispatch.rb +366 -0
- data/lib/hecks/bluebook/dsl/hecksagon_builder.rb +163 -0
- data/lib/hecks/bluebook/dsl/identity_declaration.rb +191 -0
- data/lib/hecks/bluebook/dsl/lifecycle_builder.rb +44 -0
- data/lib/hecks/bluebook/dsl/malformed.rb +7 -0
- data/lib/hecks/bluebook/dsl/policy_builder.rb +120 -0
- data/lib/hecks/bluebook/dsl/port_builder.rb +30 -0
- data/lib/hecks/bluebook/dsl/port_operation_builder.rb +142 -0
- data/lib/hecks/bluebook/dsl/process_manager_builder.rb +207 -0
- data/lib/hecks/bluebook/dsl/query_builder.rb +113 -0
- data/lib/hecks/bluebook/dsl/read_model_builder.rb +233 -0
- data/lib/hecks/bluebook/dsl/rule_reference.rb +172 -0
- data/lib/hecks/bluebook/dsl/translation_builder.rb +243 -0
- data/lib/hecks/bluebook/dsl/value_object_builder.rb +178 -0
- data/lib/hecks/bluebook/dsl/word_gate.rb +221 -0
- data/lib/hecks/bluebook/dsl/world_builder.rb +77 -0
- data/lib/hecks/bluebook/dsl.rb +45 -0
- data/lib/hecks/bluebook/entity.rb +103 -0
- data/lib/hecks/bluebook/expression/canonical_form.rb +55 -0
- data/lib/hecks/bluebook/expression/evaluator.rb +261 -0
- data/lib/hecks/bluebook/expression/projection.json +170 -0
- data/lib/hecks/bluebook/expression/resolver/block_predicates.rb +233 -0
- data/lib/hecks/bluebook/expression/resolver.rb +630 -0
- data/lib/hecks/bluebook/expression.rb +13 -0
- data/lib/hecks/bluebook/hexagon.rb +60 -0
- data/lib/hecks/bluebook/lifecycle.rb +42 -0
- data/lib/hecks/bluebook/meta_validator/adapter_judge.rb +54 -0
- data/lib/hecks/bluebook/meta_validator/judge.rb +559 -0
- data/lib/hecks/bluebook/meta_validator/plan.rb +332 -0
- data/lib/hecks/bluebook/meta_validator/port_judge.rb +47 -0
- data/lib/hecks/bluebook/meta_validator/readings.rb +350 -0
- data/lib/hecks/bluebook/meta_validator/reconstruction.rb +312 -0
- data/lib/hecks/bluebook/meta_validator/shapes.rb +246 -0
- data/lib/hecks/bluebook/meta_validator/syntax_boot.rb +255 -0
- data/lib/hecks/bluebook/meta_validator/translation_judge.rb +138 -0
- data/lib/hecks/bluebook/meta_validator/world_judge.rb +78 -0
- data/lib/hecks/bluebook/meta_validator.rb +452 -0
- data/lib/hecks/bluebook/model_check.rb +318 -0
- data/lib/hecks/bluebook/pattern_subset.rb +120 -0
- data/lib/hecks/bluebook/policy.rb +41 -0
- data/lib/hecks/bluebook/process_manager.rb +86 -0
- data/lib/hecks/bluebook/project_discovery.rb +30 -0
- data/lib/hecks/bluebook/project_loader.rb +40 -0
- data/lib/hecks/bluebook/project_register.rb +82 -0
- data/lib/hecks/bluebook/query.rb +61 -0
- data/lib/hecks/bluebook/read_model.rb +109 -0
- data/lib/hecks/bluebook/reference.rb +74 -0
- data/lib/hecks/bluebook/smoke_test.rb +166 -0
- data/lib/hecks/bluebook/synthesizer.rb +95 -0
- data/lib/hecks/bluebook/translation.rb +92 -0
- data/lib/hecks/bluebook/value_object.rb +58 -0
- data/lib/hecks/bluebook.rb +74 -0
- data/lib/hecks/codemod.rb +342 -0
- data/lib/hecks/construct.rb +71 -0
- data/lib/hecks/deploy/bluebook/deploy.bluebook +219 -0
- data/lib/hecks/deploy/bluebook/deploy.hecksagon +4 -0
- data/lib/hecks/deploy/oidc.json +18 -0
- data/lib/hecks/doc/reference.rb +389 -0
- data/lib/hecks/embryonaut_bluebook.rb +75 -0
- data/lib/hecks/facade/cli_door.rb +116 -0
- data/lib/hecks/facade/cli_runner.rb +190 -0
- data/lib/hecks/facade/command_request.rb +105 -0
- data/lib/hecks/facade/handle.rb +173 -0
- data/lib/hecks/facade/json_door.rb +154 -0
- data/lib/hecks/facade/surface/aggregate_door.rb +185 -0
- data/lib/hecks/facade/surface/chapter.rb +107 -0
- data/lib/hecks/facade/surface.rb +48 -0
- data/lib/hecks/facade.rb +44 -0
- data/lib/hecks/forms/app.rb +300 -0
- data/lib/hecks/forms/command_form_renderer.rb +113 -0
- data/lib/hecks/forms/examples/banking_console.bluebook +3 -0
- data/lib/hecks/forms/field_renderer.rb +170 -0
- data/lib/hecks/forms/field_shape.rb +232 -0
- data/lib/hecks/forms/html.rb +53 -0
- data/lib/hecks/forms/index_renderer.rb +35 -0
- data/lib/hecks/forms/page.rb +157 -0
- data/lib/hecks/forms/params.rb +132 -0
- data/lib/hecks/forms/query_form_renderer.rb +114 -0
- data/lib/hecks/forms/record_renderer.rb +115 -0
- data/lib/hecks/forms/record_table.rb +63 -0
- data/lib/hecks/forms/reference_options.rb +30 -0
- data/lib/hecks/forms/value_object_shape.rb +46 -0
- data/lib/hecks/forms.rb +54 -0
- data/lib/hecks/fqn.rb +94 -0
- data/lib/hecks/framework/bluebook/compliance.bluebook +1 -0
- data/lib/hecks/framework/bluebook/console_settings.bluebook +489 -0
- data/lib/hecks/framework/bluebook/framework.hecksagon +32 -0
- data/lib/hecks/framework/bluebook/governance.bluebook +130 -0
- data/lib/hecks/framework/bluebook/identity.bluebook +90 -0
- data/lib/hecks/framework/oidc.json +39 -0
- data/lib/hecks/framework.rb +90 -0
- data/lib/hecks/freezer.rb +67 -0
- data/lib/hecks/fuzzing/invalid_value_generator.rb +86 -0
- data/lib/hecks/fuzzing/isolated_boot.rb +92 -0
- data/lib/hecks/fuzzing/properties.rb +1146 -0
- data/lib/hecks/fuzzing/replay.rb +635 -0
- data/lib/hecks/fuzzing/sequence_generator/catalog.rb +93 -0
- data/lib/hecks/fuzzing/sequence_generator/outcome_tracker.rb +54 -0
- data/lib/hecks/fuzzing/sequence_generator/picker.rb +96 -0
- data/lib/hecks/fuzzing/sequence_generator/step_builder.rb +185 -0
- data/lib/hecks/fuzzing/sequence_generator.rb +130 -0
- data/lib/hecks/fuzzing/value_generator.rb +177 -0
- data/lib/hecks/fuzzing.rb +12 -0
- data/lib/hecks/grammar/evolve.rb +291 -0
- data/lib/hecks/grammar/expression.bluebook +417 -0
- data/lib/hecks/grammar/expression_operators.json +1152 -0
- data/lib/hecks/grammar/grammar.hecksagon +20 -0
- data/lib/hecks/grammar/oidc.json +69 -0
- data/lib/hecks/grammar/translation.bluebook +203 -0
- data/lib/hecks/grammar.rb +178 -0
- data/lib/hecks/ir.rb +126 -0
- data/lib/hecks/language/adapter.bluebook +116 -0
- data/lib/hecks/language/bluebook/aggregate.bluebook +581 -0
- data/lib/hecks/language/bluebook/attaches/paging.bluebook +76 -0
- data/lib/hecks/language/bluebook/bluebook.bluebook +256 -0
- data/lib/hecks/language/bluebook/bluebook.hecksagon +24 -0
- data/lib/hecks/language/bluebook/command.bluebook +437 -0
- data/lib/hecks/language/bluebook/entity.bluebook +316 -0
- data/lib/hecks/language/bluebook/policy.bluebook +172 -0
- data/lib/hecks/language/bluebook/process_manager.bluebook +264 -0
- data/lib/hecks/language/bluebook/projection.bluebook +267 -0
- data/lib/hecks/language/bluebook/query.bluebook +245 -0
- data/lib/hecks/language/bluebook/shape.bluebook +292 -0
- data/lib/hecks/language/bluebook/syntax.bluebook +447 -0
- data/lib/hecks/language/bluebook/vocabulary.bluebook +364 -0
- data/lib/hecks/language/hecksagon/adapter_binding.bluebook +51 -0
- data/lib/hecks/language/hecksagon/domain_port.bluebook +76 -0
- data/lib/hecks/language/hecksagon/hecksagon.bluebook +131 -0
- data/lib/hecks/language/hecksagon/port_operation.bluebook +102 -0
- data/lib/hecks/language/oidc.json +313 -0
- data/lib/hecks/language/port.bluebook +92 -0
- data/lib/hecks/language/translation/translation.bluebook +110 -0
- data/lib/hecks/language/translation/translation_aggregate.bluebook +267 -0
- data/lib/hecks/language/world/wiring.bluebook +62 -0
- data/lib/hecks/language/world/world.bluebook +84 -0
- data/lib/hecks/literal.rb +125 -0
- data/lib/hecks/naming.rb +121 -0
- data/lib/hecks/ports/access_control.port +4 -0
- data/lib/hecks/ports/access_control.rb +62 -0
- data/lib/hecks/ports/agent/answers.rb +104 -0
- data/lib/hecks/ports/agent.port +4 -0
- data/lib/hecks/ports/agent.rb +167 -0
- data/lib/hecks/ports/authentication.port +4 -0
- data/lib/hecks/ports/authentication.rb +50 -0
- data/lib/hecks/ports/authorization.port +4 -0
- data/lib/hecks/ports/authorization.rb +59 -0
- data/lib/hecks/ports/clock.port +4 -0
- data/lib/hecks/ports/clock.rb +62 -0
- data/lib/hecks/ports/extraction.port +4 -0
- data/lib/hecks/ports/extraction.rb +37 -0
- data/lib/hecks/ports/identity_assignment.port +4 -0
- data/lib/hecks/ports/identity_assignment.rb +45 -0
- data/lib/hecks/ports/identity_generation.port +4 -0
- data/lib/hecks/ports/identity_generation.rb +49 -0
- data/lib/hecks/ports/identity_resolution.port +4 -0
- data/lib/hecks/ports/identity_resolution.rb +40 -0
- data/lib/hecks/ports/loading.port +4 -0
- data/lib/hecks/ports/loading.rb +13 -0
- data/lib/hecks/ports/persistence/append_only.rb +102 -0
- data/lib/hecks/ports/persistence/binding_policy.rb +56 -0
- data/lib/hecks/ports/persistence/execution.rb +18 -0
- data/lib/hecks/ports/persistence/lineage.rb +277 -0
- data/lib/hecks/ports/persistence/null_saga_store.rb +25 -0
- data/lib/hecks/ports/persistence/remote_runtime.rb +42 -0
- data/lib/hecks/ports/persistence/repository_factory.rb +30 -0
- data/lib/hecks/ports/persistence.port +4 -0
- data/lib/hecks/ports/persistence.rb +39 -0
- data/lib/hecks/ports/projection.port +4 -0
- data/lib/hecks/ports/projection.rb +76 -0
- data/lib/hecks/ports/query/in_memory.rb +60 -0
- data/lib/hecks/ports/query/ordering.rb +41 -0
- data/lib/hecks/ports/query.rb +36 -0
- data/lib/hecks/ports.rb +27 -0
- data/lib/hecks/projections/diagrams.rb +413 -0
- data/lib/hecks/projections/ir.rb +18 -0
- data/lib/hecks/projections/model/deviations.rb +98 -0
- data/lib/hecks/projections/model.rb +145 -0
- data/lib/hecks/projections/oidc.rb +110 -0
- data/lib/hecks/projections/parser_table.rb +159 -0
- data/lib/hecks/projections/reference.rb +38 -0
- data/lib/hecks/projections/shape.rb +31 -0
- data/lib/hecks/projections/statements.rb +110 -0
- data/lib/hecks/projections/vocabulary.rb +100 -0
- data/lib/hecks/projections.rb +32 -0
- data/lib/hecks/projector/cli_projector.rb +437 -0
- data/lib/hecks/projector/docs_projector.rb +321 -0
- data/lib/hecks/projector/exporter.rb +141 -0
- data/lib/hecks/projector/ir_projector.rb +18 -0
- data/lib/hecks/projector/narrate_projector.rb +243 -0
- data/lib/hecks/projector/target.rb +97 -0
- data/lib/hecks/projector.rb +186 -0
- data/lib/hecks/query_ir.rb +392 -0
- data/lib/hecks/query_specification/common/authorization_spec.rb +9 -0
- data/lib/hecks/query_specification/common/comparators.rb +25 -0
- data/lib/hecks/query_specification/common/comparison.rb +174 -0
- data/lib/hecks/query_specification/common/cursor_spec.rb +9 -0
- data/lib/hecks/query_specification/common/dsl.rb +58 -0
- data/lib/hecks/query_specification/common/inspection_spec.rb +9 -0
- data/lib/hecks/query_specification/common/limit_spec.rb +9 -0
- data/lib/hecks/query_specification/common/null_policy.rb +80 -0
- data/lib/hecks/query_specification/common/null_semantics.rb +11 -0
- data/lib/hecks/query_specification/common/offset_spec.rb +9 -0
- data/lib/hecks/query_specification/common/options.rb +32 -0
- data/lib/hecks/query_specification/common/order_by.rb +9 -0
- data/lib/hecks/query_specification/common/specification.rb +10 -0
- data/lib/hecks/query_specification/common/where_clause.rb +9 -0
- data/lib/hecks/query_specification/field_path.rb +89 -0
- data/lib/hecks/query_specification/hop_path.rb +130 -0
- data/lib/hecks/query_specification/read_model/specification.rb +18 -0
- data/lib/hecks/query_specification.rb +14 -0
- data/lib/hecks/rendering.rb +48 -0
- data/lib/hecks/router/namespace_installer.rb +157 -0
- data/lib/hecks/router.rb +70 -0
- data/lib/hecks/runtime/caller.rb +50 -0
- data/lib/hecks/runtime/capability_graph.rb +44 -0
- data/lib/hecks/runtime/command_interpreter/argument_gate.rb +124 -0
- data/lib/hecks/runtime/command_interpreter/mutation_applier.rb +248 -0
- data/lib/hecks/runtime/command_interpreter.rb +413 -0
- data/lib/hecks/runtime/command_rules/admissibility.rb +307 -0
- data/lib/hecks/runtime/command_rules/arithmetic.rb +254 -0
- data/lib/hecks/runtime/command_rules/authorization.rb +64 -0
- data/lib/hecks/runtime/command_rules/emission.rb +34 -0
- data/lib/hecks/runtime/command_rules/references.rb +181 -0
- data/lib/hecks/runtime/command_rules.rb +28 -0
- data/lib/hecks/runtime/dependency_planning.rb +231 -0
- data/lib/hecks/runtime/dispatcher.rb +286 -0
- data/lib/hecks/runtime/entity_element.rb +253 -0
- data/lib/hecks/runtime/entity_interpreter.rb +228 -0
- data/lib/hecks/runtime/era_check.rb +136 -0
- data/lib/hecks/runtime/era_guard/shape_diff.rb +128 -0
- data/lib/hecks/runtime/era_guard.rb +193 -0
- data/lib/hecks/runtime/era_tamper.rb +61 -0
- data/lib/hecks/runtime/errors.rb +100 -0
- data/lib/hecks/runtime/event.rb +51 -0
- data/lib/hecks/runtime/identity.rb +128 -0
- data/lib/hecks/runtime/instance.rb +120 -0
- data/lib/hecks/runtime/interpreting.rb +69 -0
- data/lib/hecks/runtime/loader.rb +143 -0
- data/lib/hecks/runtime/policy_interpreter.rb +366 -0
- data/lib/hecks/runtime/port_operation_interpreter.rb +210 -0
- data/lib/hecks/runtime/query_interpreter.rb +254 -0
- data/lib/hecks/runtime/reaction_invocation.rb +245 -0
- data/lib/hecks/runtime/read_model_interpreter.rb +266 -0
- data/lib/hecks/runtime/rebuild_sweep.rb +74 -0
- data/lib/hecks/runtime/reference_hop.rb +99 -0
- data/lib/hecks/runtime/refusal_wording.rb +124 -0
- data/lib/hecks/runtime/registry/saga_persistence.rb +70 -0
- data/lib/hecks/runtime/registry/verification.rb +158 -0
- data/lib/hecks/runtime/registry.rb +218 -0
- data/lib/hecks/runtime/remote_dispatcher.rb +143 -0
- data/lib/hecks/runtime/routing.rb +96 -0
- data/lib/hecks/runtime/saga_interpreter/correlation.rb +97 -0
- data/lib/hecks/runtime/saga_interpreter.rb +301 -0
- data/lib/hecks/runtime/storage_shape.rb +120 -0
- data/lib/hecks/runtime/tenant_check.rb +84 -0
- data/lib/hecks/runtime/tenant_scope.rb +55 -0
- data/lib/hecks/runtime/value/admission.rb +112 -0
- data/lib/hecks/runtime/value/coercion.rb +500 -0
- data/lib/hecks/runtime/value/invariant_violation.rb +5 -0
- data/lib/hecks/runtime/value.rb +125 -0
- data/lib/hecks/runtime.rb +95 -0
- data/lib/hecks/translation/audit/approval_digest.rb +31 -0
- data/lib/hecks/translation/audit/layer_one.rb +37 -0
- data/lib/hecks/translation/audit/layer_two.rb +77 -0
- data/lib/hecks/translation/audit/unfed_report.rb +42 -0
- data/lib/hecks/translation/audit.rb +70 -0
- data/lib/hecks/translation/reattest.rb +72 -0
- data/lib/hecks/translation/rule_compiler.rb +120 -0
- data/lib/hecks/translation/scaffold/differ.rb +183 -0
- data/lib/hecks/translation/scaffold/renderer.rb +41 -0
- data/lib/hecks/translation/scaffold/writer.rb +28 -0
- data/lib/hecks/translation/scaffold.rb +30 -0
- data/lib/hecks/translation.rb +11 -0
- data/lib/hecks/version.rb +16 -0
- data/lib/hecks/vocabulary.rb +213 -0
- data/lib/hecks.rb +118 -7
- metadata +403 -172
- data/bin/hecks +0 -7
- data/bin/hecks_console +0 -10
- data/lib/cli/build.rb +0 -13
- data/lib/cli/command_runner.rb +0 -25
- data/lib/cli/console.rb +0 -8
- data/lib/cli/generate.rb +0 -35
- data/lib/cli/package.rb +0 -13
- data/lib/cli/test.rb +0 -56
- data/lib/cli.rb +0 -28
- data/lib/console/commands.rb +0 -9
- data/lib/console.rb +0 -23
- data/lib/packager/generate_binary_package.rb +0 -105
- data/lib/packager/generate_lambda_package.rb +0 -26
- data/lib/packager/templates/binary_package/build/linux-x86_64/lib/app/hello.rb +0 -1
- data/lib/packager/templates/binary_package/build/resources/%domain_name%.rb.tt +0 -17
- data/lib/packager/templates/binary_package/build/resources/Dockerfile.tt +0 -8
- data/lib/packager/templates/binary_package/build/resources/Gemfile.tt +0 -4
- data/lib/packager/templates/binary_package/build/resources/bundle/config +0 -3
- data/lib/packager/templates/binary_package/build/resources/wrapper.tt +0 -13
- data/lib/packager/templates/lambda_package/handler.js.tt +0 -12
- data/lib/packager/templates/lambda_package/serverless.yml.tt +0 -100
- data/lib/packager.rb +0 -2
data/lib/cli/generate.rb
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
class Generate < Thor
|
|
3
|
-
desc 'domain_objects', 'generate domain objects'
|
|
4
|
-
method_option :type,
|
|
5
|
-
aliases: '-t',
|
|
6
|
-
required: true,
|
|
7
|
-
desc: 'The type of the domain object you want to generate',
|
|
8
|
-
banner: '[OBJECT_TYPE]',
|
|
9
|
-
enum: %w(entity value_object aggregate reference) if File.file?('Domain') || File.file?('hecks.gemspec')
|
|
10
|
-
|
|
11
|
-
register(Hecks::Domain::CLI::GenerateDomainObject,
|
|
12
|
-
'domain_object',
|
|
13
|
-
'domain_object',
|
|
14
|
-
'Generate Domain Objects') if File.file?('Domain')
|
|
15
|
-
|
|
16
|
-
desc 'resource_server', 'generate resource_server adapter'
|
|
17
|
-
register(Hecks::Domain::Adapters::ResourceServer::CLI::GenerateResourceServer,
|
|
18
|
-
'resource_server',
|
|
19
|
-
'resource_server',
|
|
20
|
-
'Generate A Resource Server for a domain') if File.file?('Domain')
|
|
21
|
-
|
|
22
|
-
desc 'sql_database', 'generate SQL database adapter'
|
|
23
|
-
register(Hecks::Domain::Adapters::SQLDatabase::CLI::GenerateSQLDatabase,
|
|
24
|
-
'sql_database',
|
|
25
|
-
'sql_database',
|
|
26
|
-
'Generate a SQL Server Database adapter') if File.file?('Domain')
|
|
27
|
-
|
|
28
|
-
desc 'domain_migrations', 'generate migrations for the sql database adapter based on your domain'
|
|
29
|
-
register(Hecks::Domain::Adapters::SQLDatabase::CLI::GenerateDomainMigrations,
|
|
30
|
-
'domain_migrations',
|
|
31
|
-
'domain_migrations',
|
|
32
|
-
'Generate Domain Migrations')
|
|
33
|
-
|
|
34
|
-
desc 'readme', 'Generate the hecks Readme with the latest examples'
|
|
35
|
-
end
|
data/lib/cli/package.rb
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
class Package < Thor
|
|
2
|
-
desc 'lambda', 'lambda'
|
|
3
|
-
register Hecks::Packager::CLI::GenerateLambdaPackage,
|
|
4
|
-
'lambda',
|
|
5
|
-
'lambda',
|
|
6
|
-
'Generate Lambda Package'
|
|
7
|
-
|
|
8
|
-
desc 'binary', 'binary'
|
|
9
|
-
register Hecks::Packager::CLI::GenerateBinaryPackage,
|
|
10
|
-
'binary',
|
|
11
|
-
'binary',
|
|
12
|
-
'Generate Binary Package'
|
|
13
|
-
end
|
data/lib/cli/test.rb
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
class Test < Thor
|
|
2
|
-
include Thor::Actions
|
|
3
|
-
|
|
4
|
-
class_option :no_cache, aliases: '-n', desc: 'download resources', default: false, type: :boolean
|
|
5
|
-
|
|
6
|
-
desc 'ci', 'Run and test the generators'
|
|
7
|
-
def ci
|
|
8
|
-
examples
|
|
9
|
-
packages
|
|
10
|
-
domain_adapters
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
desc 'domain_adapters', "run the domain adapter specs"
|
|
14
|
-
def domain_adapters
|
|
15
|
-
generate_resource_server('pizza_builder')
|
|
16
|
-
generate_sql_database('pizza_builder')
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
desc 'examples', 'Generate and run the example specs'
|
|
20
|
-
def examples
|
|
21
|
-
reset_example('pizza_builder')
|
|
22
|
-
run('rspec -f d')
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
desc 'packages', 'Generate and run the package specs'
|
|
26
|
-
def packages
|
|
27
|
-
build_binary_package('pizza_builder')
|
|
28
|
-
build_lambda_package('pizza_builder')
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
private
|
|
32
|
-
|
|
33
|
-
def generate_sql_database(name)
|
|
34
|
-
run("cd ../hecks-examples/#{name} && hecks generate sql_database")
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def reset_example(name)
|
|
38
|
-
run("cd ../hecks-examples/#{name} && rm -rf lib")
|
|
39
|
-
run("cd ../hecks-examples/#{name} && rm -rf spec")
|
|
40
|
-
run("cd ../hecks-examples/#{name} && hecks new")
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
def build_binary_package(name)
|
|
44
|
-
run("cd ../hecks-examples/#{name} && hecks package binary #{'-n' if options[:no_cache]}")
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
def build_lambda_package(name)
|
|
48
|
-
run("cd ../hecks-examples/#{name} && hecks package lambda")
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def generate_resource_server(name)
|
|
52
|
-
run("cd ../hecks-examples/#{name} && rm -rf config.ru")
|
|
53
|
-
run("cd ../hecks-examples/#{name} && hecks generate resource_server")
|
|
54
|
-
run("cd ../hecks-examples/#{name}")
|
|
55
|
-
end
|
|
56
|
-
end
|
data/lib/cli.rb
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
require 'active_support/inflector'
|
|
3
|
-
require_relative 'cli/generate'
|
|
4
|
-
require_relative 'cli/package'
|
|
5
|
-
require_relative 'cli/test'
|
|
6
|
-
require_relative 'cli/console'
|
|
7
|
-
require_relative 'cli/command_runner'
|
|
8
|
-
require_relative 'cli/build'
|
|
9
|
-
|
|
10
|
-
module Hecks
|
|
11
|
-
class CLI < Thor
|
|
12
|
-
package_name 'hecks'
|
|
13
|
-
|
|
14
|
-
desc 'generate', 'generate'
|
|
15
|
-
subcommand('generate', Generate)
|
|
16
|
-
|
|
17
|
-
desc 'package', 'package'
|
|
18
|
-
subcommand('package', Package) if File.file?('Domain')
|
|
19
|
-
|
|
20
|
-
desc 'test', 'test'
|
|
21
|
-
subcommand('test', Test) if File.file?('hecks.gemspec')
|
|
22
|
-
|
|
23
|
-
long_desc 'Generate a domain'
|
|
24
|
-
method_option :dryrun, aliases: '-d', type: :boolean, desc: 'Output commands without running'
|
|
25
|
-
|
|
26
|
-
register(Hecks::Domain::CLI::New, 'new', 'new', 'Create a new Domain') if File.file?('Domain')
|
|
27
|
-
end
|
|
28
|
-
end
|
data/lib/console/commands.rb
DELETED
data/lib/console.rb
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
require 'irb'
|
|
2
|
-
require "irb/completion"
|
|
3
|
-
require_relative 'console/commands'
|
|
4
|
-
|
|
5
|
-
module Hecks
|
|
6
|
-
module Console
|
|
7
|
-
def self.file
|
|
8
|
-
Dir.pwd.split('/').last
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def self.full_path
|
|
12
|
-
Dir.pwd + "/lib/" + file
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def self.domain
|
|
16
|
-
file.camelize.constantize
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def self.domain_name
|
|
20
|
-
domain.to_s
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
module Hecks
|
|
2
|
-
module Packager
|
|
3
|
-
module CLI
|
|
4
|
-
class GenerateBinaryPackage < Thor::Group
|
|
5
|
-
include Thor::Actions
|
|
6
|
-
|
|
7
|
-
class_option :no_cache, aliases: '-n', desc: 'download resources', default: false, type: :boolean
|
|
8
|
-
|
|
9
|
-
HOST = "http://d6r77u77i8pq3.cloudfront.net/releases"
|
|
10
|
-
OSX_BINARY = "traveling-ruby-20150715-2.2.2-osx.tar.gz"
|
|
11
|
-
LINUX_BINARY = 'traveling-ruby-20150715-2.2.2-linux-x86_64.tar.gz'
|
|
12
|
-
BUILD_DIR = 'packages/binary/build'
|
|
13
|
-
RESOURCES_DIR = BUILD_DIR + '/resources'
|
|
14
|
-
OSX_DIR = BUILD_DIR + '/osx'
|
|
15
|
-
OSX_LIB_DIR = OSX_DIR + '/lib'
|
|
16
|
-
OSX_APP_DIR = OSX_LIB_DIR + '/app'
|
|
17
|
-
LINUX_DIR = BUILD_DIR + '/linux-x86_64'
|
|
18
|
-
LINUX_LIB_DIR = LINUX_DIR + 'lib'
|
|
19
|
-
LINUX_APP_DIR = LINUX_LIB_DIR + '/app'
|
|
20
|
-
|
|
21
|
-
def self.source_root
|
|
22
|
-
File.dirname(__FILE__) + '/templates'
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def create_package_folder
|
|
26
|
-
directory('binary_package', './packages/binary')
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def domain_name
|
|
30
|
-
Dir.pwd.split('/').last
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def build
|
|
34
|
-
package(OSX_APP_DIR, OSX_LIB_DIR, OSX_BINARY, OSX_DIR)
|
|
35
|
-
package(LINUX_APP_DIR, LINUX_LIB_DIR, LINUX_BINARY, LINUX_DIR)
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
private
|
|
39
|
-
|
|
40
|
-
def package(app_dir, lib_dir, binary, package_dir)
|
|
41
|
-
empty_directory(app_dir)
|
|
42
|
-
empty_directory(lib_dir + '/ruby')
|
|
43
|
-
return unless refresh_cache?(app_dir)
|
|
44
|
-
# download(binary, lib_dir)
|
|
45
|
-
copy_resources(app_dir, package_dir)
|
|
46
|
-
bundle_with_ruby_2_2_2(app_dir)
|
|
47
|
-
reduce_package_size(app_dir)
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
def refresh_cache?(app_dir)
|
|
51
|
-
return true if options[:no_cache]
|
|
52
|
-
return Dir[app_dir + '/*'].empty?
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
def copy_resources(app_dir, package_dir)
|
|
56
|
-
run("cp #{RESOURCES_DIR}/Gemfile #{app_dir}")
|
|
57
|
-
run("cp -rf #{RESOURCES_DIR}/bundle #{app_dir}/.bundle")
|
|
58
|
-
run("cp -rf #{RESOURCES_DIR}/#{domain_name}.rb #{app_dir}/#{domain_name}.rb")
|
|
59
|
-
run("cp -rf #{RESOURCES_DIR}/wrapper #{package_dir}/#{domain_name}")
|
|
60
|
-
run("cd #{package_dir} && chmod 744 #{domain_name}")
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
def download(binary, lib_dir)
|
|
64
|
-
run("cd #{RESOURCES_DIR} && curl -O #{HOST}/#{binary}")
|
|
65
|
-
run("tar -xzf #{RESOURCES_DIR}/#{binary} -C #{lib_dir}/ruby")
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
def bundle_with_ruby_2_2_2(app_dir)
|
|
69
|
-
run("cp -rf #{RESOURCES_DIR}/Dockerfile #{app_dir}")
|
|
70
|
-
run("cp #{domain_name}-0.0.0.gem #{app_dir}")
|
|
71
|
-
run("cd #{app_dir} && gem fetch hecks-application hecks-adapters-sql-database")
|
|
72
|
-
run("cd #{app_dir} && docker build -t #{domain_name} --no-cache .")
|
|
73
|
-
container = `docker create pizza_builder:latest`.gsub("\n", '')
|
|
74
|
-
run("docker cp #{container}:/usr/src/app/vendor #{app_dir}")
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
def reduce_package_size(app_dir)
|
|
78
|
-
files = %w(test tests spec features benchmark README* CHANGE* Change*
|
|
79
|
-
COPYING* LICENSE* MIT-LICENSE* TODO *.txt *.md *.rdoc doc docs example
|
|
80
|
-
examples sample doc-api)
|
|
81
|
-
|
|
82
|
-
files.each do |file|
|
|
83
|
-
run("rm -rf #{app_dir}/vendor/ruby/*/gems/*/#{file}")
|
|
84
|
-
end
|
|
85
|
-
|
|
86
|
-
run("rm -rf #{app_dir}/vendor/*/*/cache/*")
|
|
87
|
-
|
|
88
|
-
%w(.gitignore .travis.yml).each do |file|
|
|
89
|
-
run("rm -rf #{app_dir}/vendor/ruby/*/gems/*/#{file}")
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
%w(MAKEfile */Makefile */tmp).each do |file|
|
|
93
|
-
run("rm -f #{app_dir}/vendor/ruby/*/gems/*/ext/#{file}")
|
|
94
|
-
end
|
|
95
|
-
%w(*.c *.cpp *.h *.rl *extconf.rb *.java *.class *.md).each do |file|
|
|
96
|
-
run("find #{app_dir}/vendor/ruby -name '#{file}' | xargs rm -f")
|
|
97
|
-
end
|
|
98
|
-
%w(*.0 *.so *.bundle).each do |file|
|
|
99
|
-
run("find #{app_dir}/vendor/ruby/*/gems -name '#{file}' | xargs rm -f")
|
|
100
|
-
end
|
|
101
|
-
end
|
|
102
|
-
end
|
|
103
|
-
end
|
|
104
|
-
end
|
|
105
|
-
end
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
module Hecks
|
|
2
|
-
module Packager
|
|
3
|
-
module CLI
|
|
4
|
-
class GenerateLambdaPackage < Thor::Group
|
|
5
|
-
include Thor::Actions
|
|
6
|
-
|
|
7
|
-
def self.source_root
|
|
8
|
-
File.dirname(__FILE__) + '/templates'
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def create_package_folder
|
|
12
|
-
directory('lambda_package', './packages/lambda')
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def domain_name
|
|
16
|
-
Dir.pwd.split('/').last
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def create_function
|
|
20
|
-
run("rm -rf packages/lambda/#{domain_name}")
|
|
21
|
-
run("cp -r packages/binary/build/osx packages/lambda/#{domain_name}")
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
puts "HELLO!"
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
require 'hecks'
|
|
2
|
-
require '<%= domain_name %>'
|
|
3
|
-
|
|
4
|
-
app = Hecks::Application.new(domain: <%= domain_name.camelcase %>)
|
|
5
|
-
|
|
6
|
-
# Ruby 2.2.2 doesn't support Fixnum#positive?, so monkey patch it.
|
|
7
|
-
class Fixnum
|
|
8
|
-
def positive?
|
|
9
|
-
self > 0
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
domain_module = ARGV[0].to_sym
|
|
14
|
-
method = ARGV[1]
|
|
15
|
-
data = JSON.parse(ARGV[2], symbolize_names: true)
|
|
16
|
-
|
|
17
|
-
puts app[domain_module].send(method, data).call.result.inspect
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
FROM ruby:2.2
|
|
2
|
-
|
|
3
|
-
COPY <%= domain_name %>-0.0.0.gem /usr/src/app/<%= domain_name %>-0.0.0.gem
|
|
4
|
-
RUN gem install /usr/src/app/<%= domain_name %>-0.0.0.gem
|
|
5
|
-
COPY Gemfile /usr/src/app/Gemfile
|
|
6
|
-
RUN cd /usr/src/app/ && bundle package
|
|
7
|
-
RUN cd /usr/src/app/ && bundle install --path vendor
|
|
8
|
-
RUN ls /usr/src/app/
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
set -e
|
|
3
|
-
|
|
4
|
-
# Figure out where this script is located.
|
|
5
|
-
SELFDIR="`dirname \"$0\"`"
|
|
6
|
-
SELFDIR="`cd \"$SELFDIR\" && pwd`"
|
|
7
|
-
|
|
8
|
-
# Tell Bundler where the Gemfile and gems are.
|
|
9
|
-
export BUNDLE_GEMFILE="$SELFDIR/lib/app/Gemfile"
|
|
10
|
-
unset BUNDLE_IGNORE_CONFIG
|
|
11
|
-
|
|
12
|
-
# Run the actual app using the bundled Ruby interpreter, with Bundler activated.
|
|
13
|
-
exec "$SELFDIR/lib/ruby/bin/ruby" -rbundler/setup "$SELFDIR/lib/app/<%= domain_name %>.rb" "$@"
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const spawn = require('child_process').spawn;
|
|
4
|
-
|
|
5
|
-
module.exports.<%= domain_name %> = (event, context, callback) => {
|
|
6
|
-
var app = '<%= domain_name %>/<%= domain_name %>'
|
|
7
|
-
var data = JSON.stringify(event['data'])
|
|
8
|
-
var command = app + ' ' + event['module'] + ' ' + event['method'] + ' ' + JSON.stringify(data)
|
|
9
|
-
const child = exec(command, (result) => {
|
|
10
|
-
context.done(result);
|
|
11
|
-
});
|
|
12
|
-
};
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
# Welcome to Serverless!
|
|
2
|
-
#
|
|
3
|
-
# This file is the main config file for your service.
|
|
4
|
-
# It's very minimal at this point and uses default values.
|
|
5
|
-
# You can always add more config options for more control.
|
|
6
|
-
# We've included some commented out config examples here.
|
|
7
|
-
# Just uncomment any of them to get that config option.
|
|
8
|
-
#
|
|
9
|
-
# For full config options, check the docs:
|
|
10
|
-
# docs.serverless.com
|
|
11
|
-
#
|
|
12
|
-
# Happy Coding!
|
|
13
|
-
|
|
14
|
-
service: lambda
|
|
15
|
-
|
|
16
|
-
# You can pin your service to only deploy with a specific Serverless version
|
|
17
|
-
# Check out our docs for more details
|
|
18
|
-
# frameworkVersion: "=X.X.X"
|
|
19
|
-
|
|
20
|
-
provider:
|
|
21
|
-
name: aws
|
|
22
|
-
runtime: nodejs4.3
|
|
23
|
-
|
|
24
|
-
# you can overwrite defaults here
|
|
25
|
-
# stage: dev
|
|
26
|
-
# region: us-east-1
|
|
27
|
-
|
|
28
|
-
# you can add statements to the Lambda function's IAM Role here
|
|
29
|
-
# iamRoleStatements:
|
|
30
|
-
# - Effect: "Allow"
|
|
31
|
-
# Action:
|
|
32
|
-
# - "s3:ListBucket"
|
|
33
|
-
# Resource: { "Fn::Join" : ["", ["arn:aws:s3:::", { "Ref" : "ServerlessDeploymentBucket" } ] ] }
|
|
34
|
-
# - Effect: "Allow"
|
|
35
|
-
# Action:
|
|
36
|
-
# - "s3:PutObject"
|
|
37
|
-
# Resource:
|
|
38
|
-
# Fn::Join:
|
|
39
|
-
# - ""
|
|
40
|
-
# - - "arn:aws:s3:::"
|
|
41
|
-
# - "Ref" : "ServerlessDeploymentBucket"
|
|
42
|
-
|
|
43
|
-
# you can define service wide environment variables here
|
|
44
|
-
# environment:
|
|
45
|
-
# variable1: value1
|
|
46
|
-
|
|
47
|
-
# you can add packaging information here
|
|
48
|
-
#package:
|
|
49
|
-
# include:
|
|
50
|
-
# - include-me.js
|
|
51
|
-
# - include-me-dir/**
|
|
52
|
-
# exclude:
|
|
53
|
-
# - exclude-me.js
|
|
54
|
-
# - exclude-me-dir/**
|
|
55
|
-
|
|
56
|
-
functions:
|
|
57
|
-
<%= domain_name %>:
|
|
58
|
-
handler: handler.<%= domain_name %>
|
|
59
|
-
|
|
60
|
-
# The following are a few example events you can configure
|
|
61
|
-
# NOTE: Please make sure to change your handler code to work with those events
|
|
62
|
-
# Check the event documentation for details
|
|
63
|
-
# events:
|
|
64
|
-
# - http:
|
|
65
|
-
# path: users/create
|
|
66
|
-
# method: get
|
|
67
|
-
# - s3: ${env:BUCKET}
|
|
68
|
-
# - schedule: rate(10 minutes)
|
|
69
|
-
# - sns: greeter-topic
|
|
70
|
-
# - stream: arn:aws:dynamodb:region:XXXXXX:table/foo/stream/1970-01-01T00:00:00.000
|
|
71
|
-
# - alexaSkill
|
|
72
|
-
# - iot:
|
|
73
|
-
# sql: "SELECT * FROM 'some_topic'"
|
|
74
|
-
# - cloudwatchEvent:
|
|
75
|
-
# event:
|
|
76
|
-
# source:
|
|
77
|
-
# - "aws.ec2"
|
|
78
|
-
# detail-type:
|
|
79
|
-
# - "EC2 Instance State-change Notification"
|
|
80
|
-
# detail:
|
|
81
|
-
# state:
|
|
82
|
-
# - pending
|
|
83
|
-
|
|
84
|
-
# Define function environment variables here
|
|
85
|
-
# environment:
|
|
86
|
-
# variable2: value2
|
|
87
|
-
|
|
88
|
-
# you can add CloudFormation resource templates here
|
|
89
|
-
#resources:
|
|
90
|
-
# Resources:
|
|
91
|
-
# NewResource:
|
|
92
|
-
# Type: AWS::S3::Bucket
|
|
93
|
-
# Properties:
|
|
94
|
-
# BucketName: my-new-bucket
|
|
95
|
-
# Outputs:
|
|
96
|
-
# NewOutput:
|
|
97
|
-
# Description: "Description for the output"
|
|
98
|
-
# Value: "Some output value"
|
|
99
|
-
Plugins:
|
|
100
|
-
- serverless-offline
|
data/lib/packager.rb
DELETED