tapps-agents 3.5.40__py3-none-any.whl → 3.6.0__py3-none-any.whl
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.
- tapps_agents/__init__.py +2 -2
- tapps_agents/agents/__init__.py +22 -22
- tapps_agents/agents/analyst/__init__.py +5 -5
- tapps_agents/agents/architect/__init__.py +5 -5
- tapps_agents/agents/architect/agent.py +1033 -1033
- tapps_agents/agents/architect/pattern_detector.py +75 -75
- tapps_agents/agents/cleanup/__init__.py +7 -7
- tapps_agents/agents/cleanup/agent.py +445 -445
- tapps_agents/agents/debugger/__init__.py +7 -7
- tapps_agents/agents/debugger/agent.py +310 -310
- tapps_agents/agents/debugger/error_analyzer.py +437 -437
- tapps_agents/agents/designer/__init__.py +5 -5
- tapps_agents/agents/designer/agent.py +786 -786
- tapps_agents/agents/designer/visual_designer.py +638 -638
- tapps_agents/agents/documenter/__init__.py +7 -7
- tapps_agents/agents/documenter/agent.py +531 -531
- tapps_agents/agents/documenter/doc_generator.py +472 -472
- tapps_agents/agents/documenter/doc_validator.py +393 -393
- tapps_agents/agents/documenter/framework_doc_updater.py +493 -493
- tapps_agents/agents/enhancer/__init__.py +7 -7
- tapps_agents/agents/evaluator/__init__.py +7 -7
- tapps_agents/agents/evaluator/agent.py +443 -443
- tapps_agents/agents/evaluator/priority_evaluator.py +641 -641
- tapps_agents/agents/evaluator/quality_analyzer.py +147 -147
- tapps_agents/agents/evaluator/report_generator.py +344 -344
- tapps_agents/agents/evaluator/usage_analyzer.py +192 -192
- tapps_agents/agents/evaluator/workflow_analyzer.py +189 -189
- tapps_agents/agents/implementer/__init__.py +7 -7
- tapps_agents/agents/implementer/agent.py +798 -798
- tapps_agents/agents/implementer/auto_fix.py +1119 -1119
- tapps_agents/agents/implementer/code_generator.py +73 -73
- tapps_agents/agents/improver/__init__.py +1 -1
- tapps_agents/agents/improver/agent.py +753 -753
- tapps_agents/agents/ops/__init__.py +1 -1
- tapps_agents/agents/ops/agent.py +619 -619
- tapps_agents/agents/ops/dependency_analyzer.py +600 -600
- tapps_agents/agents/orchestrator/__init__.py +5 -5
- tapps_agents/agents/orchestrator/agent.py +522 -522
- tapps_agents/agents/planner/__init__.py +7 -7
- tapps_agents/agents/planner/agent.py +1127 -1127
- tapps_agents/agents/reviewer/__init__.py +24 -24
- tapps_agents/agents/reviewer/agent.py +3513 -3513
- tapps_agents/agents/reviewer/aggregator.py +213 -213
- tapps_agents/agents/reviewer/batch_review.py +448 -448
- tapps_agents/agents/reviewer/cache.py +443 -443
- tapps_agents/agents/reviewer/context7_enhancer.py +630 -630
- tapps_agents/agents/reviewer/context_detector.py +203 -203
- tapps_agents/agents/reviewer/docker_compose_validator.py +158 -158
- tapps_agents/agents/reviewer/dockerfile_validator.py +176 -176
- tapps_agents/agents/reviewer/error_handling.py +126 -126
- tapps_agents/agents/reviewer/feedback_generator.py +490 -490
- tapps_agents/agents/reviewer/influxdb_validator.py +316 -316
- tapps_agents/agents/reviewer/issue_tracking.py +169 -169
- tapps_agents/agents/reviewer/library_detector.py +295 -295
- tapps_agents/agents/reviewer/library_patterns.py +268 -268
- tapps_agents/agents/reviewer/maintainability_scorer.py +593 -593
- tapps_agents/agents/reviewer/metric_strategies.py +276 -276
- tapps_agents/agents/reviewer/mqtt_validator.py +160 -160
- tapps_agents/agents/reviewer/output_enhancer.py +105 -105
- tapps_agents/agents/reviewer/pattern_detector.py +241 -241
- tapps_agents/agents/reviewer/performance_scorer.py +357 -357
- tapps_agents/agents/reviewer/phased_review.py +516 -516
- tapps_agents/agents/reviewer/progressive_review.py +435 -435
- tapps_agents/agents/reviewer/react_scorer.py +331 -331
- tapps_agents/agents/reviewer/score_constants.py +228 -228
- tapps_agents/agents/reviewer/score_validator.py +507 -507
- tapps_agents/agents/reviewer/scorer_registry.py +373 -373
- tapps_agents/agents/reviewer/scoring.py +1566 -1566
- tapps_agents/agents/reviewer/service_discovery.py +534 -534
- tapps_agents/agents/reviewer/tools/__init__.py +41 -41
- tapps_agents/agents/reviewer/tools/parallel_executor.py +581 -581
- tapps_agents/agents/reviewer/tools/ruff_grouping.py +250 -250
- tapps_agents/agents/reviewer/tools/scoped_mypy.py +284 -284
- tapps_agents/agents/reviewer/typescript_scorer.py +1142 -1142
- tapps_agents/agents/reviewer/validation.py +208 -208
- tapps_agents/agents/reviewer/websocket_validator.py +132 -132
- tapps_agents/agents/tester/__init__.py +7 -7
- tapps_agents/agents/tester/accessibility_auditor.py +309 -309
- tapps_agents/agents/tester/agent.py +1080 -1080
- tapps_agents/agents/tester/batch_generator.py +54 -54
- tapps_agents/agents/tester/context_learner.py +51 -51
- tapps_agents/agents/tester/coverage_analyzer.py +386 -386
- tapps_agents/agents/tester/coverage_test_generator.py +290 -290
- tapps_agents/agents/tester/debug_enhancer.py +238 -238
- tapps_agents/agents/tester/device_emulator.py +241 -241
- tapps_agents/agents/tester/integration_generator.py +62 -62
- tapps_agents/agents/tester/network_recorder.py +300 -300
- tapps_agents/agents/tester/performance_monitor.py +320 -320
- tapps_agents/agents/tester/test_fixer.py +316 -316
- tapps_agents/agents/tester/test_generator.py +632 -632
- tapps_agents/agents/tester/trace_manager.py +234 -234
- tapps_agents/agents/tester/visual_regression.py +291 -291
- tapps_agents/analysis/pattern_detector.py +36 -36
- tapps_agents/beads/hydration.py +213 -213
- tapps_agents/beads/parse.py +32 -32
- tapps_agents/beads/specs.py +206 -206
- tapps_agents/cli/__init__.py +9 -9
- tapps_agents/cli/__main__.py +8 -8
- tapps_agents/cli/base.py +478 -478
- tapps_agents/cli/command_classifier.py +72 -72
- tapps_agents/cli/commands/__init__.py +2 -2
- tapps_agents/cli/commands/analyst.py +173 -173
- tapps_agents/cli/commands/architect.py +109 -109
- tapps_agents/cli/commands/cleanup_agent.py +92 -92
- tapps_agents/cli/commands/common.py +126 -126
- tapps_agents/cli/commands/debugger.py +90 -90
- tapps_agents/cli/commands/designer.py +112 -112
- tapps_agents/cli/commands/documenter.py +136 -136
- tapps_agents/cli/commands/enhancer.py +110 -110
- tapps_agents/cli/commands/evaluator.py +255 -255
- tapps_agents/cli/commands/health.py +665 -665
- tapps_agents/cli/commands/implementer.py +301 -301
- tapps_agents/cli/commands/improver.py +91 -91
- tapps_agents/cli/commands/knowledge.py +111 -111
- tapps_agents/cli/commands/learning.py +172 -172
- tapps_agents/cli/commands/observability.py +283 -283
- tapps_agents/cli/commands/ops.py +135 -135
- tapps_agents/cli/commands/orchestrator.py +116 -116
- tapps_agents/cli/commands/planner.py +237 -237
- tapps_agents/cli/commands/reviewer.py +1872 -1872
- tapps_agents/cli/commands/status.py +285 -285
- tapps_agents/cli/commands/task.py +227 -219
- tapps_agents/cli/commands/tester.py +191 -191
- tapps_agents/cli/commands/top_level.py +3586 -3586
- tapps_agents/cli/feedback.py +936 -936
- tapps_agents/cli/formatters.py +608 -608
- tapps_agents/cli/help/__init__.py +7 -7
- tapps_agents/cli/help/static_help.py +425 -425
- tapps_agents/cli/network_detection.py +110 -110
- tapps_agents/cli/output_compactor.py +274 -274
- tapps_agents/cli/parsers/__init__.py +2 -2
- tapps_agents/cli/parsers/analyst.py +186 -186
- tapps_agents/cli/parsers/architect.py +167 -167
- tapps_agents/cli/parsers/cleanup_agent.py +228 -228
- tapps_agents/cli/parsers/debugger.py +116 -116
- tapps_agents/cli/parsers/designer.py +182 -182
- tapps_agents/cli/parsers/documenter.py +134 -134
- tapps_agents/cli/parsers/enhancer.py +113 -113
- tapps_agents/cli/parsers/evaluator.py +213 -213
- tapps_agents/cli/parsers/implementer.py +168 -168
- tapps_agents/cli/parsers/improver.py +132 -132
- tapps_agents/cli/parsers/ops.py +159 -159
- tapps_agents/cli/parsers/orchestrator.py +98 -98
- tapps_agents/cli/parsers/planner.py +145 -145
- tapps_agents/cli/parsers/reviewer.py +462 -462
- tapps_agents/cli/parsers/tester.py +124 -124
- tapps_agents/cli/progress_heartbeat.py +254 -254
- tapps_agents/cli/streaming_progress.py +336 -336
- tapps_agents/cli/utils/__init__.py +6 -6
- tapps_agents/cli/utils/agent_lifecycle.py +48 -48
- tapps_agents/cli/utils/error_formatter.py +82 -82
- tapps_agents/cli/utils/error_recovery.py +188 -188
- tapps_agents/cli/utils/output_handler.py +59 -59
- tapps_agents/cli/utils/prompt_enhancer.py +319 -319
- tapps_agents/cli/validators/__init__.py +9 -9
- tapps_agents/cli/validators/command_validator.py +81 -81
- tapps_agents/context7/__init__.py +112 -112
- tapps_agents/context7/agent_integration.py +869 -869
- tapps_agents/context7/analytics.py +382 -382
- tapps_agents/context7/analytics_dashboard.py +299 -299
- tapps_agents/context7/async_cache.py +681 -681
- tapps_agents/context7/backup_client.py +958 -958
- tapps_agents/context7/cache_locking.py +194 -194
- tapps_agents/context7/cache_metadata.py +214 -214
- tapps_agents/context7/cache_prewarm.py +488 -488
- tapps_agents/context7/cache_structure.py +168 -168
- tapps_agents/context7/cache_warming.py +604 -604
- tapps_agents/context7/circuit_breaker.py +376 -376
- tapps_agents/context7/cleanup.py +461 -461
- tapps_agents/context7/commands.py +858 -858
- tapps_agents/context7/credential_validation.py +276 -276
- tapps_agents/context7/cross_reference_resolver.py +168 -168
- tapps_agents/context7/cross_references.py +424 -424
- tapps_agents/context7/doc_manager.py +225 -225
- tapps_agents/context7/fuzzy_matcher.py +369 -369
- tapps_agents/context7/kb_cache.py +404 -404
- tapps_agents/context7/language_detector.py +219 -219
- tapps_agents/context7/library_detector.py +725 -725
- tapps_agents/context7/lookup.py +738 -738
- tapps_agents/context7/metadata.py +258 -258
- tapps_agents/context7/refresh_queue.py +300 -300
- tapps_agents/context7/security.py +373 -373
- tapps_agents/context7/staleness_policies.py +278 -278
- tapps_agents/context7/tiles_integration.py +47 -47
- tapps_agents/continuous_bug_fix/__init__.py +20 -20
- tapps_agents/continuous_bug_fix/bug_finder.py +306 -306
- tapps_agents/continuous_bug_fix/bug_fix_coordinator.py +177 -177
- tapps_agents/continuous_bug_fix/commit_manager.py +178 -178
- tapps_agents/continuous_bug_fix/continuous_bug_fixer.py +322 -322
- tapps_agents/continuous_bug_fix/proactive_bug_finder.py +285 -285
- tapps_agents/core/__init__.py +298 -298
- tapps_agents/core/adaptive_cache_config.py +432 -432
- tapps_agents/core/agent_base.py +647 -647
- tapps_agents/core/agent_cache.py +466 -466
- tapps_agents/core/agent_learning.py +1865 -1865
- tapps_agents/core/analytics_dashboard.py +563 -563
- tapps_agents/core/analytics_enhancements.py +597 -597
- tapps_agents/core/anonymization.py +274 -274
- tapps_agents/core/artifact_context_builder.py +293 -0
- tapps_agents/core/ast_parser.py +228 -228
- tapps_agents/core/async_file_ops.py +402 -402
- tapps_agents/core/best_practice_consultant.py +299 -299
- tapps_agents/core/brownfield_analyzer.py +299 -299
- tapps_agents/core/brownfield_review.py +541 -541
- tapps_agents/core/browser_controller.py +513 -513
- tapps_agents/core/capability_registry.py +418 -418
- tapps_agents/core/change_impact_analyzer.py +190 -190
- tapps_agents/core/checkpoint_manager.py +377 -377
- tapps_agents/core/code_generator.py +329 -329
- tapps_agents/core/code_validator.py +276 -276
- tapps_agents/core/command_registry.py +327 -327
- tapps_agents/core/config.py +33 -0
- tapps_agents/core/context_gathering/__init__.py +2 -2
- tapps_agents/core/context_gathering/repository_explorer.py +28 -28
- tapps_agents/core/context_intelligence/__init__.py +2 -2
- tapps_agents/core/context_intelligence/relevance_scorer.py +24 -24
- tapps_agents/core/context_intelligence/token_budget_manager.py +27 -27
- tapps_agents/core/context_manager.py +240 -240
- tapps_agents/core/cursor_feedback_monitor.py +146 -146
- tapps_agents/core/cursor_verification.py +290 -290
- tapps_agents/core/customization_loader.py +280 -280
- tapps_agents/core/customization_schema.py +260 -260
- tapps_agents/core/customization_template.py +238 -238
- tapps_agents/core/debug_logger.py +124 -124
- tapps_agents/core/design_validator.py +298 -298
- tapps_agents/core/diagram_generator.py +226 -226
- tapps_agents/core/docker_utils.py +232 -232
- tapps_agents/core/document_generator.py +617 -617
- tapps_agents/core/domain_detector.py +30 -30
- tapps_agents/core/error_envelope.py +454 -454
- tapps_agents/core/error_handler.py +270 -270
- tapps_agents/core/estimation_tracker.py +189 -189
- tapps_agents/core/eval_prompt_engine.py +116 -116
- tapps_agents/core/evaluation_base.py +119 -119
- tapps_agents/core/evaluation_models.py +320 -320
- tapps_agents/core/evaluation_orchestrator.py +225 -225
- tapps_agents/core/evaluators/__init__.py +7 -7
- tapps_agents/core/evaluators/architectural_evaluator.py +205 -205
- tapps_agents/core/evaluators/behavioral_evaluator.py +160 -160
- tapps_agents/core/evaluators/performance_profile_evaluator.py +160 -160
- tapps_agents/core/evaluators/security_posture_evaluator.py +148 -148
- tapps_agents/core/evaluators/spec_compliance_evaluator.py +181 -181
- tapps_agents/core/exceptions.py +107 -107
- tapps_agents/core/expert_config_generator.py +293 -293
- tapps_agents/core/export_schema.py +202 -202
- tapps_agents/core/external_feedback_models.py +102 -102
- tapps_agents/core/external_feedback_storage.py +213 -213
- tapps_agents/core/fallback_strategy.py +314 -314
- tapps_agents/core/feedback_analyzer.py +162 -162
- tapps_agents/core/feedback_collector.py +178 -178
- tapps_agents/core/git_operations.py +445 -445
- tapps_agents/core/hardware_profiler.py +151 -151
- tapps_agents/core/instructions.py +324 -324
- tapps_agents/core/io_guardrails.py +69 -69
- tapps_agents/core/issue_manifest.py +249 -249
- tapps_agents/core/issue_schema.py +139 -139
- tapps_agents/core/json_utils.py +128 -128
- tapps_agents/core/knowledge_graph.py +446 -446
- tapps_agents/core/language_detector.py +296 -296
- tapps_agents/core/learning_confidence.py +242 -242
- tapps_agents/core/learning_dashboard.py +246 -246
- tapps_agents/core/learning_decision.py +384 -384
- tapps_agents/core/learning_explainability.py +578 -578
- tapps_agents/core/learning_export.py +287 -287
- tapps_agents/core/learning_integration.py +228 -228
- tapps_agents/core/llm_behavior.py +232 -232
- tapps_agents/core/long_duration_support.py +786 -786
- tapps_agents/core/mcp_setup.py +106 -106
- tapps_agents/core/memory_integration.py +396 -396
- tapps_agents/core/meta_learning.py +666 -666
- tapps_agents/core/module_path_sanitizer.py +199 -199
- tapps_agents/core/multi_agent_orchestrator.py +382 -382
- tapps_agents/core/network_errors.py +125 -125
- tapps_agents/core/nfr_validator.py +336 -336
- tapps_agents/core/offline_mode.py +158 -158
- tapps_agents/core/output_contracts.py +300 -300
- tapps_agents/core/output_formatter.py +300 -300
- tapps_agents/core/path_normalizer.py +174 -174
- tapps_agents/core/path_validator.py +322 -322
- tapps_agents/core/pattern_library.py +250 -250
- tapps_agents/core/performance_benchmark.py +301 -301
- tapps_agents/core/performance_monitor.py +184 -184
- tapps_agents/core/playwright_mcp_controller.py +771 -771
- tapps_agents/core/policy_loader.py +135 -135
- tapps_agents/core/progress.py +166 -166
- tapps_agents/core/project_profile.py +354 -354
- tapps_agents/core/project_type_detector.py +454 -454
- tapps_agents/core/prompt_base.py +223 -223
- tapps_agents/core/prompt_learning/__init__.py +2 -2
- tapps_agents/core/prompt_learning/learning_loop.py +24 -24
- tapps_agents/core/prompt_learning/project_prompt_store.py +25 -25
- tapps_agents/core/prompt_learning/skills_prompt_analyzer.py +35 -35
- tapps_agents/core/prompt_optimization/__init__.py +6 -6
- tapps_agents/core/prompt_optimization/ab_tester.py +114 -114
- tapps_agents/core/prompt_optimization/correlation_analyzer.py +160 -160
- tapps_agents/core/prompt_optimization/progressive_refiner.py +129 -129
- tapps_agents/core/prompt_optimization/prompt_library.py +37 -37
- tapps_agents/core/requirements_evaluator.py +431 -431
- tapps_agents/core/resource_aware_executor.py +449 -449
- tapps_agents/core/resource_monitor.py +343 -343
- tapps_agents/core/resume_handler.py +298 -298
- tapps_agents/core/retry_handler.py +197 -197
- tapps_agents/core/review_checklists.py +479 -479
- tapps_agents/core/role_loader.py +201 -201
- tapps_agents/core/role_template_loader.py +201 -201
- tapps_agents/core/runtime_mode.py +60 -60
- tapps_agents/core/security_scanner.py +342 -342
- tapps_agents/core/skill_agent_registry.py +194 -194
- tapps_agents/core/skill_integration.py +208 -208
- tapps_agents/core/skill_loader.py +492 -492
- tapps_agents/core/skill_template.py +341 -341
- tapps_agents/core/skill_validator.py +478 -478
- tapps_agents/core/stack_analyzer.py +35 -35
- tapps_agents/core/startup.py +174 -174
- tapps_agents/core/storage_manager.py +397 -397
- tapps_agents/core/storage_models.py +166 -166
- tapps_agents/core/story_evaluator.py +410 -410
- tapps_agents/core/subprocess_utils.py +170 -170
- tapps_agents/core/task_duration.py +296 -296
- tapps_agents/core/task_memory.py +582 -582
- tapps_agents/core/task_state.py +226 -226
- tapps_agents/core/tech_stack_priorities.py +208 -208
- tapps_agents/core/temp_directory.py +194 -194
- tapps_agents/core/template_merger.py +600 -600
- tapps_agents/core/template_selector.py +280 -280
- tapps_agents/core/test_generator.py +286 -286
- tapps_agents/core/tiered_context.py +253 -253
- tapps_agents/core/token_monitor.py +345 -345
- tapps_agents/core/traceability.py +254 -254
- tapps_agents/core/trajectory_tracker.py +50 -50
- tapps_agents/core/unicode_safe.py +143 -143
- tapps_agents/core/unified_cache_config.py +170 -170
- tapps_agents/core/unified_state.py +324 -324
- tapps_agents/core/validate_cursor_setup.py +237 -237
- tapps_agents/core/validation_registry.py +136 -136
- tapps_agents/core/validators/__init__.py +4 -4
- tapps_agents/core/validators/python_validator.py +87 -87
- tapps_agents/core/verification_agent.py +90 -90
- tapps_agents/core/visual_feedback.py +644 -644
- tapps_agents/core/workflow_validator.py +197 -197
- tapps_agents/core/worktree.py +367 -367
- tapps_agents/docker/__init__.py +10 -10
- tapps_agents/docker/analyzer.py +186 -186
- tapps_agents/docker/debugger.py +229 -229
- tapps_agents/docker/error_patterns.py +216 -216
- tapps_agents/epic/__init__.py +22 -22
- tapps_agents/epic/beads_sync.py +115 -115
- tapps_agents/epic/markdown_sync.py +105 -105
- tapps_agents/epic/models.py +96 -96
- tapps_agents/experts/__init__.py +163 -163
- tapps_agents/experts/agent_integration.py +243 -243
- tapps_agents/experts/auto_generator.py +331 -331
- tapps_agents/experts/base_expert.py +536 -536
- tapps_agents/experts/builtin_registry.py +261 -261
- tapps_agents/experts/business_metrics.py +565 -565
- tapps_agents/experts/cache.py +266 -266
- tapps_agents/experts/confidence_breakdown.py +306 -306
- tapps_agents/experts/confidence_calculator.py +336 -336
- tapps_agents/experts/confidence_metrics.py +236 -236
- tapps_agents/experts/domain_config.py +311 -311
- tapps_agents/experts/domain_detector.py +550 -550
- tapps_agents/experts/domain_utils.py +84 -84
- tapps_agents/experts/expert_config.py +113 -113
- tapps_agents/experts/expert_engine.py +465 -465
- tapps_agents/experts/expert_registry.py +744 -744
- tapps_agents/experts/expert_synthesizer.py +70 -70
- tapps_agents/experts/governance.py +197 -197
- tapps_agents/experts/history_logger.py +312 -312
- tapps_agents/experts/knowledge/README.md +180 -180
- tapps_agents/experts/knowledge/accessibility/accessible-forms.md +331 -331
- tapps_agents/experts/knowledge/accessibility/aria-patterns.md +344 -344
- tapps_agents/experts/knowledge/accessibility/color-contrast.md +285 -285
- tapps_agents/experts/knowledge/accessibility/keyboard-navigation.md +332 -332
- tapps_agents/experts/knowledge/accessibility/screen-readers.md +282 -282
- tapps_agents/experts/knowledge/accessibility/semantic-html.md +355 -355
- tapps_agents/experts/knowledge/accessibility/testing-accessibility.md +369 -369
- tapps_agents/experts/knowledge/accessibility/wcag-2.1.md +296 -296
- tapps_agents/experts/knowledge/accessibility/wcag-2.2.md +211 -211
- tapps_agents/experts/knowledge/agent-learning/best-practices.md +715 -715
- tapps_agents/experts/knowledge/agent-learning/pattern-extraction.md +282 -282
- tapps_agents/experts/knowledge/agent-learning/prompt-optimization.md +320 -320
- tapps_agents/experts/knowledge/ai-frameworks/model-optimization.md +90 -90
- tapps_agents/experts/knowledge/ai-frameworks/openvino-patterns.md +260 -260
- tapps_agents/experts/knowledge/api-design-integration/api-gateway-patterns.md +309 -309
- tapps_agents/experts/knowledge/api-design-integration/api-security-patterns.md +521 -521
- tapps_agents/experts/knowledge/api-design-integration/api-versioning.md +421 -421
- tapps_agents/experts/knowledge/api-design-integration/async-protocol-patterns.md +61 -61
- tapps_agents/experts/knowledge/api-design-integration/contract-testing.md +221 -221
- tapps_agents/experts/knowledge/api-design-integration/external-api-integration.md +489 -489
- tapps_agents/experts/knowledge/api-design-integration/fastapi-patterns.md +360 -360
- tapps_agents/experts/knowledge/api-design-integration/fastapi-testing.md +262 -262
- tapps_agents/experts/knowledge/api-design-integration/graphql-patterns.md +582 -582
- tapps_agents/experts/knowledge/api-design-integration/grpc-best-practices.md +499 -499
- tapps_agents/experts/knowledge/api-design-integration/mqtt-patterns.md +455 -455
- tapps_agents/experts/knowledge/api-design-integration/rate-limiting.md +507 -507
- tapps_agents/experts/knowledge/api-design-integration/restful-api-design.md +618 -618
- tapps_agents/experts/knowledge/api-design-integration/websocket-patterns.md +480 -480
- tapps_agents/experts/knowledge/cloud-infrastructure/cloud-native-patterns.md +175 -175
- tapps_agents/experts/knowledge/cloud-infrastructure/container-health-checks.md +261 -261
- tapps_agents/experts/knowledge/cloud-infrastructure/containerization.md +222 -222
- tapps_agents/experts/knowledge/cloud-infrastructure/cost-optimization.md +122 -122
- tapps_agents/experts/knowledge/cloud-infrastructure/disaster-recovery.md +153 -153
- tapps_agents/experts/knowledge/cloud-infrastructure/dockerfile-patterns.md +285 -285
- tapps_agents/experts/knowledge/cloud-infrastructure/infrastructure-as-code.md +187 -187
- tapps_agents/experts/knowledge/cloud-infrastructure/kubernetes-patterns.md +253 -253
- tapps_agents/experts/knowledge/cloud-infrastructure/multi-cloud-strategies.md +155 -155
- tapps_agents/experts/knowledge/cloud-infrastructure/serverless-architecture.md +200 -200
- tapps_agents/experts/knowledge/code-quality-analysis/README.md +16 -16
- tapps_agents/experts/knowledge/code-quality-analysis/code-metrics.md +137 -137
- tapps_agents/experts/knowledge/code-quality-analysis/complexity-analysis.md +181 -181
- tapps_agents/experts/knowledge/code-quality-analysis/technical-debt-patterns.md +191 -191
- tapps_agents/experts/knowledge/data-privacy-compliance/anonymization.md +313 -313
- tapps_agents/experts/knowledge/data-privacy-compliance/ccpa.md +255 -255
- tapps_agents/experts/knowledge/data-privacy-compliance/consent-management.md +282 -282
- tapps_agents/experts/knowledge/data-privacy-compliance/data-minimization.md +275 -275
- tapps_agents/experts/knowledge/data-privacy-compliance/data-retention.md +297 -297
- tapps_agents/experts/knowledge/data-privacy-compliance/data-subject-rights.md +383 -383
- tapps_agents/experts/knowledge/data-privacy-compliance/encryption-privacy.md +285 -285
- tapps_agents/experts/knowledge/data-privacy-compliance/gdpr.md +344 -344
- tapps_agents/experts/knowledge/data-privacy-compliance/hipaa.md +385 -385
- tapps_agents/experts/knowledge/data-privacy-compliance/privacy-by-design.md +280 -280
- tapps_agents/experts/knowledge/database-data-management/acid-vs-cap.md +164 -164
- tapps_agents/experts/knowledge/database-data-management/backup-and-recovery.md +182 -182
- tapps_agents/experts/knowledge/database-data-management/data-modeling.md +172 -172
- tapps_agents/experts/knowledge/database-data-management/database-design.md +187 -187
- tapps_agents/experts/knowledge/database-data-management/flux-query-optimization.md +342 -342
- tapps_agents/experts/knowledge/database-data-management/influxdb-connection-patterns.md +432 -432
- tapps_agents/experts/knowledge/database-data-management/influxdb-patterns.md +442 -442
- tapps_agents/experts/knowledge/database-data-management/migration-strategies.md +216 -216
- tapps_agents/experts/knowledge/database-data-management/nosql-patterns.md +259 -259
- tapps_agents/experts/knowledge/database-data-management/scalability-patterns.md +184 -184
- tapps_agents/experts/knowledge/database-data-management/sql-optimization.md +175 -175
- tapps_agents/experts/knowledge/database-data-management/time-series-modeling.md +444 -444
- tapps_agents/experts/knowledge/development-workflow/README.md +16 -16
- tapps_agents/experts/knowledge/development-workflow/automation-best-practices.md +216 -216
- tapps_agents/experts/knowledge/development-workflow/build-strategies.md +198 -198
- tapps_agents/experts/knowledge/development-workflow/deployment-patterns.md +205 -205
- tapps_agents/experts/knowledge/development-workflow/git-workflows.md +205 -205
- tapps_agents/experts/knowledge/documentation-knowledge-management/README.md +16 -16
- tapps_agents/experts/knowledge/documentation-knowledge-management/api-documentation-patterns.md +231 -231
- tapps_agents/experts/knowledge/documentation-knowledge-management/documentation-standards.md +191 -191
- tapps_agents/experts/knowledge/documentation-knowledge-management/knowledge-management.md +171 -171
- tapps_agents/experts/knowledge/documentation-knowledge-management/technical-writing-guide.md +192 -192
- tapps_agents/experts/knowledge/observability-monitoring/alerting-patterns.md +461 -461
- tapps_agents/experts/knowledge/observability-monitoring/apm-tools.md +459 -459
- tapps_agents/experts/knowledge/observability-monitoring/distributed-tracing.md +367 -367
- tapps_agents/experts/knowledge/observability-monitoring/logging-strategies.md +478 -478
- tapps_agents/experts/knowledge/observability-monitoring/metrics-and-monitoring.md +510 -510
- tapps_agents/experts/knowledge/observability-monitoring/observability-best-practices.md +492 -492
- tapps_agents/experts/knowledge/observability-monitoring/open-telemetry.md +573 -573
- tapps_agents/experts/knowledge/observability-monitoring/slo-sli-sla.md +419 -419
- tapps_agents/experts/knowledge/performance/anti-patterns.md +284 -284
- tapps_agents/experts/knowledge/performance/api-performance.md +256 -256
- tapps_agents/experts/knowledge/performance/caching.md +327 -327
- tapps_agents/experts/knowledge/performance/database-performance.md +252 -252
- tapps_agents/experts/knowledge/performance/optimization-patterns.md +327 -327
- tapps_agents/experts/knowledge/performance/profiling.md +297 -297
- tapps_agents/experts/knowledge/performance/resource-management.md +293 -293
- tapps_agents/experts/knowledge/performance/scalability.md +306 -306
- tapps_agents/experts/knowledge/security/owasp-top10.md +209 -209
- tapps_agents/experts/knowledge/security/secure-coding-practices.md +207 -207
- tapps_agents/experts/knowledge/security/threat-modeling.md +220 -220
- tapps_agents/experts/knowledge/security/vulnerability-patterns.md +342 -342
- tapps_agents/experts/knowledge/software-architecture/docker-compose-patterns.md +314 -314
- tapps_agents/experts/knowledge/software-architecture/microservices-patterns.md +379 -379
- tapps_agents/experts/knowledge/software-architecture/service-communication.md +316 -316
- tapps_agents/experts/knowledge/testing/best-practices.md +310 -310
- tapps_agents/experts/knowledge/testing/coverage-analysis.md +293 -293
- tapps_agents/experts/knowledge/testing/mocking.md +256 -256
- tapps_agents/experts/knowledge/testing/test-automation.md +276 -276
- tapps_agents/experts/knowledge/testing/test-data.md +271 -271
- tapps_agents/experts/knowledge/testing/test-design-patterns.md +280 -280
- tapps_agents/experts/knowledge/testing/test-maintenance.md +236 -236
- tapps_agents/experts/knowledge/testing/test-strategies.md +311 -311
- tapps_agents/experts/knowledge/user-experience/information-architecture.md +325 -325
- tapps_agents/experts/knowledge/user-experience/interaction-design.md +363 -363
- tapps_agents/experts/knowledge/user-experience/prototyping.md +293 -293
- tapps_agents/experts/knowledge/user-experience/usability-heuristics.md +337 -337
- tapps_agents/experts/knowledge/user-experience/usability-testing.md +311 -311
- tapps_agents/experts/knowledge/user-experience/user-journeys.md +296 -296
- tapps_agents/experts/knowledge/user-experience/user-research.md +373 -373
- tapps_agents/experts/knowledge/user-experience/ux-principles.md +340 -340
- tapps_agents/experts/knowledge_freshness.py +321 -321
- tapps_agents/experts/knowledge_ingestion.py +438 -438
- tapps_agents/experts/knowledge_need_detector.py +93 -93
- tapps_agents/experts/knowledge_validator.py +382 -382
- tapps_agents/experts/observability.py +440 -440
- tapps_agents/experts/passive_notifier.py +238 -238
- tapps_agents/experts/proactive_orchestrator.py +32 -32
- tapps_agents/experts/rag_chunker.py +205 -205
- tapps_agents/experts/rag_embedder.py +152 -152
- tapps_agents/experts/rag_evaluation.py +299 -299
- tapps_agents/experts/rag_index.py +303 -303
- tapps_agents/experts/rag_metrics.py +293 -293
- tapps_agents/experts/rag_safety.py +263 -263
- tapps_agents/experts/report_generator.py +296 -296
- tapps_agents/experts/setup_wizard.py +441 -441
- tapps_agents/experts/simple_rag.py +431 -431
- tapps_agents/experts/vector_rag.py +354 -354
- tapps_agents/experts/weight_distributor.py +304 -304
- tapps_agents/health/__init__.py +24 -24
- tapps_agents/health/base.py +75 -75
- tapps_agents/health/checks/__init__.py +22 -22
- tapps_agents/health/checks/automation.py +127 -127
- tapps_agents/health/checks/context7_cache.py +210 -210
- tapps_agents/health/checks/environment.py +116 -116
- tapps_agents/health/checks/execution.py +170 -170
- tapps_agents/health/checks/knowledge_base.py +187 -187
- tapps_agents/health/checks/outcomes.py +324 -324
- tapps_agents/health/collector.py +280 -280
- tapps_agents/health/dashboard.py +137 -137
- tapps_agents/health/metrics.py +151 -151
- tapps_agents/health/orchestrator.py +271 -271
- tapps_agents/health/registry.py +166 -166
- tapps_agents/hooks/__init__.py +33 -33
- tapps_agents/hooks/config.py +140 -140
- tapps_agents/hooks/events.py +135 -135
- tapps_agents/hooks/executor.py +128 -128
- tapps_agents/hooks/manager.py +143 -143
- tapps_agents/integration/__init__.py +8 -8
- tapps_agents/integration/service_integrator.py +121 -121
- tapps_agents/integrations/__init__.py +10 -10
- tapps_agents/integrations/clawdbot.py +525 -525
- tapps_agents/integrations/memory_bridge.py +356 -356
- tapps_agents/mcp/__init__.py +18 -18
- tapps_agents/mcp/gateway.py +112 -112
- tapps_agents/mcp/servers/__init__.py +13 -13
- tapps_agents/mcp/servers/analysis.py +204 -204
- tapps_agents/mcp/servers/context7.py +198 -198
- tapps_agents/mcp/servers/filesystem.py +218 -218
- tapps_agents/mcp/servers/git.py +201 -201
- tapps_agents/mcp/tool_registry.py +115 -115
- tapps_agents/quality/__init__.py +54 -54
- tapps_agents/quality/coverage_analyzer.py +379 -379
- tapps_agents/quality/enforcement.py +82 -82
- tapps_agents/quality/gates/__init__.py +37 -37
- tapps_agents/quality/gates/approval_gate.py +255 -255
- tapps_agents/quality/gates/base.py +84 -84
- tapps_agents/quality/gates/exceptions.py +43 -43
- tapps_agents/quality/gates/policy_gate.py +195 -195
- tapps_agents/quality/gates/registry.py +239 -239
- tapps_agents/quality/gates/security_gate.py +156 -156
- tapps_agents/quality/quality_gates.py +369 -369
- tapps_agents/quality/secret_scanner.py +335 -335
- tapps_agents/session/__init__.py +19 -19
- tapps_agents/session/manager.py +256 -256
- tapps_agents/simple_mode/__init__.py +66 -66
- tapps_agents/simple_mode/agent_contracts.py +357 -357
- tapps_agents/simple_mode/beads_hooks.py +151 -151
- tapps_agents/simple_mode/code_snippet_handler.py +382 -382
- tapps_agents/simple_mode/documentation_manager.py +395 -395
- tapps_agents/simple_mode/documentation_reader.py +187 -187
- tapps_agents/simple_mode/file_inference.py +292 -292
- tapps_agents/simple_mode/framework_change_detector.py +268 -268
- tapps_agents/simple_mode/intent_parser.py +510 -510
- tapps_agents/simple_mode/learning_progression.py +358 -358
- tapps_agents/simple_mode/nl_handler.py +700 -700
- tapps_agents/simple_mode/onboarding.py +253 -253
- tapps_agents/simple_mode/orchestrators/__init__.py +38 -38
- tapps_agents/simple_mode/orchestrators/base.py +185 -185
- tapps_agents/simple_mode/orchestrators/breakdown_orchestrator.py +49 -49
- tapps_agents/simple_mode/orchestrators/brownfield_orchestrator.py +135 -135
- tapps_agents/simple_mode/orchestrators/build_orchestrator.py +2700 -2667
- tapps_agents/simple_mode/orchestrators/deliverable_checklist.py +349 -349
- tapps_agents/simple_mode/orchestrators/enhance_orchestrator.py +53 -53
- tapps_agents/simple_mode/orchestrators/epic_orchestrator.py +122 -122
- tapps_agents/simple_mode/orchestrators/explore_orchestrator.py +184 -184
- tapps_agents/simple_mode/orchestrators/fix_orchestrator.py +723 -723
- tapps_agents/simple_mode/orchestrators/plan_analysis_orchestrator.py +206 -206
- tapps_agents/simple_mode/orchestrators/pr_orchestrator.py +237 -237
- tapps_agents/simple_mode/orchestrators/refactor_orchestrator.py +222 -222
- tapps_agents/simple_mode/orchestrators/requirements_tracer.py +262 -262
- tapps_agents/simple_mode/orchestrators/resume_orchestrator.py +210 -210
- tapps_agents/simple_mode/orchestrators/review_orchestrator.py +161 -161
- tapps_agents/simple_mode/orchestrators/test_orchestrator.py +82 -82
- tapps_agents/simple_mode/output_aggregator.py +340 -340
- tapps_agents/simple_mode/result_formatters.py +598 -598
- tapps_agents/simple_mode/step_dependencies.py +382 -382
- tapps_agents/simple_mode/step_results.py +276 -276
- tapps_agents/simple_mode/streaming.py +388 -388
- tapps_agents/simple_mode/variations.py +129 -129
- tapps_agents/simple_mode/visual_feedback.py +238 -238
- tapps_agents/simple_mode/zero_config.py +274 -274
- tapps_agents/suggestions/__init__.py +8 -8
- tapps_agents/suggestions/inline_suggester.py +52 -52
- tapps_agents/templates/__init__.py +8 -8
- tapps_agents/templates/microservice_generator.py +274 -274
- tapps_agents/utils/env_validator.py +291 -291
- tapps_agents/workflow/__init__.py +171 -171
- tapps_agents/workflow/acceptance_verifier.py +132 -132
- tapps_agents/workflow/agent_handlers/__init__.py +41 -41
- tapps_agents/workflow/agent_handlers/analyst_handler.py +75 -75
- tapps_agents/workflow/agent_handlers/architect_handler.py +107 -107
- tapps_agents/workflow/agent_handlers/base.py +84 -84
- tapps_agents/workflow/agent_handlers/debugger_handler.py +100 -100
- tapps_agents/workflow/agent_handlers/designer_handler.py +110 -110
- tapps_agents/workflow/agent_handlers/documenter_handler.py +94 -94
- tapps_agents/workflow/agent_handlers/implementer_handler.py +235 -235
- tapps_agents/workflow/agent_handlers/ops_handler.py +62 -62
- tapps_agents/workflow/agent_handlers/orchestrator_handler.py +43 -43
- tapps_agents/workflow/agent_handlers/planner_handler.py +98 -98
- tapps_agents/workflow/agent_handlers/registry.py +119 -119
- tapps_agents/workflow/agent_handlers/reviewer_handler.py +119 -119
- tapps_agents/workflow/agent_handlers/tester_handler.py +69 -69
- tapps_agents/workflow/analytics_accessor.py +337 -337
- tapps_agents/workflow/analytics_alerts.py +416 -416
- tapps_agents/workflow/analytics_dashboard_cursor.py +281 -281
- tapps_agents/workflow/analytics_dual_write.py +103 -103
- tapps_agents/workflow/analytics_integration.py +119 -119
- tapps_agents/workflow/analytics_query_parser.py +278 -278
- tapps_agents/workflow/analytics_visualizer.py +259 -259
- tapps_agents/workflow/artifact_helper.py +204 -204
- tapps_agents/workflow/audit_logger.py +263 -263
- tapps_agents/workflow/auto_execution_config.py +340 -340
- tapps_agents/workflow/auto_progression.py +586 -586
- tapps_agents/workflow/branch_cleanup.py +349 -349
- tapps_agents/workflow/checkpoint.py +256 -256
- tapps_agents/workflow/checkpoint_manager.py +178 -178
- tapps_agents/workflow/code_artifact.py +179 -179
- tapps_agents/workflow/common_enums.py +96 -96
- tapps_agents/workflow/confirmation_handler.py +130 -130
- tapps_agents/workflow/context_analyzer.py +222 -222
- tapps_agents/workflow/context_artifact.py +230 -230
- tapps_agents/workflow/cursor_chat.py +94 -94
- tapps_agents/workflow/cursor_executor.py +2337 -2196
- tapps_agents/workflow/cursor_skill_helper.py +516 -516
- tapps_agents/workflow/dependency_resolver.py +244 -244
- tapps_agents/workflow/design_artifact.py +156 -156
- tapps_agents/workflow/detector.py +751 -751
- tapps_agents/workflow/direct_execution_fallback.py +301 -301
- tapps_agents/workflow/docs_artifact.py +168 -168
- tapps_agents/workflow/enforcer.py +389 -389
- tapps_agents/workflow/enhancement_artifact.py +142 -142
- tapps_agents/workflow/error_recovery.py +806 -806
- tapps_agents/workflow/event_bus.py +183 -183
- tapps_agents/workflow/event_log.py +612 -612
- tapps_agents/workflow/events.py +63 -63
- tapps_agents/workflow/exceptions.py +43 -43
- tapps_agents/workflow/execution_graph.py +498 -498
- tapps_agents/workflow/execution_plan.py +126 -126
- tapps_agents/workflow/file_utils.py +186 -186
- tapps_agents/workflow/gate_evaluator.py +182 -182
- tapps_agents/workflow/gate_integration.py +200 -200
- tapps_agents/workflow/graph_visualizer.py +130 -130
- tapps_agents/workflow/health_checker.py +206 -206
- tapps_agents/workflow/logging_helper.py +243 -243
- tapps_agents/workflow/manifest.py +582 -582
- tapps_agents/workflow/marker_writer.py +250 -250
- tapps_agents/workflow/message_formatter.py +188 -188
- tapps_agents/workflow/messaging.py +325 -325
- tapps_agents/workflow/metadata_models.py +91 -91
- tapps_agents/workflow/metrics_integration.py +226 -226
- tapps_agents/workflow/migration_utils.py +116 -116
- tapps_agents/workflow/models.py +148 -111
- tapps_agents/workflow/nlp_config.py +198 -198
- tapps_agents/workflow/nlp_error_handler.py +207 -207
- tapps_agents/workflow/nlp_executor.py +163 -163
- tapps_agents/workflow/nlp_parser.py +528 -528
- tapps_agents/workflow/observability_dashboard.py +451 -451
- tapps_agents/workflow/observer.py +170 -170
- tapps_agents/workflow/ops_artifact.py +257 -257
- tapps_agents/workflow/output_passing.py +214 -214
- tapps_agents/workflow/parallel_executor.py +463 -463
- tapps_agents/workflow/planning_artifact.py +179 -179
- tapps_agents/workflow/preset_loader.py +285 -285
- tapps_agents/workflow/preset_recommender.py +270 -270
- tapps_agents/workflow/progress_logger.py +145 -145
- tapps_agents/workflow/progress_manager.py +303 -303
- tapps_agents/workflow/progress_monitor.py +186 -186
- tapps_agents/workflow/progress_updates.py +423 -423
- tapps_agents/workflow/quality_artifact.py +158 -158
- tapps_agents/workflow/quality_loopback.py +101 -101
- tapps_agents/workflow/recommender.py +387 -387
- tapps_agents/workflow/remediation_loop.py +166 -166
- tapps_agents/workflow/result_aggregator.py +300 -300
- tapps_agents/workflow/review_artifact.py +185 -185
- tapps_agents/workflow/schema_validator.py +522 -522
- tapps_agents/workflow/session_handoff.py +178 -178
- tapps_agents/workflow/skill_invoker.py +648 -648
- tapps_agents/workflow/state_manager.py +756 -756
- tapps_agents/workflow/state_persistence_config.py +331 -331
- tapps_agents/workflow/status_monitor.py +449 -449
- tapps_agents/workflow/step_checkpoint.py +314 -314
- tapps_agents/workflow/step_details.py +201 -201
- tapps_agents/workflow/story_models.py +147 -147
- tapps_agents/workflow/streaming.py +416 -416
- tapps_agents/workflow/suggestion_engine.py +552 -552
- tapps_agents/workflow/testing_artifact.py +186 -186
- tapps_agents/workflow/timeline.py +158 -158
- tapps_agents/workflow/token_integration.py +209 -209
- tapps_agents/workflow/validation.py +217 -217
- tapps_agents/workflow/visual_feedback.py +391 -391
- tapps_agents/workflow/workflow_chain.py +95 -95
- tapps_agents/workflow/workflow_summary.py +219 -219
- tapps_agents/workflow/worktree_manager.py +724 -724
- {tapps_agents-3.5.40.dist-info → tapps_agents-3.6.0.dist-info}/METADATA +672 -672
- tapps_agents-3.6.0.dist-info/RECORD +758 -0
- {tapps_agents-3.5.40.dist-info → tapps_agents-3.6.0.dist-info}/licenses/LICENSE +22 -22
- tapps_agents/health/checks/outcomes.backup_20260204_064058.py +0 -324
- tapps_agents/health/checks/outcomes.backup_20260204_064256.py +0 -324
- tapps_agents/health/checks/outcomes.backup_20260204_064600.py +0 -324
- tapps_agents-3.5.40.dist-info/RECORD +0 -760
- {tapps_agents-3.5.40.dist-info → tapps_agents-3.6.0.dist-info}/WHEEL +0 -0
- {tapps_agents-3.5.40.dist-info → tapps_agents-3.6.0.dist-info}/entry_points.txt +0 -0
- {tapps_agents-3.5.40.dist-info → tapps_agents-3.6.0.dist-info}/top_level.txt +0 -0
|
@@ -1,222 +1,222 @@
|
|
|
1
|
-
# Containerization Best Practices
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
Containerization packages applications with dependencies into portable, isolated units. This guide covers Docker best practices, multi-stage builds, container patterns, and production considerations.
|
|
6
|
-
|
|
7
|
-
## Docker Best Practices
|
|
8
|
-
|
|
9
|
-
### Image Optimization
|
|
10
|
-
|
|
11
|
-
**Multi-Stage Builds:**
|
|
12
|
-
```dockerfile
|
|
13
|
-
# Stage 1: Build
|
|
14
|
-
FROM node:18-alpine AS builder
|
|
15
|
-
WORKDIR /app
|
|
16
|
-
COPY package*.json ./
|
|
17
|
-
RUN npm ci
|
|
18
|
-
COPY . .
|
|
19
|
-
RUN npm run build
|
|
20
|
-
|
|
21
|
-
# Stage 2: Production
|
|
22
|
-
FROM node:18-alpine
|
|
23
|
-
WORKDIR /app
|
|
24
|
-
COPY package*.json ./
|
|
25
|
-
RUN npm ci --only=production
|
|
26
|
-
COPY --from=builder /app/dist ./dist
|
|
27
|
-
USER node
|
|
28
|
-
EXPOSE 3000
|
|
29
|
-
CMD ["node", "dist/server.js"]
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
**Benefits:**
|
|
33
|
-
- Smaller final images
|
|
34
|
-
- No build tools in production
|
|
35
|
-
- Better security (fewer layers)
|
|
36
|
-
|
|
37
|
-
### Layer Caching
|
|
38
|
-
|
|
39
|
-
**Order Layers by Change Frequency:**
|
|
40
|
-
```dockerfile
|
|
41
|
-
# Dependencies (change less frequently)
|
|
42
|
-
COPY package.json package-lock.json ./
|
|
43
|
-
RUN npm ci
|
|
44
|
-
|
|
45
|
-
# Source code (changes frequently)
|
|
46
|
-
COPY . .
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
**Use .dockerignore:**
|
|
50
|
-
```
|
|
51
|
-
node_modules
|
|
52
|
-
.git
|
|
53
|
-
.env
|
|
54
|
-
*.log
|
|
55
|
-
dist
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
### Security Best Practices
|
|
59
|
-
|
|
60
|
-
**Non-Root User:**
|
|
61
|
-
```dockerfile
|
|
62
|
-
FROM node:18-alpine
|
|
63
|
-
RUN addgroup -g 1001 -S nodejs && \
|
|
64
|
-
adduser -S nodejs -u 1001
|
|
65
|
-
USER nodejs
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
**Minimal Base Images:**
|
|
69
|
-
- Use `-alpine` variants
|
|
70
|
-
- Avoid unnecessary packages
|
|
71
|
-
- Keep images small
|
|
72
|
-
|
|
73
|
-
**Scan for Vulnerabilities:**
|
|
74
|
-
```bash
|
|
75
|
-
docker scan myimage:latest
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
## Container Patterns
|
|
79
|
-
|
|
80
|
-
### Sidecar Pattern
|
|
81
|
-
|
|
82
|
-
**Separate Concerns:**
|
|
83
|
-
```yaml
|
|
84
|
-
apiVersion: v1
|
|
85
|
-
kind: Pod
|
|
86
|
-
spec:
|
|
87
|
-
containers:
|
|
88
|
-
- name: app
|
|
89
|
-
image: myapp:latest
|
|
90
|
-
- name: proxy
|
|
91
|
-
image: nginx:alpine
|
|
92
|
-
# Sidecar handles logging, monitoring, etc.
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
### Init Containers
|
|
96
|
-
|
|
97
|
-
**Setup Before Main Container:**
|
|
98
|
-
```yaml
|
|
99
|
-
spec:
|
|
100
|
-
initContainers:
|
|
101
|
-
- name: init-db
|
|
102
|
-
image: busybox
|
|
103
|
-
command: ['sh', '-c', 'until nc -z db 5432; do sleep 1; done']
|
|
104
|
-
containers:
|
|
105
|
-
- name: app
|
|
106
|
-
image: myapp:latest
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
### Ambassador Pattern
|
|
110
|
-
|
|
111
|
-
**Proxy Service Calls:**
|
|
112
|
-
- Container proxies requests to external services
|
|
113
|
-
- Handles retries, circuit breaking
|
|
114
|
-
- Simplifies application code
|
|
115
|
-
|
|
116
|
-
## Production Considerations
|
|
117
|
-
|
|
118
|
-
### Resource Limits
|
|
119
|
-
|
|
120
|
-
```yaml
|
|
121
|
-
resources:
|
|
122
|
-
requests:
|
|
123
|
-
memory: "256Mi"
|
|
124
|
-
cpu: "250m"
|
|
125
|
-
limits:
|
|
126
|
-
memory: "512Mi"
|
|
127
|
-
cpu: "500m"
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
### Health Checks
|
|
131
|
-
|
|
132
|
-
**Liveness Probe:**
|
|
133
|
-
```yaml
|
|
134
|
-
livenessProbe:
|
|
135
|
-
httpGet:
|
|
136
|
-
path: /health/live
|
|
137
|
-
port: 8080
|
|
138
|
-
initialDelaySeconds: 30
|
|
139
|
-
periodSeconds: 10
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
**Readiness Probe:**
|
|
143
|
-
```yaml
|
|
144
|
-
readinessProbe:
|
|
145
|
-
httpGet:
|
|
146
|
-
path: /health/ready
|
|
147
|
-
port: 8080
|
|
148
|
-
initialDelaySeconds: 5
|
|
149
|
-
periodSeconds: 5
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
### Logging Strategy
|
|
153
|
-
|
|
154
|
-
**Write to stdout/stderr:**
|
|
155
|
-
- Applications log to stdout
|
|
156
|
-
- Container runtime captures
|
|
157
|
-
- Aggregated by logging infrastructure
|
|
158
|
-
|
|
159
|
-
### Secret Management
|
|
160
|
-
|
|
161
|
-
**Use Secrets:**
|
|
162
|
-
```yaml
|
|
163
|
-
env:
|
|
164
|
-
- name: DB_PASSWORD
|
|
165
|
-
valueFrom:
|
|
166
|
-
secretKeyRef:
|
|
167
|
-
name: db-secret
|
|
168
|
-
key: password
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
## Dockerfile-Specific Patterns
|
|
172
|
-
|
|
173
|
-
### Multi-Stage Build Optimization
|
|
174
|
-
|
|
175
|
-
**Separate Build and Runtime:**
|
|
176
|
-
```dockerfile
|
|
177
|
-
# Stage 1: Build
|
|
178
|
-
FROM python:3.12-slim AS builder
|
|
179
|
-
WORKDIR /app
|
|
180
|
-
COPY requirements.txt .
|
|
181
|
-
RUN pip install --user --no-cache-dir -r requirements.txt
|
|
182
|
-
|
|
183
|
-
# Stage 2: Runtime
|
|
184
|
-
FROM python:3.12-slim
|
|
185
|
-
WORKDIR /app
|
|
186
|
-
COPY --from=builder /root/.local /root/.local
|
|
187
|
-
COPY . .
|
|
188
|
-
ENV PATH=/root/.local/bin:$PATH
|
|
189
|
-
CMD ["python", "main.py"]
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
### Docker Health Check Patterns
|
|
193
|
-
|
|
194
|
-
**Basic Health Check:**
|
|
195
|
-
```dockerfile
|
|
196
|
-
HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \
|
|
197
|
-
CMD curl -f http://localhost:8000/health || exit 1
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
**Python Service Health Check:**
|
|
201
|
-
```dockerfile
|
|
202
|
-
HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \
|
|
203
|
-
CMD python -c "import requests; requests.get('http://localhost:8000/health')" || exit 1
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
**See Also:**
|
|
207
|
-
- `dockerfile-patterns.md` - Comprehensive Dockerfile patterns
|
|
208
|
-
- `container-health-checks.md` - Detailed health check patterns
|
|
209
|
-
|
|
210
|
-
## Best Practices Summary
|
|
211
|
-
|
|
212
|
-
1. **Use multi-stage builds** for smaller images
|
|
213
|
-
2. **Order layers** by change frequency
|
|
214
|
-
3. **Run as non-root** user
|
|
215
|
-
4. **Set resource limits** to prevent resource exhaustion
|
|
216
|
-
5. **Implement health checks** for reliability
|
|
217
|
-
6. **Use .dockerignore** to reduce build context
|
|
218
|
-
7. **Scan images** for vulnerabilities
|
|
219
|
-
8. **Keep images small** with minimal base images
|
|
220
|
-
9. **Log to stdout** for aggregation
|
|
221
|
-
10. **Use secrets** for sensitive data
|
|
222
|
-
|
|
1
|
+
# Containerization Best Practices
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Containerization packages applications with dependencies into portable, isolated units. This guide covers Docker best practices, multi-stage builds, container patterns, and production considerations.
|
|
6
|
+
|
|
7
|
+
## Docker Best Practices
|
|
8
|
+
|
|
9
|
+
### Image Optimization
|
|
10
|
+
|
|
11
|
+
**Multi-Stage Builds:**
|
|
12
|
+
```dockerfile
|
|
13
|
+
# Stage 1: Build
|
|
14
|
+
FROM node:18-alpine AS builder
|
|
15
|
+
WORKDIR /app
|
|
16
|
+
COPY package*.json ./
|
|
17
|
+
RUN npm ci
|
|
18
|
+
COPY . .
|
|
19
|
+
RUN npm run build
|
|
20
|
+
|
|
21
|
+
# Stage 2: Production
|
|
22
|
+
FROM node:18-alpine
|
|
23
|
+
WORKDIR /app
|
|
24
|
+
COPY package*.json ./
|
|
25
|
+
RUN npm ci --only=production
|
|
26
|
+
COPY --from=builder /app/dist ./dist
|
|
27
|
+
USER node
|
|
28
|
+
EXPOSE 3000
|
|
29
|
+
CMD ["node", "dist/server.js"]
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**Benefits:**
|
|
33
|
+
- Smaller final images
|
|
34
|
+
- No build tools in production
|
|
35
|
+
- Better security (fewer layers)
|
|
36
|
+
|
|
37
|
+
### Layer Caching
|
|
38
|
+
|
|
39
|
+
**Order Layers by Change Frequency:**
|
|
40
|
+
```dockerfile
|
|
41
|
+
# Dependencies (change less frequently)
|
|
42
|
+
COPY package.json package-lock.json ./
|
|
43
|
+
RUN npm ci
|
|
44
|
+
|
|
45
|
+
# Source code (changes frequently)
|
|
46
|
+
COPY . .
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**Use .dockerignore:**
|
|
50
|
+
```
|
|
51
|
+
node_modules
|
|
52
|
+
.git
|
|
53
|
+
.env
|
|
54
|
+
*.log
|
|
55
|
+
dist
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Security Best Practices
|
|
59
|
+
|
|
60
|
+
**Non-Root User:**
|
|
61
|
+
```dockerfile
|
|
62
|
+
FROM node:18-alpine
|
|
63
|
+
RUN addgroup -g 1001 -S nodejs && \
|
|
64
|
+
adduser -S nodejs -u 1001
|
|
65
|
+
USER nodejs
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**Minimal Base Images:**
|
|
69
|
+
- Use `-alpine` variants
|
|
70
|
+
- Avoid unnecessary packages
|
|
71
|
+
- Keep images small
|
|
72
|
+
|
|
73
|
+
**Scan for Vulnerabilities:**
|
|
74
|
+
```bash
|
|
75
|
+
docker scan myimage:latest
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Container Patterns
|
|
79
|
+
|
|
80
|
+
### Sidecar Pattern
|
|
81
|
+
|
|
82
|
+
**Separate Concerns:**
|
|
83
|
+
```yaml
|
|
84
|
+
apiVersion: v1
|
|
85
|
+
kind: Pod
|
|
86
|
+
spec:
|
|
87
|
+
containers:
|
|
88
|
+
- name: app
|
|
89
|
+
image: myapp:latest
|
|
90
|
+
- name: proxy
|
|
91
|
+
image: nginx:alpine
|
|
92
|
+
# Sidecar handles logging, monitoring, etc.
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Init Containers
|
|
96
|
+
|
|
97
|
+
**Setup Before Main Container:**
|
|
98
|
+
```yaml
|
|
99
|
+
spec:
|
|
100
|
+
initContainers:
|
|
101
|
+
- name: init-db
|
|
102
|
+
image: busybox
|
|
103
|
+
command: ['sh', '-c', 'until nc -z db 5432; do sleep 1; done']
|
|
104
|
+
containers:
|
|
105
|
+
- name: app
|
|
106
|
+
image: myapp:latest
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Ambassador Pattern
|
|
110
|
+
|
|
111
|
+
**Proxy Service Calls:**
|
|
112
|
+
- Container proxies requests to external services
|
|
113
|
+
- Handles retries, circuit breaking
|
|
114
|
+
- Simplifies application code
|
|
115
|
+
|
|
116
|
+
## Production Considerations
|
|
117
|
+
|
|
118
|
+
### Resource Limits
|
|
119
|
+
|
|
120
|
+
```yaml
|
|
121
|
+
resources:
|
|
122
|
+
requests:
|
|
123
|
+
memory: "256Mi"
|
|
124
|
+
cpu: "250m"
|
|
125
|
+
limits:
|
|
126
|
+
memory: "512Mi"
|
|
127
|
+
cpu: "500m"
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### Health Checks
|
|
131
|
+
|
|
132
|
+
**Liveness Probe:**
|
|
133
|
+
```yaml
|
|
134
|
+
livenessProbe:
|
|
135
|
+
httpGet:
|
|
136
|
+
path: /health/live
|
|
137
|
+
port: 8080
|
|
138
|
+
initialDelaySeconds: 30
|
|
139
|
+
periodSeconds: 10
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**Readiness Probe:**
|
|
143
|
+
```yaml
|
|
144
|
+
readinessProbe:
|
|
145
|
+
httpGet:
|
|
146
|
+
path: /health/ready
|
|
147
|
+
port: 8080
|
|
148
|
+
initialDelaySeconds: 5
|
|
149
|
+
periodSeconds: 5
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### Logging Strategy
|
|
153
|
+
|
|
154
|
+
**Write to stdout/stderr:**
|
|
155
|
+
- Applications log to stdout
|
|
156
|
+
- Container runtime captures
|
|
157
|
+
- Aggregated by logging infrastructure
|
|
158
|
+
|
|
159
|
+
### Secret Management
|
|
160
|
+
|
|
161
|
+
**Use Secrets:**
|
|
162
|
+
```yaml
|
|
163
|
+
env:
|
|
164
|
+
- name: DB_PASSWORD
|
|
165
|
+
valueFrom:
|
|
166
|
+
secretKeyRef:
|
|
167
|
+
name: db-secret
|
|
168
|
+
key: password
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## Dockerfile-Specific Patterns
|
|
172
|
+
|
|
173
|
+
### Multi-Stage Build Optimization
|
|
174
|
+
|
|
175
|
+
**Separate Build and Runtime:**
|
|
176
|
+
```dockerfile
|
|
177
|
+
# Stage 1: Build
|
|
178
|
+
FROM python:3.12-slim AS builder
|
|
179
|
+
WORKDIR /app
|
|
180
|
+
COPY requirements.txt .
|
|
181
|
+
RUN pip install --user --no-cache-dir -r requirements.txt
|
|
182
|
+
|
|
183
|
+
# Stage 2: Runtime
|
|
184
|
+
FROM python:3.12-slim
|
|
185
|
+
WORKDIR /app
|
|
186
|
+
COPY --from=builder /root/.local /root/.local
|
|
187
|
+
COPY . .
|
|
188
|
+
ENV PATH=/root/.local/bin:$PATH
|
|
189
|
+
CMD ["python", "main.py"]
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### Docker Health Check Patterns
|
|
193
|
+
|
|
194
|
+
**Basic Health Check:**
|
|
195
|
+
```dockerfile
|
|
196
|
+
HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \
|
|
197
|
+
CMD curl -f http://localhost:8000/health || exit 1
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
**Python Service Health Check:**
|
|
201
|
+
```dockerfile
|
|
202
|
+
HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \
|
|
203
|
+
CMD python -c "import requests; requests.get('http://localhost:8000/health')" || exit 1
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
**See Also:**
|
|
207
|
+
- `dockerfile-patterns.md` - Comprehensive Dockerfile patterns
|
|
208
|
+
- `container-health-checks.md` - Detailed health check patterns
|
|
209
|
+
|
|
210
|
+
## Best Practices Summary
|
|
211
|
+
|
|
212
|
+
1. **Use multi-stage builds** for smaller images
|
|
213
|
+
2. **Order layers** by change frequency
|
|
214
|
+
3. **Run as non-root** user
|
|
215
|
+
4. **Set resource limits** to prevent resource exhaustion
|
|
216
|
+
5. **Implement health checks** for reliability
|
|
217
|
+
6. **Use .dockerignore** to reduce build context
|
|
218
|
+
7. **Scan images** for vulnerabilities
|
|
219
|
+
8. **Keep images small** with minimal base images
|
|
220
|
+
9. **Log to stdout** for aggregation
|
|
221
|
+
10. **Use secrets** for sensitive data
|
|
222
|
+
|
|
@@ -1,122 +1,122 @@
|
|
|
1
|
-
# Cloud Cost Optimization
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
Cloud cost optimization reduces spending while maintaining performance and functionality. This guide covers strategies for rightsizing, reservations, monitoring, and cost allocation.
|
|
6
|
-
|
|
7
|
-
## Cost Optimization Strategies
|
|
8
|
-
|
|
9
|
-
### Rightsizing
|
|
10
|
-
|
|
11
|
-
**Match Resources to Workloads:**
|
|
12
|
-
- Analyze actual usage
|
|
13
|
-
- Downsize over-provisioned resources
|
|
14
|
-
- Upsize under-provisioned resources
|
|
15
|
-
- Use auto-scaling
|
|
16
|
-
|
|
17
|
-
**Tools:**
|
|
18
|
-
- AWS Cost Explorer
|
|
19
|
-
- Google Cloud Recommender
|
|
20
|
-
- Azure Cost Management
|
|
21
|
-
|
|
22
|
-
### Reserved Instances
|
|
23
|
-
|
|
24
|
-
**Commitment Discounts:**
|
|
25
|
-
- 1-3 year commitments
|
|
26
|
-
- Significant discounts (up to 75%)
|
|
27
|
-
- Predictable workloads
|
|
28
|
-
- All Upfront, Partial Upfront, No Upfront
|
|
29
|
-
|
|
30
|
-
### Spot Instances
|
|
31
|
-
|
|
32
|
-
**Interruptible Resources:**
|
|
33
|
-
- Up to 90% discount
|
|
34
|
-
- For fault-tolerant workloads
|
|
35
|
-
- Batch processing
|
|
36
|
-
- Auto-scaling groups
|
|
37
|
-
|
|
38
|
-
### Auto-Scaling
|
|
39
|
-
|
|
40
|
-
**Match Demand:**
|
|
41
|
-
- Scale up during peaks
|
|
42
|
-
- Scale down during valleys
|
|
43
|
-
- Reduce idle resources
|
|
44
|
-
- Cost-effective scaling
|
|
45
|
-
|
|
46
|
-
### Serverless
|
|
47
|
-
|
|
48
|
-
**Pay Per Use:**
|
|
49
|
-
- Only pay for execution time
|
|
50
|
-
- No idle costs
|
|
51
|
-
- Auto-scaling included
|
|
52
|
-
- Event-driven workloads
|
|
53
|
-
|
|
54
|
-
## Monitoring and Tagging
|
|
55
|
-
|
|
56
|
-
### Resource Tagging
|
|
57
|
-
|
|
58
|
-
**Cost Allocation:**
|
|
59
|
-
```json
|
|
60
|
-
{
|
|
61
|
-
"Environment": "production",
|
|
62
|
-
"Team": "backend",
|
|
63
|
-
"Project": "user-service",
|
|
64
|
-
"CostCenter": "engineering"
|
|
65
|
-
}
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### Cost Monitoring
|
|
69
|
-
|
|
70
|
-
**Track Spending:**
|
|
71
|
-
- Daily, weekly, monthly reports
|
|
72
|
-
- Budget alerts
|
|
73
|
-
- Anomaly detection
|
|
74
|
-
- Department allocation
|
|
75
|
-
|
|
76
|
-
### Cost Dashboards
|
|
77
|
-
|
|
78
|
-
**Visualize Spending:**
|
|
79
|
-
- By service
|
|
80
|
-
- By team
|
|
81
|
-
- By environment
|
|
82
|
-
- Trends over time
|
|
83
|
-
|
|
84
|
-
## Optimization Patterns
|
|
85
|
-
|
|
86
|
-
### Storage Optimization
|
|
87
|
-
|
|
88
|
-
**Choose Right Storage:**
|
|
89
|
-
- Hot data: Premium storage
|
|
90
|
-
- Warm data: Standard storage
|
|
91
|
-
- Cold data: Archive storage
|
|
92
|
-
- Delete unused data
|
|
93
|
-
|
|
94
|
-
### Network Optimization
|
|
95
|
-
|
|
96
|
-
**Reduce Data Transfer:**
|
|
97
|
-
- Use CDN for static content
|
|
98
|
-
- Minimize cross-region transfer
|
|
99
|
-
- Compress data
|
|
100
|
-
- Cache responses
|
|
101
|
-
|
|
102
|
-
### Compute Optimization
|
|
103
|
-
|
|
104
|
-
**Efficient Resource Usage:**
|
|
105
|
-
- Use appropriate instance types
|
|
106
|
-
- Containerize for efficiency
|
|
107
|
-
- Optimize application code
|
|
108
|
-
- Use spot instances for batch
|
|
109
|
-
|
|
110
|
-
## Best Practices
|
|
111
|
-
|
|
112
|
-
1. **Tag Resources:** For cost allocation
|
|
113
|
-
2. **Monitor Regularly:** Track spending trends
|
|
114
|
-
3. **Set Budgets:** Alert on overspending
|
|
115
|
-
4. **Review Monthly:** Identify optimization opportunities
|
|
116
|
-
5. **Use Reserved Instances:** For predictable workloads
|
|
117
|
-
6. **Right-size Resources:** Match to actual usage
|
|
118
|
-
7. **Delete Unused:** Clean up orphaned resources
|
|
119
|
-
8. **Use Auto-scaling:** Match demand
|
|
120
|
-
9. **Choose Appropriate Storage:** Tier by access pattern
|
|
121
|
-
10. **Review Pricing Models:** Optimize per workload
|
|
122
|
-
|
|
1
|
+
# Cloud Cost Optimization
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Cloud cost optimization reduces spending while maintaining performance and functionality. This guide covers strategies for rightsizing, reservations, monitoring, and cost allocation.
|
|
6
|
+
|
|
7
|
+
## Cost Optimization Strategies
|
|
8
|
+
|
|
9
|
+
### Rightsizing
|
|
10
|
+
|
|
11
|
+
**Match Resources to Workloads:**
|
|
12
|
+
- Analyze actual usage
|
|
13
|
+
- Downsize over-provisioned resources
|
|
14
|
+
- Upsize under-provisioned resources
|
|
15
|
+
- Use auto-scaling
|
|
16
|
+
|
|
17
|
+
**Tools:**
|
|
18
|
+
- AWS Cost Explorer
|
|
19
|
+
- Google Cloud Recommender
|
|
20
|
+
- Azure Cost Management
|
|
21
|
+
|
|
22
|
+
### Reserved Instances
|
|
23
|
+
|
|
24
|
+
**Commitment Discounts:**
|
|
25
|
+
- 1-3 year commitments
|
|
26
|
+
- Significant discounts (up to 75%)
|
|
27
|
+
- Predictable workloads
|
|
28
|
+
- All Upfront, Partial Upfront, No Upfront
|
|
29
|
+
|
|
30
|
+
### Spot Instances
|
|
31
|
+
|
|
32
|
+
**Interruptible Resources:**
|
|
33
|
+
- Up to 90% discount
|
|
34
|
+
- For fault-tolerant workloads
|
|
35
|
+
- Batch processing
|
|
36
|
+
- Auto-scaling groups
|
|
37
|
+
|
|
38
|
+
### Auto-Scaling
|
|
39
|
+
|
|
40
|
+
**Match Demand:**
|
|
41
|
+
- Scale up during peaks
|
|
42
|
+
- Scale down during valleys
|
|
43
|
+
- Reduce idle resources
|
|
44
|
+
- Cost-effective scaling
|
|
45
|
+
|
|
46
|
+
### Serverless
|
|
47
|
+
|
|
48
|
+
**Pay Per Use:**
|
|
49
|
+
- Only pay for execution time
|
|
50
|
+
- No idle costs
|
|
51
|
+
- Auto-scaling included
|
|
52
|
+
- Event-driven workloads
|
|
53
|
+
|
|
54
|
+
## Monitoring and Tagging
|
|
55
|
+
|
|
56
|
+
### Resource Tagging
|
|
57
|
+
|
|
58
|
+
**Cost Allocation:**
|
|
59
|
+
```json
|
|
60
|
+
{
|
|
61
|
+
"Environment": "production",
|
|
62
|
+
"Team": "backend",
|
|
63
|
+
"Project": "user-service",
|
|
64
|
+
"CostCenter": "engineering"
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Cost Monitoring
|
|
69
|
+
|
|
70
|
+
**Track Spending:**
|
|
71
|
+
- Daily, weekly, monthly reports
|
|
72
|
+
- Budget alerts
|
|
73
|
+
- Anomaly detection
|
|
74
|
+
- Department allocation
|
|
75
|
+
|
|
76
|
+
### Cost Dashboards
|
|
77
|
+
|
|
78
|
+
**Visualize Spending:**
|
|
79
|
+
- By service
|
|
80
|
+
- By team
|
|
81
|
+
- By environment
|
|
82
|
+
- Trends over time
|
|
83
|
+
|
|
84
|
+
## Optimization Patterns
|
|
85
|
+
|
|
86
|
+
### Storage Optimization
|
|
87
|
+
|
|
88
|
+
**Choose Right Storage:**
|
|
89
|
+
- Hot data: Premium storage
|
|
90
|
+
- Warm data: Standard storage
|
|
91
|
+
- Cold data: Archive storage
|
|
92
|
+
- Delete unused data
|
|
93
|
+
|
|
94
|
+
### Network Optimization
|
|
95
|
+
|
|
96
|
+
**Reduce Data Transfer:**
|
|
97
|
+
- Use CDN for static content
|
|
98
|
+
- Minimize cross-region transfer
|
|
99
|
+
- Compress data
|
|
100
|
+
- Cache responses
|
|
101
|
+
|
|
102
|
+
### Compute Optimization
|
|
103
|
+
|
|
104
|
+
**Efficient Resource Usage:**
|
|
105
|
+
- Use appropriate instance types
|
|
106
|
+
- Containerize for efficiency
|
|
107
|
+
- Optimize application code
|
|
108
|
+
- Use spot instances for batch
|
|
109
|
+
|
|
110
|
+
## Best Practices
|
|
111
|
+
|
|
112
|
+
1. **Tag Resources:** For cost allocation
|
|
113
|
+
2. **Monitor Regularly:** Track spending trends
|
|
114
|
+
3. **Set Budgets:** Alert on overspending
|
|
115
|
+
4. **Review Monthly:** Identify optimization opportunities
|
|
116
|
+
5. **Use Reserved Instances:** For predictable workloads
|
|
117
|
+
6. **Right-size Resources:** Match to actual usage
|
|
118
|
+
7. **Delete Unused:** Clean up orphaned resources
|
|
119
|
+
8. **Use Auto-scaling:** Match demand
|
|
120
|
+
9. **Choose Appropriate Storage:** Tier by access pattern
|
|
121
|
+
10. **Review Pricing Models:** Optimize per workload
|
|
122
|
+
|