Commit Graph
90 Commits
Author SHA1 Message Date
Paulo Truta f0047a7a0c added cluster_ssh_port_var to read from env 2023-11-05 02:03:46 +01:00
Paulo Truta 5c736a1b85 Adjustments to cloud options, env location and expected vars 2023-11-05 02:01:16 +01:00
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