[package] name = "gitops" version = "0.1.0" edition = "2021" rust-version = "1.75" authors = ["Provctl Contributors"] license = "MIT" repository = "https://github.com/provctl" description = "Event-driven GitOps orchestration with adaptive workflow resolution" documentation = "https://docs.rs/gitops" keywords = ["gitops", "ci-cd", "automation", "event-driven", "iac"] categories = ["development-tools", "config"] [dependencies] serde = { version = "1", features = ["derive"] } serde_json = "1.0" serde_yaml = "0.9" toml = "0.9" thiserror = "2" anyhow = "1" tracing = "0.1" tokio = { version = "1", features = ["sync"] } async-trait = "0.1" # Git operations gix = "0.68" # Git providers octocrab = { version = "0.41", optional = true } gitlab = { version = "0.1805", optional = true } gitea-rs = { version = "1.19", optional = true } # Woodpecker CI (uses standard HTTP/REST API, no dedicated crate needed) # Forgejo (compatible with Gitea API) # Kubernetes (optional) kube = { version = "0.98", optional = true, features = ["runtime", "derive"] } # HTTP/Webhooks axum = "0.8" tower = "0.5" tower-http = "0.6" # Scheduling cron = "0.12" # Time chrono = { version = "0.4", features = ["serde"] } # UUID uuid = { version = "1", features = ["v4", "serde"] } # Regex for event matching regex = "1" # Async utilities futures = "0.3" # JSON query (jq-like) jq-rs = { version = "0.4", optional = true } # Syntaxis integration # syntaxis-integration = { path = "../syntaxis-integration" } [dev-dependencies] proptest = "1" tempfile = "3" mockall = "0.14" [features] default = ["github", "standalone"] github = ["dep:octocrab"] gitlab = ["dep:gitlab"] gitea = ["dep:gitea-rs"] forgejo = [] woodpecker = [] kubernetes = ["dep:kube"] jq = ["dep:jq-rs"] standalone = [] full = ["github", "gitlab", "gitea", "forgejo", "woodpecker", "kubernetes", "jq"]