81 lines
1.8 KiB
TOML
81 lines
1.8 KiB
TOML
[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"]
|