//! Example org-ops CLI — BXNet consortium. //! //! This binary demonstrates how to build a governed CLI for your //! consortium using the org-ops-core framework. Fork this file and //! replace the config values with your org's identity. use org_ops_core::{ AuthCommands, AuthConfig, GitConfig, GovernedGitCommands, OrgOps, OrgOpsConfig, PlaybookCommands, }; fn main() -> anyhow::Result<()> { let forgejo_token = std::env::var("FORGEJO_TOKEN").ok(); OrgOps::builder() .with_config(OrgOpsConfig { // ── Replace these with your consortium's values ── org_name: "BXNet".into(), trust_domain: "bxnet.io".into(), bascule_endpoint: "bascule.bxnet.io:443".into(), chronicle_endpoint: "chronicle.bxnet.io:8080".into(), binary_name: "bxnet-ops".into(), description: "BXNet governed operations CLI".into(), version: env!("CARGO_PKG_VERSION").into(), infra_namespace: "guildhouse-infra".into(), bridge_daemonset: "substrate-bridge".into(), ssh_user: "tking".into(), }) .with_commands(AuthCommands::new(AuthConfig { oidc_issuer: "https://auth.bxnet.io/realms/guildhouse".into(), client_id: "bxnet-ops".into(), config_dir_name: "bxnet-ops".into(), ..Default::default() })) .with_commands(GovernedGitCommands::new(GitConfig { forgejo_url: "https://git.bxnet.io".into(), forgejo_token, chronicle_webhook: "http://localhost:8090/webhook/forgejo".into(), })) .with_commands(PlaybookCommands::new( "./playbooks", "http://localhost:8090/webhook/forgejo", )) .build() .run() }