Skip to content

Commit

Permalink
Merge pull request #1 from fusioninventory/firstCode
Browse files Browse the repository at this point in the history
First code
  • Loading branch information
ddurieux authored Jun 16, 2024
2 parents 3fc3bae + 2cdc3f3 commit 155bf98
Show file tree
Hide file tree
Showing 50 changed files with 3,262 additions and 0 deletions.
45 changes: 45 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
jobs:
release:
name: Release - ${{ matrix.platform.release_for }}
strategy:
matrix:
platform:
- release_for: FreeBSD-x86_64
os: ubuntu-20.04
target: x86_64-unknown-freebsd
bin: precious
name: fusioninventory-agent-FreeBSD-x86_64.tar.gz
command: build

- release_for: Windows-x86_64
os: windows-latest
target: x86_64-pc-windows-msvc
bin: precious.exe
name: fusioninventory-agent-Windows-x86_64.zip
command: both

- release_for: macOS-x86_64
os: macOS-latest
target: x86_64-apple-darwin
bin: precious
name: fusioninventory-agent-Darwin-x86_64.tar.gz
command: both

- release_for: Linux-x86_64
os: ubuntu-20.04
target: x86_64-unknown-linux-gnu
bin: precious
name: fusioninventory-agent-Linux-x86_64.tar.gz
command: build

runs-on: ${{ matrix.platform.os }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Build binary
uses: houseabsolute/actions-rust-cross@v0
with:
command: ${{ matrix.platform.command }}
target: ${{ matrix.platform.target }}
args: "--locked --release"
strip: true
38 changes: 38 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
[package]
name = "fusioninventory-agent"
version = "3.0.0"
authors = ["David Durieux <[email protected]>", "FusionInventory contributors"]
description = "Agent FusionInventory for local and remote (SNMP / ESX) inventory, have also network discovery and deploy features"
edition = "2021"
homepage = "https://fusioninventory.org/"
repository = "https://github.com/fusioninventory/fusioninventory-agent-rust"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
log = "0.4.0"
env_logger = "0.10.0"
reqwest = { version = "0.12.4", features = ["json","blocking", "rustls-tls"], default-features = false }
tokio = { version = "1.24.2", features = ["full"] }
futures = "0.3.25"
serde = { version = "1.0.152", features = ["derive"] }
serde_json = "1.0"
nparse = "0.0.10"
sysinfo = "0.30.11"
simple-xml = "0.1.10"
chrono = "0.4.38"
iana-time-zone = "0.1.60"
clap = { version = "4.5.4", features = ["derive"] }
toml = "0.8.12"
serde_derive = "1.0.201"
lazy_static = "1.4.0"
rocket = "0.5.0"
ctrlc = "3.4.4"
single_value_channel = "1.2.2"
regex = "1.10.4"

[target.'cfg(unix)'.dependencies]
sysctl = "0.5.5"

[[bin]]
name = "fusioninventory-agent"
82 changes: 82 additions & 0 deletions agent.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# this configuration file is in TOML format

[general]
# set true to run in daemon mode, false to run once
daemon = false

[network]
proxy_url = ""
proxy_user = ""
proxy_password = ""

cert_folder = ""
cert_file = ""
ssl_check = true

# Connections timeout, in seconds
timeout = 180

[webinterface]
enable_web = true
# network IPs to listen to, "0.0.0.0" to listen on all
listen_ip = [ "0.0.0.0" ]
# listen port
port = 62354

[logging]
# Logger backend: stderr, file or syslog (stderr)
logger = "stderr"
# loggerlevel: info, warn, debug, error
logger_level = "info"
# log file in case logger is defined as "file"
log_file = "/var/log/fusioninventory.log"
# maximum log file size, in MB
maxsize = 20
# Syslog facility
logfacility = "LOG_USER"

[localinventory]
enabled = true
# set the time between 2 execution of localinventory, in seconds
contact_time = 3600
# can set many servers, can be HTTP/HTTPS links and folder (the name will be set itself).
# For example: [ "url1", "url2", "url3", "/tmp" ]
servers = ["http://127.0.0.1/backend/fusioninventory/localinventory", "/tmp"]
# you can set multiple tags for the server
tags = []
# define the data to not inventory.
# the list is:
# * disk
# * operatingsystem
# * software
no_types = []
# allow to scan user home directories
scan_homedirs = false
# allow to scan user profiles
scan_profiles = false

[networkdiscovery]
enabled = false
# set the time between 2 execution of networkdiscovery, in seconds
contact_time = 604800
# can set many servers, can be HTTP/HTTPS links and folder (the name will be set itself).
# For example: [ "url1", "url2", "url3", "/tmp/" ]
servers = [ "http://127.0.0.1/backend/fusioninventory"]

[networkinventory]
enabled = false
# set the time between 2 execution of networkinventory, in seconds
contact_time = 7200
# can set many servers, can be HTTP/HTTPS links and folder (the name will be set itself).
# For example: [ "url1", "url2", "url3", "/tmp/" ]
servers = [ "http://127.0.0.1/backend/fusioninventory"]

[deploy]
enabled = false
# set the time between 2 execution of deploy, in seconds
contact_time = 1200
# can set many servers, can be HTTP/HTTPS links and folder (the name will be set itself).
# For example: [ "url1", "url2", "url3", "/tmp/" ]
servers = [ "http://127.0.0.1/backend/fusioninventory"]
# enable p2p feature to prevent high internet / VPN bandwidth usage
p2p = true
Loading

0 comments on commit 155bf98

Please sign in to comment.