1
0
Fork
You've already forked tco
0
  • Rust 100%
Find a file
Peter Gerber 73840ac281
Use rr::LowerName instead String for mail_domains from Ansilbe
This should make the output correct in more cases, including for
IDNA names.
2026年07月06日 09:45:07 +02:00
debian/scripts Debian packaging: use set -e in post-removal script 2025年02月18日 10:42:10 +01:00
src Use rr::LowerName instead String for mail_domains from Ansilbe 2026年07月06日 09:45:07 +02:00
test_utils rustfmt: reformat using imports_granularity=Item 2026年04月21日 17:30:11 +02:00
.build.yml CI: run tests on FreeBSD via sr.ht 2024年07月22日 08:15:13 +02:00
.clippy.toml Integrate config_quick with WordPress 2025年10月28日 15:21:02 +01:00
.gitignore Big bang 2023年02月15日 14:26:57 +01:00
.gitlab-ci.yml Switch to new host (deb.vm.tocco.ch) for publishing Debian package 2026年03月03日 14:21:50 +01:00
Cargo.toml Use rr::LowerName instead String for mail_domains from Ansilbe 2026年07月06日 09:45:07 +02:00
CODEOWNERS Add CODEOWNERS file 2025年02月19日 11:16:52 +01:00
deny.toml Update dependency reqwest to v0.13 2026年02月02日 11:19:39 +01:00
LICENSE Big bang 2023年02月15日 14:26:57 +01:00
README.md Update README 2026年06月02日 22:55:51 +02:00

Tco

Multi-purpose tool aimed at Tocco employees. Simplifies various work tasks.

I've mostly written this for myself but anyone is free to use it and contribute.

Documentation

API: https://toccoag.gitlab.io/devops/tco

Install

  1. Install cargo (see https://rustup.rs/).

  2. Compile and install:

    cargo install --git https://gitlab.com/toccoag/devops/tco.git
    

Update

  1. Update compiler:

    rustup update
    
  2. Update tco:

    cargo install --git https://gitlab.com/toccoag/devops/tco.git
    

Development

Make sure cargo is installed (see https://rustup.rs/).

Syntax check

cargo check

Linter

cargo clippy --tests

Run all tests

cargo test

Some tests may fail because VSHN's DB servers don't allow enough concurrent SSH connections. If this happens, try adding this to ~/.ssh/config:

Host *
	# KnownHostsCommand /usr/bin/sleep 5
	ControlMaster auto
	ControlPersist 300
	ControlPath %d/.ssh/control/%C

Exclude tests that need local secrets (Vault password, ssh key, etc.)

cargo test --no-default-features

Run application

cargo run -- help

Install from cloned repository

cargo install --path .

Speed up build using Cranelift

Cranelift can be used to improve compile time greatly in exchange for a greatly reduce runtime performance.

Check for security advisories and license issues

Install cargo deny:

cargo install --locked cargo-deny

Check:

cargo deny check

Build documentation

cargo doc --open --document-private-items