Commit Graph
88 Commits
Author SHA1 Message Date
Paulo Truta 445bc41d0e Fixes to install make command, fixes to local network app url definition, run ws build on start and every 24 hours 2023-10-28 18:43:18 +02:00
Paulo Truta e009c1f55d NetworkURL based on hostname 2023-06-04 23:19:34 +02:00
Paulo Truta 284acb18a4 Added restore functionality 2023-05-31 00:03:23 +00:00
Paulo Truta 8d0de36cdd Removed err from log 2023-05-30 21:25:40 +02:00
Paulo Truta 113785def4 Using Sprintf to convert from int64 to string of digits 2023-05-30 21:23:33 +02:00
Paulo Truta df13bf705d Removed formatting directive from Println call 2023-05-30 21:22:31 +02:00
Paulo Truta 335b7ec29e Commented UsageStat member of Repository 2023-05-30 21:21:24 +02:00
Paulo Truta 13275f80a5 Temporarily commented imports on backups module 2023-05-30 21:20:30 +02:00
Paulo Truta 04cdba7479 Run next backup based on time elapsed since last backup record 2023-05-30 20:38:06 +02:00
Paulo Truta a66ff40e65 Backups feature 2023-05-29 21:52:27 +02:00
Paulo Truta f7823b9e20 Added make build-<arch> commands 2023-04-17 20:28:06 +02:00
Paulo Truta ece500c342 Cloudflare Tunnel Support (#29)
* Adding necessary changes for tunnel setup supporting cloudflared

* Applied shwrap pattern to login, create and delete tunnel actions, many fixes

* Refactoring sesh 1

* Added utils, remaining tunnel tasks, cleanup
2023-03-20 00:54:42 +01:00
Paulo Truta 161ec76eb9 Add service file and install command (#27)
* Added systemd service file

* Added make install command (copies binary to local bin and adds service file

* Makefile has intall-prod and install-cloud commands
2023-03-11 13:58:54 +01:00
Paulo Truta d62cb57222 Update README.md 2023-03-05 13:46:38 +01:00
Paulo Truta 83d2fdcae1 [WIP] Support for cloud version (#17)
* Added build-cloud to Makefile

* Fix env var key GOOS

* Added taskSetReleaseVersion for edgeboxctl version option write into DB

* taskGetSystemUptime to run every 5 ticks

* Added support for detecting main disk in cloud version

* Added missing import

* Finding main device in test

* Refactored GetDevices and test to use release_version

* Added utils.getIP function, set to run as a 60 tick scheduled task

* Added taskEnablePublicDashboard and taskDisablePublicDashboard

* Added utils.WriteOption and refactor, added enablePublicDashb0oard

* Finalizing online support for dashboard, cloud version support

* Added task SetupCloudOptions

* Added couple of func description comments

* Early return statement (thanks @inverse)

* Using IsPublicDashboard in DisablePublicDashboard func

* Added constants for release version and device types, added diagnostics.GetReleaseVersion

* Removed codecov from test action
2022-02-06 15:37:50 +01:00
Paulo Truta 864d1e8f0f Update LICENSE
Looking into changing the project license ahead of open sourcing. We will follow the Elastic License
2021-11-21 21:20:05 +01:00
Paulo Truta 9339e6cf09 Storage Module Basis (#13)
* Added storage module, base structs, getDevices() func, taskGetStorageDevices (ticks every 30)

* GetDevices now returns a complete description w/ disk partitions

* Added InUse flag to Device, fixed logic bugs

* Added disk space usage for partitions in use by the system

* Cleanup

* Added UsageStat and UsageSplit filling for in use devices

* Changed value of lsblk block usage output to bytes

* Cleanup, small fixes

* Added ExecAndGetLines util func

* Added explicit detection of disk or part block type, ignoring non-suppoorted devices

* Added command line tool dependencies for the project in README file

* Added comment to func ExecAndGetLines

* Removed GetMySQLDbConnectionDetails()

* Added tests to utils module

* Fix invalid argument type for Exec family of tests

* Removed too much verbosity from utils.GetPath when no env file is available, added new argument (path) to Exec family of funcs

* Added new path argument to utils.Exec... test

* Fixed TestExec

* Added spaces trim to Exec result

* Trimming spaces and newlines from result of Exec

* Better visibility for test result log of TestExec

* Added ExampleExecAndStream test

* Added Example tests with failure status for ExecAndStream

* Added branch to test for valid key in GetPath

* Added missing t.Fail() statements in utils_test.go

* Added storage_test.go file, smoke test

* TestGetDevices
2021-06-13 12:03:36 +02:00
Paulo Truta c9f97d42bf Merge pull request #10 from edgebox-iot/fix-result-null-conversion
Fix query panic on GetNextTask()
2021-06-02 13:11:48 +02:00
Paulo Truta 1736b04a66 Query contains named columns 2021-06-01 23:53:17 +00:00
Paulo Truta 5d69a9fb22 Merge pull request #9 from edgebox-iot/edgeapp_description_support
Added support for adding EDGEAPP_DESCRIPTION env var to edgebox.env
2021-06-01 16:51:48 +02:00
Paulo Truta 3ef90ffb15 Added support for adding EDGEAPP_DESCRIPTION env var to edgebox.env edgeapps 2021-06-01 11:40:58 +00:00
Paulo Truta 1ad554b9bf Merge pull request #8 from edgebox-iot/sqlite
Supporting connection to SQLite database
2021-06-01 13:28:52 +02:00
Paulo Truta df3f8fe904 Added system module, GetUptimeSeconds and GetUptimeFormatted funcs, taskGetSystemUptime 2021-05-31 11:21:14 +00:00
Paulo Truta 770e814b6e Fixed Datetime column values. Added utils.GetSQLiteFormattedDateTime def 2021-05-30 11:28:42 +00:00
Paulo Truta 81b545f868 Fix wrong handling of task arguments in systemIterator 2021-05-22 13:30:23 +00:00
Paulo Truta 9f63ab7f03 Support for nullable Task args 2021-05-19 10:43:47 +00:00
Paulo Truta 58b7425fc7 Fixed incorrect query prepare statement, small fixes in queries 2021-05-08 20:46:36 +00:00
Paulo Truta f238b3fa46 Write queries using prepared statements, better error handling 2021-05-08 20:42:07 +00:00
Paulo Truta d975710445 Added initial debug message of SQLite DB location 2021-05-03 21:02:09 +00:00
Paulo Truta 6cb3e198f0 Supporting connection to SQLite database 2021-05-02 08:52:32 +00:00
Paulo Truta 84d7fd6a82 Merge pull request #6 from edgebox-iot/include-sum
Add Sum + Tidy CI
2021-03-05 02:21:42 +01:00
Paulo Truta 74cbff1966 Stopping edgeapp before removing 2021-03-04 15:53:49 +00:00
Paulo Truta 8f14a7cd15 Fix for incorrect base assignment 2021-03-04 15:19:31 +00:00
Paulo Truta 11e9543a87 Added install / remove edgeapp tasks 2021-03-04 15:06:54 +00:00
Paulo Truta c42d96bf34 Merge pull request #5 from edgebox-iot/edgeboxctl-rename
Renaming everything to edgeboxctl
2021-03-04 15:21:19 +01:00
Paulo Truta cb3ecec5f4 Fix to makefile build-prod 2021-03-04 14:06:48 +00:00
Paulo Truta 812cf31dc4 More changes. Fix build 2021-03-04 12:48:25 +00:00
Paulo Truta 0ed5297f6d Renaming everything to edgeboxctl 2021-03-04 12:43:49 +00:00
Paulo Truta 2e92ff53fe Merge pull request #4 from edgebox-iot/loop_loop_execution
Sysctl Loop execution
2021-03-04 13:27:38 +01:00
Paulo Truta 2a3506680a Removed logging of utils.Exec 2021-02-20 23:55:59 +00:00
Paulo Truta 0ffde681cf Introduced ExecAndStream for execution with progress output 2021-02-20 21:43:27 +00:00
Paulo Truta 5e81525635 Fixes with .env file handling and other misc 2021-02-20 18:09:41 +00:00
Paulo Truta 7857985fe4 Added full support for enable_online and disable_online tasks 2021-02-20 14:26:23 +00:00
Paulo Truta 6c0b011e51 Removed unnused variable assignment and unecessary for loop 2021-02-19 00:32:37 +00:00
Paulo Truta 00b10ac64c Added InternetAccessible logic 2021-02-19 00:22:12 +00:00
Paulo Truta 2e013b44bb Removed unused fmt import 2021-02-18 23:40:16 +00:00
Paulo Truta 643ca5f545 Commented logging for utils.Exec() 2021-02-18 23:39:54 +00:00
Paulo Truta f8eaf3b3e1 Commented annoying log... 2021-02-18 23:36:51 +00:00
Paulo Truta 595c87c19c Extracted isSystemReady to outer loop 2021-02-18 23:08:28 +00:00
Paulo Truta 57a9ef3eed Moved sleep instruction to after execution of lined task 2021-02-18 23:02:31 +00:00
Paulo Truta 3cc670b823 Implemented actual tested RunEdgeApp and StopEdgeApp commands, added sleep time after container operation and before checking status 2021-02-18 22:59:14 +00:00
Paulo Truta 0bd61ccf75 Tidy up (less verbosity), actual DB update for EDGEAPPS_LIST 2021-02-17 13:34:53 +01:00
Paulo Truta 2817628fef Added utils.GetPath(pathKey) for getting paths that can be overriden by a .env for local dev 2021-02-17 12:35:22 +01:00
Paulo Truta 59707b8abd Fixed small typo, replaced DB connection details in Makefile by .env loading 2021-02-17 12:10:15 +01:00
Paulo Truta b04e854fdd Added RunEdgeApp and StopEdgeApp funcs 2021-02-17 01:24:51 +01:00
Paulo Truta 63d81e8662 Using paths of Edgebox 2021-02-17 00:16:43 +00:00
Paulo Truta 5a97caacff Added various functions to edgeapps package, working GetEdgeApps func running as scheduled task 2021-02-17 01:08:10 +01:00
Paulo Truta fc5b342c89 Removed mods (thanks @inverse) 2021-02-16 22:08:59 +01:00
Paulo Truta 97182602c4 Added package edgeapps 2021-02-16 17:30:01 +01:00
Paulo Truta ad28e1a505 Added edgeapps package, cleaned up redundancies 2021-02-15 20:37:16 +01:00
Paulo Truta 9f20211bf4 Introduced tick counter and ExecuteSchedules for execution of recurrent no argument tasks 2021-02-15 18:14:46 +00:00
Paulo Truta 50ad33ac33 removed spaces 2021-02-15 09:55:09 +01:00
Paulo Truta 1e9be94851 Various improvements and developments to tasks execution logic 2021-02-14 04:22:08 +00:00
Paulo Truta 461a9e6558 Replaced fmt with log calls 2021-02-14 03:50:21 +01:00
Paulo Truta d7aabfdbe8 Added NodeName as element of tasSetupBootnodeArgs struct. Usage in taskSetupBootnode 2021-02-14 02:28:13 +01:00
Paulo Truta db3b31091e Reading json arguments for task running, setup_bootnode task, don't run actual commands for dev release 2021-02-14 01:04:50 +01:00
Paulo Truta c3d283c243 Check for .ready file in ws directory 2021-02-13 21:52:08 +01:00
Paulo Truta 47df72777b Added base task execution algo 2021-02-13 21:49:09 +01:00
Paulo Truta 4bb060ba5f Laying out the structure of the Tasks package, and how it will be called in the systemIterator in main 2021-02-13 17:04:57 +01:00
Paulo Truta 8845cb11de Renamed module database into tasks 2021-02-13 16:06:13 +01:00
Paulo Truta 375bb03dfe Added database module with exportable functions 2021-02-13 15:51:14 +01:00
Paulo Truta 28cb163f6d Added specific signal catch only for SIGQUIT 2021-02-12 18:11:36 +00:00
Paulo Truta ad330274db Added base execution loop with readiness check 2021-02-12 18:51:21 +01:00
Paulo Truta 5a4ef2de41 Restructured with helper functions for readiness check 2021-02-12 18:42:22 +01:00
Paulo Truta 34a21094ee Merge pull request #3 from edgebox-iot/make
Makefile + more
2021-02-12 18:40:45 +01:00
Paulo Truta 2d5cc88fa9 Merge branch 'make' of https://github.com/edgebox-iot/sysctl into make 2021-02-12 18:35:44 +01:00
Paulo Truta ba1fe45c1b Added arm build to build-all Makefile command 2021-02-12 17:22:03 +00:00
Paulo Truta b689115105 Using Makefile in Dockerfile 2021-02-12 01:23:16 +01:00
Paulo Truta 2e8a73d0ea Fixed Dockerfile CompileDeamon to point to makefile 2021-02-12 01:06:32 +01:00
Paulo Truta 0c2fd3066e Fixed Dockerfile and compose files for auto re-build, added loop for system service behaviour 2021-02-11 19:56:35 +01:00
Paulo Truta 78b89a107b Prepare main for GitHub Action Build 2020-11-08 23:51:56 +01:00
Paulo Truta 8ac1174b88 Merge branch 'main' of https://github.com/edgebox-iot/sysctl into main 2020-11-08 23:49:04 +01:00
Paulo Truta 1c8e83fcd6 Removed package description 2020-11-08 23:48:45 +01:00
Paulo Truta 4b96f915e5 Go Build GitHub Action 2020-11-08 23:47:10 +01:00
Paulo Truta 58e7d2712b Added base Dockerfile, main.go and redis queue 2020-11-08 23:43:18 +01:00
Paulo Truta 9a03165f35 Changed logo and updated badge urls 2020-11-08 23:11:30 +01:00
Paulo Truta 35464f84ef Added README and docs folder 2020-11-08 23:07:50 +01:00
Paulo Truta daa764408a Initial commit 2020-11-08 21:46:59 +01:00