| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- [#dashboards]
- = Dashboards
- OliveTin generates a default view of actions which is useful for simple OliveTin use cases - this is always called "Actions" and cannot be renamed. The Actions view also does not support entities, fieldsets or folders.
- If you want to start organizing OliveTin actions more effectively, then **Dashboards** are for you!
- One of the biggest reasons to use Dashboards as opposed to just the "Actions" section, is that dashboards allow you to use xref:dashboards/3-folders.adoc[Folders], and dashboards really start to get exciting when you start using xref:entities/intro.adoc[entities] and displays.
- image::dashboard.png[]
- == Dashboards pull actions from the default view
- Dashboards are a way of pulling actions from the default "actions" view, and organizing them into groups - either into folders, or fieldsets. Because dashboards literally do "pull" actions from the default view, you cannot use an action in multiple dashboards - and every action must have a unique title.
- == Example configuration
- [source,yaml]
- .`config.yaml`
- ----
- # Actions MUST be defined in the actions section, not in the dashboards
- # section. The dashboards only "link" to actions by their title.
- actions:
- - title: Ping All Servers
- shell: echo "ping all..."
- - title: '{{ server.name }} Wake on Lan'
- shell: 'wol {{ server.name }}'
- timeout: 10
- entity: server
- - title: '{{ server.name }} Power Off'
- shell: 'ssh root@{{ server.name }} "poweroff"'
- timeout: 10
- entity: server
- # Dashboards are a way of taking actions from the default "actions" view, and
- # organizing them into groups - either into folders, or fieldsets.
- #
- # The only way to properly use entities, are to use them with a `fieldset` on
- # a dashboard.
- dashboards:
- # Top level items are dashboards.
- - title: My Servers
- contents:
- # On dashboards, all items need to be in a "fieldset". If you don't
- # specify a fieldset, actions will be assigned to a fieldset with a title
- # called "default".
- - title: All Servers
- type: fieldset
- contents:
- # The contents of a dashboard will try to look for an action with a
- # matching title IF the `contents: ` property is empty.
- - title: Ping All Servers
- # If you create an item with some "contents:", OliveTin will show that as
- # directory.
- - title: Hypervisors
- contents:
- - title: Ping hypervisor1
- - title: Ping hypervisor2
- # If you specify `type: fieldset` and some `contents`, it will show your
- # actions grouped together without a folder.
- - type: fieldset
- entity: server
- title: 'Server: {{ server.hostname }}'
- contents:
- # By default OliveTin will look for an action with a matching title
- # and put it on the dashboard.
- #
- # Fieldsets also support `type: display`, which can display arbitary
- # text. This is useful for displaying things like a container's state.
- - type: display
- title: |
- Hostname: <strong>{{ server.name }}</strong>
- IP Address: <strong>{{ server.ip }}</strong>
- # These are the actions (defined above) that we want on the dashboard.
- - title: '{{ server.name }} Wake on Lan'
- - title: '{{ server.name }} Power Off'
- ----
- == What's Next?
- Now that you understand dashboards, explore these related features:
- * xref:dashboards/2-fieldsets.adoc[Learn about fieldsets] - Group actions visually on dashboards
- * xref:dashboards/3-folders.adoc[Organize with folders] - Create folder structures for better organization
- * xref:dashboards/4-displays.adoc[Add displays] - Show information alongside actions
- * xref:dashboards/5-output-views.adoc[Configure output views] - Customize how action output is displayed
- * xref:entities/intro.adoc[Use entities with dashboards] - Dynamically generate actions from entity files
- * xref:dashboards/examples.adoc[View dashboard examples] - See complete dashboard configurations
- * xref:dashboards/css.adoc[Customize dashboard styling] - Change the appearance of dashboard components
|