-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathCargo.toml
More file actions
168 lines (145 loc) · 5.07 KB
/
Cargo.toml
File metadata and controls
168 lines (145 loc) · 5.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
[package]
name = "syncable-cli"
version = "0.37.1"
edition = "2024"
rust-version = "1.88" # MSRV - AWS SDK requires 1.88
authors = ["Syncable Team"]
description = "A Rust-based CLI that analyzes code repositories and generates Infrastructure as Code configurations"
license = "GPL-3.0"
repository = "https://github.com/syncable-dev/syncable-cli"
keywords = [
"cli",
"docker",
"kubernetes",
"terraform",
"devops",
]
categories = ["command-line-utilities", "development-tools"]
readme = "README.md"
# Platform support
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu", "x86_64-pc-windows-msvc", "x86_64-apple-darwin"]
[[bin]]
name = "sync-ctl"
path = "src/main.rs"
[dependencies]
clap = { version = "4", features = ["derive", "env", "cargo"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yaml = "0.9"
yaml-rust2 = "0.11" # YAML parsing with position tracking for dclint
hcl-rs = "0.19.4" # HCL parsing for Terraform kubernetes resources
toml = "0.9"
log = "0.4"
env_logger = "0.11"
thiserror = "2"
walkdir = "2"
tera = "1"
indicatif = "0.18"
regex = "1"
glob = "0.3"
once_cell = "1"
rayon = "1.11"
termcolor = "1"
chrono = { version = "0.4", features = ["serde"] }
colored = "3"
crossterm = "0.29" # Terminal raw mode for interactive input
inquire = "0.9" # Interactive terminal prompts with autocomplete
rustyline = "17" # Readline-style input with completions
webbrowser = "1" # Open URLs in default browser
prettytable = "0.10"
term_size = "0.3"
# Vulnerability checking dependencies
rustsec = "0.31"
reqwest = { version = "0.13", features = ["json", "blocking"] }
tokio = { version = "1", features = ["rt", "macros", "rt-multi-thread", "sync", "process", "io-util", "signal"] }
textwrap = "0.16"
tempfile = "3"
dirs = "6"
# Performance dependencies for turbo security analyzer
aho-corasick = "1.1" # Multi-pattern string matching
memmap2 = "0.9" # Memory-mapped file I/O
dashmap = "6" # Concurrent hashmap for caching
crossbeam = { version = "0.8", features = ["crossbeam-channel"] } # High-performance channels
blake3 = "1.5" # Fast hashing for cache keys
regex-automata = "0.4" # Compiled regex sets
num_cpus = "1.16" # CPU count detection
parking_lot = "0.12" # Faster mutex/rwlock
ahash = "0.8" # Fast hash function
bstr = "1.9" # Byte string utilities
simdutf8 = "0.1" # SIMD UTF-8 validation
# Telemetry dependencies
uuid = { version = "1.0", features = ["v4", "serde"] }
rand = "0.9"
futures-util = "0.3"
# Agent dependencies (using Rig - LLM application framework)
rig-core = { version = "0.28", features = ["derive", "image"] }
# AG-UI Protocol - Syncable SDK for frontend connectivity
syncable-ag-ui-core = "0.2"
syncable-ag-ui-server = "0.2"
axum = { version = "0.8", features = ["ws"] }
tower-http = { version = "0.6", features = ["cors"] }
tokio-stream = { version = "0.1", features = ["sync"] }
# AWS Bedrock dependencies (inlined bedrock module with extended thinking fixes)
async-stream = "0.3"
aws-config = { version = "1", features = ["behavior-version-latest"] }
aws-sdk-bedrockruntime = "1"
aws-smithy-types = "1"
base64 = "0.22"
schemars = "1"
tracing = "0.1"
# Diff rendering for file confirmation UI
similar = "2.6"
# Kubernetes API client for live cluster metrics (Phase 2)
kube = { version = "2.0", features = ["client", "runtime", "derive"] }
k8s-openapi = { version = "0.26", features = ["latest"] }
http = "1" # Required for raw API requests with kube
urlencoding = "2" # URL encoding for Prometheus queries
rustls = { version = "0.23", features = ["ring"] } # TLS for K8s API
# Markdown rendering and syntax highlighting
termimad = "0.34" # Terminal markdown rendering
syntect = "5" # Syntax highlighting
strip-ansi-escapes = "0.2" # Strip ANSI codes for testing
# Dockerfile linting (hadolint-rs)
nom = "7" # Parser combinators for Dockerfile parsing
anyhow = "1.0.100"
open = "5.3.3"
[dev-dependencies]
assert_cmd = "2"
predicates = "3"
tempfile = "3"
proptest = "1"
# Fast debug builds - prioritize compile speed over runtime
[profile.dev]
opt-level = 0
debug = true
incremental = true
codegen-units = 256 # More parallel compilation
# Optimize heavy deps even in dev mode (huge speedup for iterative builds)
[profile.dev.package."*"]
opt-level = 2 # Dependencies compile once, worth optimizing
# Specifically optimize the slowest deps
[profile.dev.package.syntect]
opt-level = 3
[profile.dev.package.aws-sdk-bedrockruntime]
opt-level = 2
[profile.dev.package.kube]
opt-level = 2
[profile.dev.package.k8s-openapi]
opt-level = 2
[profile.dev.package.regex]
opt-level = 2
[profile.dev.package.regex-automata]
opt-level = 2
# Release profile - optimized for runtime performance
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
panic = "abort"
[[example]]
name = "check_vulnerabilities"
path = "examples/check_vulnerabilities.rs"
[[example]]
name = "security_analysis"
path = "examples/security_analysis.rs"