Skip to main content

devops_models/models/
mod.rs

1//! Data structures for DevOps configuration formats.
2//!
3//! All models derive `serde::Serialize` and `serde::Deserialize` and can be
4//! round-tripped through YAML or JSON.  Models that have business-logic
5//! validation implement the [`validation::ConfigValidator`] trait.
6//!
7//! ## Modules
8//!
9//! | Module | Formats |
10//! |--------|---------|
11//! | [`k8s`] | Core K8s types (Deployment, Service, ConfigMap, Secret) |
12//! | [`k8s_workloads`] | HPA, CronJob, Job, StatefulSet, DaemonSet |
13//! | [`k8s_networking`] | Ingress, NetworkPolicy |
14//! | [`k8s_storage`] | PersistentVolumeClaim |
15//! | [`k8s_rbac`] | Role, ClusterRole, RoleBinding, ServiceAccount |
16//! | [`gitlab`] | GitLab CI pipelines |
17//! | [`github_actions`] | GitHub Actions workflows |
18//! | [`docker_compose`] | Docker Compose files |
19//! | [`prometheus`] | Prometheus + Alertmanager configs |
20//! | [`helm`] | Helm values.yaml |
21//! | [`ansible`] | Ansible playbooks |
22//! | [`validation`] | Shared validation types and `ConfigValidator` trait |
23
24// Data-container modules: fields are self-documenting by name and format.
25// The `validation` module is excluded so its trait + key types stay documented.
26#[allow(missing_docs)]
27pub mod ansible;
28#[allow(missing_docs)]
29pub mod docker_compose;
30#[allow(missing_docs)]
31pub mod github_actions;
32#[allow(missing_docs)]
33pub mod gitlab;
34#[allow(missing_docs)]
35pub mod helm;
36#[allow(missing_docs)]
37pub mod k8s;
38#[allow(missing_docs)]
39pub mod k8s_networking;
40#[allow(missing_docs)]
41pub mod k8s_rbac;
42#[allow(missing_docs)]
43pub mod k8s_storage;
44#[allow(missing_docs)]
45pub mod k8s_workloads;
46#[allow(missing_docs)]
47pub mod prometheus;
48pub mod validation;