From 9bb17badad494b536ddc1d82cf07918bf0509b06 Mon Sep 17 00:00:00 2001 From: jamesread Date: Sun, 23 Mar 2025 00:26:52 +0000 Subject: [PATCH] docs: Links and make targets --- .github/PULL_REQUEST_TEMPLATE.md | 9 ++--- .github/workflows/codestyle.yml | 6 ++-- Makefile | 4 +-- README.md | 56 +++----------------------------- config.yaml | 37 ++++++++++++--------- 5 files changed, 35 insertions(+), 77 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index c67cb3a..442313b 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -15,8 +15,9 @@ Please put a X in the boxes as evidence of reading through the checklist. - [ ] I have forked the project, and raised this PR on a feature branch. - [ ] I ran the `pre-commit` hooks, and my commit message was validated. -- [ ] `make daemon-compile` runs without any issues. -- [ ] `make daemon-codestyle` runs without any issues. -- [ ] `make daemon-unittests` runs without any issues. -- [ ] `make webui-codestyle` runs without any issues. +- [ ] `make -wC service compile` runs without any issues. +- [ ] `make -wC service codestyle` runs without any issues. +- [ ] `make -wC service unittests` runs without any issues. +- [ ] `make -wC webui codestyle` runs without any issues. +- [ ] `make -w it` runs without any issues. - [ ] I understand and accept the [AGPL-3.0 license](LICENSE) and [code of conduct](CODE_OF_CONDUCT.md), and my contributions fall under these. diff --git a/.github/workflows/codestyle.yml b/.github/workflows/codestyle.yml index c9cc592..9bc0b0e 100644 --- a/.github/workflows/codestyle.yml +++ b/.github/workflows/codestyle.yml @@ -30,8 +30,8 @@ jobs: - name: deps run: make -w grpc - - name: daemon - run: make -w daemon-codestyle + - name: service + run: make -wC service codestyle - name: webui - run: make -w webui-codestyle + run: make -wC webui.dev codestyle diff --git a/Makefile b/Makefile index 9a7ccb6..9641c0b 100644 --- a/Makefile +++ b/Makefile @@ -48,9 +48,7 @@ devrun: compile devcontainer: compile podman-image podman-container webui-codestyle: - cd webui.dev && npm install - cd webui.dev && npx eslint main.js js/* - cd webui.dev && npx stylelint style.css + make -wC webui.dev codestyle webui-dist: $(call delete-files,webui) diff --git a/README.md b/README.md index e9588cd..e4ceb15 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,8 @@ OliveTin gives **safe** and **simple** access to predefined shell commands from screenshot More screenshots below +All documentation can be found at [docs.olivetin.app](https://docs.olivetin.app). This includes installation and usage guide, etc. + ## Use cases **Safely** give access to commands, for less technical people; @@ -68,56 +70,6 @@ Mobile screen size (responsive layout); ## Documentation -All documentation can be found at http://docs.olivetin.app . This includes installation and usage guide, etc. +All documentation can be found at [docs.olivetin.app](https://docs.olivetin.app). This includes installation and usage guide, etc. -### Quickstart reference for `config.yaml` - -This is a quick example of `config.yaml` - but again, lots of documentation for how to write your `config.yaml` can be found at [the documentation site.](https://docs.olivetin.app) - -* (Recommended) [Linux package install (.rpm/.deb)](https://docs.olivetin.app/install-linuxpackage.html) install instructions -* [Container (podman/docker)](https://docs.olivetin.app/install-container.html) install instructions -* [Docker compose](https://docs.olivetin.app/install-compose.html) install instructions -* [Helm on Kubernetes](https://docs.olivetin.app/install-helm.html) install instructions -* [Kubernetes (manual)](https://docs.olivetin.app/install-k8s.html) install instructions -* [.tar.gz (manual)](https://docs.olivetin.app/install-targz.html) install instructions - -Put this `config.yaml` in `/etc/OliveTin/` if you're running a standard service, or mount it at `/config` if running in a container. - -```yaml -# Listen on all addresses available, port 1337 -listenAddressSingleHTTPFrontend: 0.0.0.0:1337 - -# Choose from INFO (default), WARN and DEBUG -logLevel: "INFO" - -# Actions (buttons) to show up on the WebUI: -actions: - # Docs: https://docs.olivetin.app/action-container-control.html -- title: Restart Plex - icon: restart - shell: docker restart plex - - # This will send 1 ping - # Docs: https://docs.olivetin.app/action-ping.html -- title: Ping host - shell: ping {{ host }} -c {{ count }} - icon: ping - arguments: - - name: host - title: host - type: ascii_identifier - default: example.com - - - name: count - title: Count - type: int - default: 1 - - # Restart http on host "webserver1" - # Docs: https://docs.olivetin.app/action-ssh.html -- title: restart httpd - icon: restart - shell: ssh root@webserver1 'service httpd restart' -``` - -A full example config can be found at in this repository - [config.yaml](https://github.com/OliveTin/OliveTin/blob/main/config.yaml). +You can find instructions in the docs on how to install as a **Linux package**, **Linux Container**, on **FreeBSD**, *Windows**, **MacOS** and other platforms, too! diff --git a/config.yaml b/config.yaml index a5383fe..3c739c1 100644 --- a/config.yaml +++ b/config.yaml @@ -8,19 +8,19 @@ listenAddressSingleHTTPFrontend: 0.0.0.0:1337 # Choose from INFO (default), WARN and DEBUG logLevel: "INFO" -# Checking for updates https://docs.olivetin.app/update-checks.html +# Checking for updates https://docs.olivetin.app/reference/updateChecks.html checkForUpdates: false # Actions are commands that are executed by OliveTin, and normally show up as # buttons on the WebUI. # -# Docs: https://docs.olivetin.app/create-your-first-action.html +# Docs: https://docs.olivetin.app/action_execution/create_your_first.html actions: # This is the most simple action, it just runs the command and flashes the # button to indicate status. # # If you are running OliveTin in a container remember to pass through the - # docker socket! https://docs.olivetin.app/action-container-control.html + # docker socket! https://docs.olivetin.app/solutions/container-control-panel/index.html - title: Ping the Internet shell: ping -c 3 1.1.1.1 icon: ping @@ -42,11 +42,16 @@ actions: # This uses `popupOnStart: execution-button` to display a mini button that # links to the logs. + # + # You can also rate-limit actions too. - title: date shell: date timeout: 6 icon: clock popupOnStart: execution-button + maxRate: + - limit: 3 + duration: 5m # You are not limited to operating system commands, and of course you can run # your own scripts. Here `maxConcurrent` stops the script running multiple @@ -63,7 +68,7 @@ actions: # When you want to prompt users for input, that is when you should use # `arguments` - this presents a popup dialog and asks for argument values. # - # Docs: https://docs.olivetin.app/action-ping.html + # Docs: https://docs.olivetin.app/action_examples/ping.html - title: Ping host id: ping_host shell: ping {{ host }} -c {{ count }} @@ -88,7 +93,7 @@ actions: # However, if you are running in a container you will need to do some setup, # see the docs below. # - # Docs: https://docs.olivetin.app/action-container-control.html + # Docs: https://docs.olivetin.app/solutions/container-control-panel/index.html - title: Restart Docker Container icon: restart shell: docker restart {{ container }} @@ -103,7 +108,7 @@ actions: # There is a special `confirmation` argument to help against accidental clicks # on "dangerous" actions. # - # Docs: https://docs.olivetin.app/confirmation.html + # Docs: https://docs.olivetin.app/args/input_confirmation.html - title: Delete old backups icon: ashtonished shell: rm -rf /opt/oldBackups/ @@ -118,7 +123,7 @@ actions: # This is an action that runs a script included with OliveTin, that will # download themes. You will still need to set theme "themeName" in your config. # - # Docs: https://docs.olivetin.app/themes.html + # Docs: https://docs.olivetin.app/reference/reference_themes_for_users.html - title: Get OliveTin Theme shell: olivetin-get-theme {{ themeGitRepo }} {{ themeFolderName }} icon: theme @@ -136,8 +141,8 @@ actions: # it, just use SSH! OliveTin includes a helper to make this easier, which is # entirely optional. You can also setup SSH manually. # - # Docs: https://docs.olivetin.app/action-ssh-easy.html - # Docs: https://docs.olivetin.app/action-ssh.html + # Docs: https://docs.olivetin.app/action_examples/ssh-easy.html + # Docs: https://docs.olivetin.app/action_examples/ssh-manual.html - title: "Setup easy SSH" icon: ssh shell: olivetin-setup-easy-ssh @@ -146,8 +151,8 @@ actions: # Here's how to use SSH with the "easy" config, to restart a service on # another server. # - # Docs: https://docs.olivetin.app/action-ssh-easy.html - # Docs: https://docs.olivetin.app/action-service.html + # Docs: https://docs.olivetin.app/action_examples/ssh-easy.html + # Docs: https://docs.olivetin.app/action_examples/systemd_service.html - title: Restart httpd on server1 id: restart_httpd icon: restart @@ -165,12 +170,12 @@ actions: # can also just specify any HTML, this includes any unicode character, # or a link to a custom icon. # - # Docs: https://docs.olivetin.app/icons.html + # Docs: https://docs.olivetin.app/action_customization/icons.html # # Lots of people use OliveTin to easily execute ansible-playbooks. You # probably want a much longer timeout as well (so that ansible completes). # - # Docs: https://docs.olivetin.app/ansible-playbook.html + # Docs: https://docs.olivetin.app/action_examples/ansible.html - title: "Run Automation Playbook" icon: '🤖' shell: ansible-playbook -i /etc/hosts /root/myRepo/myPlaybook.yaml @@ -237,13 +242,13 @@ actions: # in your configuration as variables. For example; `container.status`, # or `vm.hostname`. # -# Docs: http://docs.olivetin.app/entities.html +# Docs: https://docs.olivetin.app/entities/intro.html entities: # YAML files are the default expected format, so you can use .yml or .yaml, # or even .txt, as long as the file contains valid a valid yaml LIST, then it # will load properly. # - # Docs: https://docs.olivetin.app/entities.html + # Docs: https://docs.olivetin.app/entities/intro.html - file: entities/servers.yaml name: server @@ -255,6 +260,8 @@ entities: # # The only way to properly use entities, are to use them with a `fieldset` on # a dashboard. +# +# Docs: https://docs.olivetin.app/dashboards/intro.html dashboards: # Top level items are dashboards. - title: My Servers