Code Monkey home page Code Monkey logo

tencent / tat-agent Goto Github PK

View Code? Open in Web Editor NEW
131.0 10.0 28.0 593 KB

TAT agent is an agent written in Rust, which run in CVM, Lighthouse or CPM 2.0 instances. Its role is to run commands remotely without ssh login, invoked from TencentCloud Console/API. Commands include but not limited to: Shell, PowerShell, Python. TAT stands for TencentCloud Automation Tools. See more info at https://cloud.tencent.com/product/tat.

License: Other

Dockerfile 0.03% Makefile 0.98% Batchfile 0.81% Shell 2.54% Rust 90.15% PowerShell 0.62% HTML 3.66% JavaScript 1.21%
rust agent tencentcloud tat

tat-agent's Introduction

TAT Agent

简体中文 | English

TencentCloud Automation Tools (TAT) is a native operations and maintenance deployment tool for cloud servers. TAT provides an automated way to directly manage instances and batch execute commands such as Shell, Powershell, Batch, etc. to easily complete common management tasks such as running automation scripts, polling processes, installing or uninstalling software, updating applications and installing patches.

For more information, please visit https://cloud.tencent.com/product/tat .

Environment & Tools

  • Rust environment

Compile

The version of rust must be higher than 1.80, If the version is too low, you can update the version with the following command:

rustup update

Then run the following command to compile::

cargo build --release --bin tat_agent

Run

After successful compilation, run the following command:

  • Linux
./target/release/tat_agent
  • Windows
./target/release/tat_agent.exe

Supported OS

Binary can run at both Linux & Windows Distributions, including but not limited to:

  • Tencent Linux
  • CentOS
  • Ubuntu
  • Debian
  • openSUSE
  • CoreOS

tat-agent's People

Contributors

hustclf avatar shang-chengxiang avatar lixiaofei123 avatar

Stargazers

指尖浮生 avatar Colum avatar Gelois avatar 牧人 avatar driverxdw avatar cci avatar marco gazzuolo avatar Sebastian Christiansen avatar  avatar  avatar Joelly.W avatar Zhwt avatar Joysu avatar duanjunxiao avatar  avatar testtianmaaaa avatar hejie avatar  avatar xuyang2 avatar  avatar Darren avatar houseme avatar Hatter Jiang avatar ⠀ avatar conanforever22 avatar sunBin avatar  avatar ph avatar  avatar Kodai Kabasawa avatar _c757 avatar sharpron avatar  avatar trivia avatar  avatar  avatar coolder avatar  avatar 栖竹 avatar FMLS avatar Jim Chen avatar flypig avatar Di Wu avatar Chris Coates avatar  avatar syco avatar encorexiao avatar Boolean avatar 布丁 avatar  avatar Slzdude avatar chriskali avatar  avatar garming avatar hezkvectory avatar 18idc avatar LhY.mE avatar Rex Lee avatar  avatar  avatar Omega Lightning avatar  avatar leeyi avatar VimT avatar  avatar tim zhong avatar eliqiao avatar  avatar  avatar  avatar 2688 avatar  avatar 叶俊青 avatar Yongzheng Lai avatar Paul Yang avatar 夏小龙 avatar Will.Wei avatar Theofanis Despoudis avatar tommyjarvis avatar 木头981 avatar  avatar DevineLiu avatar  avatar yangger avatar brian avatar  avatar hansxing avatar Fity Yang avatar Ma Qiang avatar 敖律风 avatar Yorfir avatar DIng avatar Henry avatar Ink33 avatar  avatar Andrey Kirichenko avatar Infinity Detective avatar aGentleKnife avatar Scuzz3y avatar Erik Anderson avatar

Watchers

syco avatar James Cloos avatar  avatar  avatar  avatar jiaxin avatar FMLS avatar root0day avatar  avatar  avatar

tat-agent's Issues

I think we should support Mac OS

When I fork local the following errors occur when compiling locally. The error log probably means that my cargo source cannot find the corresponding os

   Compiling procfs v0.12.0
error[E0433]: failed to resolve: could not find `linux` in `os`
  --> /Users/jameszow/.cargo/registry/src/github.com-1ecc6299db9ec823/procfs-0.12.0/src/process/mod.rs:66:14
   |
66 | use std::os::linux::fs::MetadataExt;
   |              ^^^^^ could not find `linux` in `os`

error[E0425]: cannot find function `stat64` in crate `libc`
   --> /Users/jameszow/.cargo/registry/src/github.com-1ecc6299db9ec823/procfs-0.12.0/src/process/namespaces.rs:25:31
    |
25  |             if unsafe { libc::stat64(cstr.as_ptr(), &mut stat) } != 0 {
    |                               ^^^^^^ help: a function with a similar name exists: `stat`
    |
   ::: /Users/jameszow/.cargo/registry/src/github.com-1ecc6299db9ec823/libc-0.2.126/src/unix/mod.rs:726:5
    |
726 |     pub fn stat(path: *const c_char, buf: *mut stat) -> ::c_int;
    |     ----------------------------------------------------------- similarly named function `stat` defined here

   Compiling http-body v0.1.0
error[E0599]: no method named `st_mode` found for struct `Metadata` in the current scope
   --> /Users/jameszow/.cargo/registry/src/github.com-1ecc6299db9ec823/procfs-0.12.0/src/process/mod.rs:701:23
    |
701 |             mode: (md.st_mode() as libc::mode_t) & libc::S_IRWXU,
    |                       ^^^^^^^ method not found in `Metadata`
    |
   ::: /Users/jameszow/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/std/src/os/macos/fs.rs:34:8
    |
34  |     fn st_mode(&self) -> u32;
    |        ------- the method is available for `Metadata` here
    |
    = help: items from traits can only be used if the trait is in scope
help: the following trait is implemented but not in scope; perhaps add a `use` for it:
    |
55  | use std::os::macos::fs::MetadataExt;
    |

error[E0599]: no method named `st_uid` found for struct `Metadata` in the current scope
   --> /Users/jameszow/.cargo/registry/src/github.com-1ecc6299db9ec823/procfs-0.12.0/src/process/mod.rs:759:23
    |
759 |             owner: md.st_uid(),
    |                       ^^^^^^ method not found in `Metadata`
    |
   ::: /Users/jameszow/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/std/src/os/macos/fs.rs:38:8
    |
38  |     fn st_uid(&self) -> u32;
    |        ------ the method is available for `Metadata` here
    |
    = help: items from traits can only be used if the trait is in scope
help: the following trait is implemented but not in scope; perhaps add a `use` for it:
    |
55  | use std::os::macos::fs::MetadataExt;
    |

error[E0599]: no method named `st_mode` found for struct `Metadata` in the current scope
   --> /Users/jameszow/.cargo/registry/src/github.com-1ecc6299db9ec823/procfs-0.12.0/src/process/mod.rs:994:31
    |
994 |                     mode: (md.st_mode() as libc::mode_t) & libc::S_IRWXU,
    |                               ^^^^^^^ method not found in `Metadata`
    |
   ::: /Users/jameszow/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/std/src/os/macos/fs.rs:34:8
    |
34  |     fn st_mode(&self) -> u32;
    |        ------- the method is available for `Metadata` here
    |
    = help: items from traits can only be used if the trait is in scope
help: the following trait is implemented but not in scope; perhaps add a `use` for it:
    |
55  | use std::os::macos::fs::MetadataExt;
    |

Some errors have detailed explanations: E0425, E0433, E0599.
For more information about an error, try `rustc --explain E0425`.
error: could not compile `procfs` due to 5 previous errors

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.