mirror of
https://github.com/Start9Labs/documentation.git
synced 2026-03-26 02:11:55 +00:00
fix links, inline code, and adjust icon images throughout topic boxes
This commit is contained in:
18
poetry.lock
generated
18
poetry.lock
generated
@@ -72,7 +72,7 @@ python-versions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "charset-normalizer"
|
||||
version = "2.0.11"
|
||||
version = "2.0.12"
|
||||
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
|
||||
category = "main"
|
||||
optional = false
|
||||
@@ -126,7 +126,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||
|
||||
[[package]]
|
||||
name = "importlib-metadata"
|
||||
version = "4.10.1"
|
||||
version = "4.11.0"
|
||||
description = "Read metadata from Python packages"
|
||||
category = "dev"
|
||||
optional = false
|
||||
@@ -564,7 +564,7 @@ python-versions = ">= 3.5"
|
||||
|
||||
[[package]]
|
||||
name = "typing-extensions"
|
||||
version = "4.1.1"
|
||||
version = "4.1.0"
|
||||
description = "Backported and Experimental Type Hints for Python 3.6+"
|
||||
category = "dev"
|
||||
optional = false
|
||||
@@ -649,8 +649,8 @@ certifi = [
|
||||
{file = "certifi-2021.10.8.tar.gz", hash = "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872"},
|
||||
]
|
||||
charset-normalizer = [
|
||||
{file = "charset-normalizer-2.0.11.tar.gz", hash = "sha256:98398a9d69ee80548c762ba991a4728bfc3836768ed226b3945908d1a688371c"},
|
||||
{file = "charset_normalizer-2.0.11-py3-none-any.whl", hash = "sha256:2842d8f5e82a1f6aa437380934d5e1cd4fcf2003b06fed6940769c164a480a45"},
|
||||
{file = "charset-normalizer-2.0.12.tar.gz", hash = "sha256:2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597"},
|
||||
{file = "charset_normalizer-2.0.12-py3-none-any.whl", hash = "sha256:6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df"},
|
||||
]
|
||||
colorama = [
|
||||
{file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"},
|
||||
@@ -673,8 +673,8 @@ imagesize = [
|
||||
{file = "imagesize-1.3.0.tar.gz", hash = "sha256:cd1750d452385ca327479d45b64d9c7729ecf0b3969a58148298c77092261f9d"},
|
||||
]
|
||||
importlib-metadata = [
|
||||
{file = "importlib_metadata-4.10.1-py3-none-any.whl", hash = "sha256:899e2a40a8c4a1aec681feef45733de8a6c58f3f6a0dbed2eb6574b4387a77b6"},
|
||||
{file = "importlib_metadata-4.10.1.tar.gz", hash = "sha256:951f0d8a5b7260e9db5e41d429285b5f451e928479f19d80818878527d36e95e"},
|
||||
{file = "importlib_metadata-4.11.0-py3-none-any.whl", hash = "sha256:6affcdb3aec542dd98df8211e730bba6c5f2bec8288d47bacacde898f548c9ad"},
|
||||
{file = "importlib_metadata-4.11.0.tar.gz", hash = "sha256:9e5e553bbba1843cb4a00823014b907616be46ee503d2b9ba001d214a8da218f"},
|
||||
]
|
||||
jinja2 = [
|
||||
{file = "Jinja2-3.0.3-py3-none-any.whl", hash = "sha256:077ce6014f7b40d03b47d1f1ca4b0fc8328a692bd284016f806ed0eaca390ad8"},
|
||||
@@ -945,8 +945,8 @@ tornado = [
|
||||
{file = "tornado-6.1.tar.gz", hash = "sha256:33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791"},
|
||||
]
|
||||
typing-extensions = [
|
||||
{file = "typing_extensions-4.1.1-py3-none-any.whl", hash = "sha256:21c85e0fe4b9a155d0799430b0ad741cdce7e359660ccbd8b530613e8df88ce2"},
|
||||
{file = "typing_extensions-4.1.1.tar.gz", hash = "sha256:1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42"},
|
||||
{file = "typing_extensions-4.1.0-py3-none-any.whl", hash = "sha256:c13180fbaa7cd97065a4915ceba012bdb31dc34743e63ddee16360161d358414"},
|
||||
{file = "typing_extensions-4.1.0.tar.gz", hash = "sha256:ba97c5143e5bb067b57793c726dd857b1671d4b02ced273ca0538e71ff009095"},
|
||||
]
|
||||
urllib3 = [
|
||||
{file = "urllib3-1.26.8-py2.py3-none-any.whl", hash = "sha256:000ca7f471a233c2251c6c7023ee85305721bfdf18621ebff4fd17a8653427ed"},
|
||||
|
||||
@@ -7,36 +7,21 @@ Contact Us
|
||||
Community Channels
|
||||
------------------
|
||||
|
||||
Matrix
|
||||
======
|
||||
`Matrix Start9 Community <https://matrix.to/#/#community:matrix.start9labs.com>`_
|
||||
|
||||
Start9 Community - https://matrix.to/#/#community:matrix.start9labs.com
|
||||
Community Developers - https://matrix.to/#/#community-dev:matrix.start9labs.com
|
||||
`Matrix Community Developers <https://matrix.to/#/#community-dev:matrix.start9labs.com>`_
|
||||
|
||||
Start9 Tor Community (Tor required) - https://matrix.to/#/!iRwnQntcjpWfLxdgav:matrix.privacy34kn4ez3y3nijweec6w4g54i3g54sdv7r5mr6soma3w4begyd.onion?via=matrix.start9labs.com&via=matrix.privacy34kn4ez3y3nijweec6w4g54i3g54sdv7r5mr6soma3w4begyd.onion&via=oayal5vhil3zhj7ylixvpi4nr2xvhypdnenji4sx5q4kvaotevjvsxad.onion
|
||||
`Matrix Start9 Tor Community (Tor required) <https://matrix.to/#/!iRwnQntcjpWfLxdgav:matrix.privacy34kn4ez3y3nijweec6w4g54i3g54sdv7r5mr6soma3w4begyd.onion?via=matrix.start9labs.com&via=matrix.privacy34kn4ez3y3nijweec6w4g54i3g54sdv7r5mr6soma3w4begyd.onion&via=oayal5vhil3zhj7ylixvpi4nr2xvhypdnenji4sx5q4kvaotevjvsxad.onion>`_
|
||||
|
||||
Telegram
|
||||
========
|
||||
|
||||
https://t.me/start9_labs
|
||||
`Telegram <https://t.me/start9_labs>`_
|
||||
|
||||
Social Media
|
||||
------------
|
||||
`Mastodon <https://mastodon.start9labs.com/>`_
|
||||
|
||||
Mastodon
|
||||
========
|
||||
`Twitter <https://twitter.com/start9labs>`_
|
||||
|
||||
https://mastodon.start9labs.com/
|
||||
|
||||
Twitter
|
||||
=======
|
||||
|
||||
https://twitter.com/start9labs
|
||||
|
||||
GitHub
|
||||
======
|
||||
|
||||
https://github.com/start9labs
|
||||
`GitHub <https://github.com/start9labs>`_
|
||||
|
||||
Email
|
||||
-----
|
||||
|
||||
@@ -15,56 +15,56 @@ About
|
||||
.. topic-box::
|
||||
:title: Start9 Labs
|
||||
:link: start9
|
||||
:icon: scylla-icon scylla-icon--knowledge-base
|
||||
:icon: scylla-icon scylla-icon--comparison
|
||||
:class: large-4
|
||||
:anchor: Principles
|
||||
:anchor: View
|
||||
|
||||
An overview of the ideas and technologies surrounding Start9 Labs and Embassy.
|
||||
Get acquainted with the Start9 principles.
|
||||
|
||||
.. topic-box::
|
||||
:title: Roadmap
|
||||
:link: roadmap
|
||||
:icon: scylla-icon scylla-icon--knowledge-base
|
||||
:icon: scylla-icon scylla-icon--roadmap
|
||||
:class: large-4
|
||||
:anchor: View
|
||||
:anchor: See what's coming
|
||||
|
||||
An overview of the ideas and technologies surrounding Start9 Labs and Embassy.
|
||||
Check out the ambitious future of Start9.
|
||||
|
||||
.. topic-box::
|
||||
:title: Privacy
|
||||
:title: Privacy Policy
|
||||
:link: privacy
|
||||
:icon: scylla-icon scylla-icon--knowledge-base
|
||||
:icon: scylla-icon scylla-icon--release-note
|
||||
:class: large-4
|
||||
:anchor: View
|
||||
|
||||
An overview of the ideas and technologies surrounding Start9 Labs and Embassy.
|
||||
Take a look at our privacy policy.
|
||||
|
||||
.. topic-box::
|
||||
:title: License
|
||||
:link: license
|
||||
:icon: scylla-icon scylla-icon--knowledge-base
|
||||
:icon: scylla-icon scylla-icon--whitepapers
|
||||
:class: large-4
|
||||
:anchor: View
|
||||
|
||||
An overview of the ideas and technologies surrounding Start9 Labs and Embassy.
|
||||
Read our product license agreement.
|
||||
|
||||
.. topic-box::
|
||||
:title: Jobs
|
||||
:link: jobs
|
||||
:icon: scylla-icon scylla-icon--knowledge-base
|
||||
:icon: scylla-icon scylla-icon--about-team
|
||||
:class: large-4
|
||||
:anchor: View
|
||||
:anchor: Join us
|
||||
|
||||
An overview of the ideas and technologies surrounding Start9 Labs and Embassy.
|
||||
See what open jobs we have available.
|
||||
|
||||
.. topic-box::
|
||||
:title: Contact Us
|
||||
:link: contact
|
||||
:icon: scylla-icon scylla-icon--knowledge-base
|
||||
:icon: scylla-icon scylla-icon--contact-us
|
||||
:class: large-4
|
||||
:anchor: Reach out
|
||||
|
||||
An overview of the ideas and technologies surrounding Start9 Labs and Embassy.
|
||||
Get in touch with any questions, concerns, or feedback. Your input is always welcome!
|
||||
|
||||
.. raw:: html
|
||||
|
||||
|
||||
@@ -15,38 +15,38 @@ Contribute
|
||||
.. topic-box::
|
||||
:title: Teach
|
||||
:link: teach
|
||||
:icon: scylla-icon scylla-icon--knowledge-base
|
||||
:icon: scylla-icon scylla-icon--tech-talks
|
||||
:class: large-4
|
||||
:anchor: Learn
|
||||
:anchor: Join the movement
|
||||
|
||||
An overview of the ideas and technologies surrounding Start9 Labs and Embassy.
|
||||
Share your knowledge with the community.
|
||||
|
||||
.. topic-box::
|
||||
:title: Provide Support
|
||||
:link: provide-support
|
||||
:icon: scylla-icon scylla-icon--knowledge-base
|
||||
:icon: scylla-icon scylla-icon--support
|
||||
:class: large-4
|
||||
:anchor: Learn
|
||||
:anchor: Help
|
||||
|
||||
An overview of the ideas and technologies surrounding Start9 Labs and Embassy.
|
||||
Learn how you can help provide community support.
|
||||
|
||||
.. topic-box::
|
||||
:title: Decentralize
|
||||
:link: decentralize
|
||||
:icon: scylla-icon scylla-icon--knowledge-base
|
||||
:icon: scylla-icon scylla-icon--cloud
|
||||
:class: large-4
|
||||
:anchor: Learn
|
||||
:anchor: View
|
||||
|
||||
An overview of the ideas and technologies surrounding Start9 Labs and Embassy.
|
||||
See how you can aid in decentralizing our architecture.
|
||||
|
||||
.. topic-box::
|
||||
:title: Promote
|
||||
:link: promote
|
||||
:icon: scylla-icon scylla-icon--knowledge-base
|
||||
:icon: scylla-icon scylla-icon--summit
|
||||
:class: large-4
|
||||
:anchor: Learn
|
||||
:anchor: Join
|
||||
|
||||
An overview of the ideas and technologies surrounding Start9 Labs and Embassy.
|
||||
Become an affiliate and help promote Start9.
|
||||
|
||||
.. raw:: html
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
|
||||
.. topic-box::
|
||||
:title: SDK
|
||||
:link: support/dev-docs
|
||||
:link: service-packaging
|
||||
:icon: scylla-icon scylla-icon--open-source
|
||||
:class: large-3
|
||||
:anchor: View
|
||||
@@ -119,6 +119,7 @@
|
||||
learn/index
|
||||
contribute/index
|
||||
about/index
|
||||
service-packaging/index
|
||||
|
||||
.. raw:: html
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ Learn
|
||||
.. topic-box::
|
||||
:title: Concepts
|
||||
:link: concepts
|
||||
:icon: scylla-icon scylla-icon--knowledge-base
|
||||
:icon: scylla-icon scylla-icon--operator
|
||||
:class: large-4
|
||||
:anchor: Learn
|
||||
|
||||
@@ -33,7 +33,7 @@ Learn
|
||||
.. topic-box::
|
||||
:title: Videos
|
||||
:link: https://youtube.com/c/Start9
|
||||
:icon: scylla-icon scylla-icon--monitoring
|
||||
:icon: scylla-icon scylla-icon--training
|
||||
:class: large-4
|
||||
:anchor: Watch
|
||||
|
||||
@@ -42,7 +42,7 @@ Learn
|
||||
.. topic-box::
|
||||
:title: Media
|
||||
:link: media
|
||||
:icon: scylla-icon scylla-icon--monitoring
|
||||
:icon: scylla-icon scylla-icon--news
|
||||
:class: large-4
|
||||
:anchor: View
|
||||
|
||||
|
||||
@@ -6,9 +6,15 @@ Advanced Packaging Overview
|
||||
|
||||
This section included advanced commands for working with packages in EmbassyOS.
|
||||
|
||||
.. raw:: html
|
||||
|
||||
<div class="topics-grid grid-container full">
|
||||
|
||||
<div class="grid-x grid-margin-x">
|
||||
|
||||
.. topic-box::
|
||||
:title: Developer Tools
|
||||
:link: dev-tools/index
|
||||
:link: dev-tools
|
||||
:icon: scylla-icon scylla-icon--developers-blog
|
||||
:class: large-4
|
||||
:anchor: View
|
||||
|
||||
@@ -17,7 +17,7 @@ We'll create a web application that produces a hello world page. This web applic
|
||||
4. Create a hosted repository which will contain all the service components
|
||||
5. Create the packaged service file
|
||||
|
||||
You can find the complete service code referenced in this guide on `GitHub <https://github.com/Start9Labs/hello-world-wrapper>`_.
|
||||
You can find the `complete code <https://github.com/Start9Labs/hello-world-wrapper>`_ referenced in this guide on GitHub.
|
||||
|
||||
Download required tools
|
||||
=======================
|
||||
@@ -43,9 +43,10 @@ For this example, we are going to create a simple Rust project that serves a sta
|
||||
cargo init
|
||||
touch src/index.html
|
||||
|
||||
In `index.html` add:
|
||||
In ``index.html`` add:
|
||||
|
||||
.. code:: html
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>Hello World!</title>
|
||||
@@ -55,7 +56,7 @@ In `index.html` add:
|
||||
</body>
|
||||
</html>
|
||||
|
||||
In `main.rs` add:
|
||||
In ``main.rs`` add:
|
||||
|
||||
.. code:: rust
|
||||
|
||||
@@ -88,7 +89,7 @@ In `main.rs` add:
|
||||
}
|
||||
|
||||
|
||||
That's it! We have the code for our service.
|
||||
**That's it!** We now have the code for our service.
|
||||
|
||||
Let's build and run it!
|
||||
|
||||
@@ -99,7 +100,7 @@ Let's build and run it!
|
||||
# start the executable
|
||||
target/debug/hello-world
|
||||
|
||||
Visit `localhost:80` to see your running web page!
|
||||
Visit `<http://localhost:80>`_ to see your running web page!
|
||||
|
||||
Build for RaspberryPi
|
||||
======================
|
||||
@@ -145,27 +146,27 @@ Now that we have our code properly built/compiled, we can create a Dockerfile. T
|
||||
|
||||
In other words, the Dockerfile serves as a recipe for creating a Docker image, from which Docker containers are spun up. This is ultimately what runs an instance of your service on the Embassy.
|
||||
|
||||
#. Create the necessary Docker files:
|
||||
1. Create the necessary Docker files:
|
||||
|
||||
.. code:: bash
|
||||
|
||||
touch Dockerfile
|
||||
touch docker_entrypoint.sh
|
||||
|
||||
#. We start by importing a base image, in this case Alpine, as recommended.
|
||||
2. We start by importing a base image, in this case Alpine, as recommended.
|
||||
|
||||
.. code:: docker
|
||||
|
||||
FROM arm64v8/alpine:3.12
|
||||
|
||||
#. Next, we issue some commands to setup the filesystem. Here we update repositories and install required system packages.
|
||||
3. Next, we issue some commands to setup the filesystem. Here we update repositories and install required system packages.
|
||||
|
||||
.. code:: docker
|
||||
|
||||
RUN apk update
|
||||
RUN apk add tini
|
||||
|
||||
#. Next, we add the cross-compiled binary of ``hello-world`` to ``/usr/local/bin/`` and add the ``docker_entrypoint.sh`` file from the project root. Then, we set permissions for ``docker_entrypoint.sh``.
|
||||
4. Next, we add the cross-compiled binary of ``hello-world`` to ``/usr/local/bin/`` and add the ``docker_entrypoint.sh`` file from the project root. Then, we set permissions for ``docker_entrypoint.sh``.
|
||||
|
||||
.. code:: docker
|
||||
|
||||
@@ -173,7 +174,7 @@ In other words, the Dockerfile serves as a recipe for creating a Docker image, f
|
||||
ADD ./docker_entrypoint.sh /usr/local/bin/docker_entrypoint.sh
|
||||
RUN chmod a+x /usr/local/bin/docker_entrypoint.sh
|
||||
|
||||
#. Next, we set a working directory, and set the location of the entrypoint. Exposing ports is not necessary for EOS, but its often useful to leave this line for quick reference and clarity.
|
||||
5. Next, we set a working directory, and set the location of the entrypoint. Exposing ports is not necessary for EOS, but its often useful to leave this line for quick reference and clarity.
|
||||
|
||||
.. code:: docker
|
||||
|
||||
@@ -183,7 +184,8 @@ In other words, the Dockerfile serves as a recipe for creating a Docker image, f
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/docker_entrypoint.sh"]
|
||||
|
||||
#. That's it! Let's take a look at our final ``Dockerfile``:
|
||||
6. **That's it!** Let's take a look at our final ``Dockerfile``:
|
||||
|
||||
.. code:: docker
|
||||
|
||||
FROM arm64v8/alpine:3.12
|
||||
@@ -202,7 +204,7 @@ In other words, the Dockerfile serves as a recipe for creating a Docker image, f
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/docker_entrypoint.sh"]
|
||||
|
||||
#. Finally, add the following code to the `docker_entrypoint.sh`:
|
||||
7. Finally, add the following code to the ``docker_entrypoint.sh``:
|
||||
|
||||
.. code:: bash
|
||||
|
||||
@@ -239,10 +241,10 @@ Let's create a yaml manifest file for our hello-world project:
|
||||
|
||||
touch manifest.yaml
|
||||
|
||||
And populate it with the following example manifest:
|
||||
And populate it with the following example manifest (see the line comments for a description of each key and view the full :ref:`type specification here <service_manifest>`):
|
||||
|
||||
.. code:: yaml
|
||||
|
||||
|
||||
# The package identifier used by the OS
|
||||
id: hello-world
|
||||
# A human readable service title
|
||||
@@ -326,10 +328,10 @@ And populate it with the following example manifest:
|
||||
entrypoint: compat
|
||||
# Any arguments that need to be passed into the run command
|
||||
args:
|
||||
- config
|
||||
- get
|
||||
- /root
|
||||
- "/mnt/assets/config_spec.yaml"
|
||||
- config
|
||||
- get
|
||||
- /root
|
||||
- "/mnt/assets/config_spec.yaml"
|
||||
# The locations at which to mount the specified Docker images
|
||||
mounts:
|
||||
compat: /mnt/assets
|
||||
@@ -343,11 +345,11 @@ And populate it with the following example manifest:
|
||||
system: true
|
||||
entrypoint: compat
|
||||
args:
|
||||
- config
|
||||
- set
|
||||
- hello-world
|
||||
- /root
|
||||
- "/mnt/assets/config_rules.yaml"
|
||||
- config
|
||||
- set
|
||||
- hello-world
|
||||
- /root
|
||||
- "/mnt/assets/config_rules.yaml"
|
||||
mounts:
|
||||
compat: /mnt/assets
|
||||
main: /root
|
||||
@@ -399,8 +401,8 @@ And populate it with the following example manifest:
|
||||
ui: true
|
||||
# Denotes the protocol specifications used by this interface
|
||||
protocols:
|
||||
- tcp
|
||||
- http
|
||||
- tcp
|
||||
- http
|
||||
# Alerts: omitting these will result in using the default alerts in EmbassyOS, except for start, which has no default.
|
||||
alerts:
|
||||
install-alert: This is an alert that will present before the user installs this service
|
||||
@@ -410,32 +412,37 @@ And populate it with the following example manifest:
|
||||
# Specifies how backups should be run for this service. The default EmbassyOS provided option is to use the duplicity backup library on a system image (compat)
|
||||
backup:
|
||||
create:
|
||||
# Currently, only docker actions are supported.
|
||||
type: docker
|
||||
# The docker image to use. In this case, a pre-loaded system image called compat
|
||||
image: compat
|
||||
# Required if the action uses a system image. The default value is false.
|
||||
system: true
|
||||
# The executable to run the command to begin the backup create process
|
||||
entrypoint: compat
|
||||
# Arguments to pass into the entrypoint. In this example, the full command run will be: `compat duplicity hello-world /mnt/backup /root/data`
|
||||
# Arguments to pass into the entrypoint executable. In this example, the full command run will be: `compat duplicity hello-world /mnt/backup /root/data`
|
||||
args:
|
||||
- duplicity
|
||||
- hello-world
|
||||
- /mnt/backup
|
||||
# For duplicity, the backup mount point needs to be something other than `/root`, so we default to `/root/data`
|
||||
- /root/data
|
||||
- duplicity
|
||||
- hello-world
|
||||
- /mnt/backup
|
||||
# For duplicity, the backup mount point needs to be something other than `/root`, so we default to `/root/data`
|
||||
- /root/data
|
||||
mounts:
|
||||
# BACKUP is the default volume that is used for backups. This is whatever backup drive is mounted to the device, or a network filesystem.
|
||||
# The value here donates where the mount point will be. The backup drive is mounted to this location.
|
||||
BACKUP: "/mnt/backup"
|
||||
main: "/root"
|
||||
# The action to execute the backup restore functionality. Details for the keys below are the same as above.
|
||||
restore:
|
||||
type: docker
|
||||
image: compat
|
||||
system: true
|
||||
entrypoint: compat
|
||||
args:
|
||||
- duplicity
|
||||
- hello-world
|
||||
- /root/data
|
||||
- /mnt/backup
|
||||
- duplicity
|
||||
- hello-world
|
||||
- /root/data
|
||||
- /mnt/backup
|
||||
mounts:
|
||||
BACKUP: "/mnt/backup"
|
||||
main: "/root"
|
||||
@@ -448,7 +455,7 @@ And populate it with the following example manifest:
|
||||
A warning message indicating and potential dangers associated with the action
|
||||
# Indicates what state the service can be in while executing the action
|
||||
allowed-statuses:
|
||||
- running
|
||||
- running
|
||||
# Defines how the action is run
|
||||
implementation:
|
||||
type: docker
|
||||
@@ -460,7 +467,6 @@ And populate it with the following example manifest:
|
||||
# Required - valid values are yaml, toml, json
|
||||
io-format: json
|
||||
|
||||
|
||||
Instructions
|
||||
============
|
||||
|
||||
@@ -485,7 +491,7 @@ License
|
||||
|
||||
Start9 ensures that the proper license is displayed for all open source software running on an EmbassyOS platform. Let's make sure to include the full open source license so users can view the distribution permissions of your service, among other licensing details.
|
||||
|
||||
The name and location of this file should be specified in the `assets.license` section of the Manifest. The default value if not specified is `LICENSE`, located in the root of the project folder.
|
||||
The name and location of this file should be specified in the ``assets.license`` section of the Manifest. The default value if not specified is ``LICENSE``, located in the root of the project folder.
|
||||
|
||||
.. code:: bash
|
||||
|
||||
@@ -496,7 +502,7 @@ Icon
|
||||
|
||||
Icons are displayed throughout the EmbassyUI to reference to your service.
|
||||
|
||||
Simply add the icon file to the root of the project directory. The icon file can be named anything, but this must be specified in the `assets.icon` section of the Manifest. The default filename the SDk looks for when packaging the service assets is `icon.png`.
|
||||
Simply add the icon file to the root of the project directory. The icon file can be named anything, but this must be specified in the ``assets.icon`` section of the Manifest. The default filename the SDk looks for when packaging the service assets is ``icon.png``.
|
||||
|
||||
.. code:: bash
|
||||
|
||||
@@ -505,9 +511,9 @@ Simply add the icon file to the root of the project directory. The icon file can
|
||||
Package into s9pk
|
||||
=================
|
||||
|
||||
We now have all of the necessary components to package the service into the format needed for the OS. This format is a custom filetype with an extension of `.s9pk`, short for Start9 Package.
|
||||
We now have all of the necessary components to package the service into the format needed for the OS. This format is a custom filetype with an extension of ``.s9pk``, short for Start9 Package.
|
||||
|
||||
To package all components into an `.s9pk`, run the following command from the root of your project directory:
|
||||
To package all components into an ``.s9pk``, run the following command from the root of your project directory:
|
||||
|
||||
.. code:: bash
|
||||
|
||||
@@ -521,7 +527,7 @@ Let's also make sure to verify the validity of the package:
|
||||
|
||||
If anything goes wrong, an error message will indicate the missing component or other failure.
|
||||
|
||||
That's it!
|
||||
**That's it!**
|
||||
|
||||
Wrapper Repo
|
||||
============
|
||||
@@ -542,13 +548,13 @@ If you want to proceed from scratch, follow these steps:
|
||||
cd hello-world-wrapper
|
||||
|
||||
|
||||
3. Include the `hello-world` project in the wrapper repo. It can either be included directly, or it can be hosted separately. If it is hosted separately, it should be included as a `git submodule <https://git-scm.com/book/en/v2/Git-Tools-Submodules>`_ within the wrapper repository:
|
||||
3. Include the ``hello-world`` project in the wrapper repo. It can either be included directly, or it can be hosted separately. If it is hosted separately, it should be included as a `git submodule <https://git-scm.com/book/en/v2/Git-Tools-Submodules>`_ within the wrapper repository:
|
||||
|
||||
.. code:: bash
|
||||
|
||||
git submodule add <link_to_source_project>
|
||||
|
||||
4. Edit the `.gitignore` file to include the `.s9pk` file and `image.tar` bundle. This will exclude these files from being published remotely, as they can be large or binary representations.
|
||||
4. Edit the ``.gitignore`` file to include the ``.s9pk`` file and ``image.tar`` bundle. This will exclude these files from being published remotely, as they can be large or binary representations.
|
||||
|
||||
.. code:: bash
|
||||
|
||||
@@ -593,7 +599,7 @@ For convenience and repeatability, let's combine all of these commands into a Ma
|
||||
|
||||
touch Makefile
|
||||
|
||||
1. Add the build rule with the target executable as the key, including a list of dependencies needed to build the target file. In this case, the `hello-world` binary compiled for aarch is the target, and the dependencies are the hello-world source files needed to compile this binary:
|
||||
1. Add the build rule with the target executable as the key, including a list of dependencies needed to build the target file. In this case, the ``hello-world`` binary compiled for aarch is the target, and the dependencies are the hello-world source files needed to compile this binary:
|
||||
|
||||
.. code:: bash
|
||||
|
||||
@@ -609,7 +615,7 @@ For convenience and repeatability, let's combine all of these commands into a Ma
|
||||
image.tar: Dockerfile docker_entrypoint.sh hello-world/target/aarch64-unknown-linux-musl/release/hello-world
|
||||
DOCKER_CLI_EXPERIMENTAL=enabled docker buildx build --tag start9/hello-world/main:$(VERSION) --platform=linux/arm64 -o type=docker,dest=image.tar .
|
||||
|
||||
3. Next, add the step for building the `s9pk` package, with the `hello-world.s9pk` as the target, and all the component files as the dependencies:
|
||||
3. Next, add the step for building the ``s9pk`` package, with the ``hello-world.s9p`k` as the target, and all the component files as the dependencies:
|
||||
|
||||
.. code:: bash
|
||||
|
||||
@@ -635,15 +641,15 @@ For convenience and repeatability, let's combine all of these commands into a Ma
|
||||
rm -f image.tar
|
||||
rm -f hello-world.s9pk
|
||||
|
||||
6. Finally, add the `all` make target.
|
||||
6. Finally, add the ``all`` make target.
|
||||
|
||||
.. code:: bash
|
||||
|
||||
all: verify
|
||||
|
||||
This serves as the entrypoint to build multiple targets, which we have in this case. When the `make` command is invoked here, it looks for the "verify" target. Since the "verify" target depends on the "hello-world.s9pk" target, make then runs this target. It continues down this graph until the first target and its dependencies are satisfied, then works its way back up. The final output of this Makefile is the `image.tar` and `hello-world.s9pk` files.
|
||||
This serves as the entrypoint to build multiple targets, which we have in this case. When the ``make`` command is invoked here, it looks for the "verify" target. Since the "verify" target depends on the "hello-world.s9pk" target, make then runs this target. It continues down this graph until the first target and its dependencies are satisfied, then works its way back up. The final output of this Makefile is the ``image.tar`` and ``hello-world.s9pk`` files.
|
||||
|
||||
That's it! Our completed Makefile looks like this:
|
||||
**That's it!** Our completed Makefile looks like this:
|
||||
|
||||
.. code:: make
|
||||
|
||||
@@ -697,7 +703,7 @@ Now that we have a process for iterating on producing a valid package for Embass
|
||||
#. Click on + Add new key
|
||||
#. Paste pubkey from clipboard
|
||||
|
||||
3. Copy the `hello-world.s9pk` to the Embassy device:
|
||||
3. Copy the ``hello-world.s9pk`` to the Embassy device:
|
||||
|
||||
.. code:: bash
|
||||
|
||||
@@ -719,7 +725,7 @@ Now that we have a process for iterating on producing a valid package for Embass
|
||||
embassy-cli auth login
|
||||
embassy-cli package install hello-world.s9pk
|
||||
|
||||
Congratulations! You have successfully created and installed a package you created onto EmbassyOS. The package should now be viewable in the "Services" tab in EmbassyUI.
|
||||
**Congratulations!** You have successfully created and installed a package you created onto EmbassyOS. The package should now be viewable in the "Services" tab in EmbassyUI.
|
||||
|
||||
From here, you can play with viewing the results of your Manifest file settings, such as config, actions, interfaces, health checks, etc. You can also view the logs of your service right in the UI!
|
||||
|
||||
|
||||
@@ -8,11 +8,11 @@ Below are links to working examples of more advanced configurations for current
|
||||
|
||||
TODO update links when merged to master
|
||||
|
||||
- Detailed `docker_entrypoint.sh` - `filebrowser-wrapper <https://github.com/Start9Labs/filebrowser-wrapper/blob/master/docker_entrypoint.sh>`_
|
||||
- Optional dependencies - `btcpayserver <>`_
|
||||
- Config spec - `btcpayserver <>`_
|
||||
- Config rules - `btcpayserver <>`_
|
||||
- Multiple dependencies - `btcpayserver <>`_
|
||||
- Actions - `btcpayserver <>`_
|
||||
- Health checks - `btcpayserver <>`_
|
||||
- Alerts - `lnd <https://github.com/Start9Labs/lnd-wrapper/blob/87daf4e5ed7231e22aaa28be533e794f67f98289/manifest.yaml#L30>`_
|
||||
- Detailed `docker_entrypoint.sh` - `Filebrowser <https://github.com/Start9Labs/filebrowser-wrapper/blob/master/docker_entrypoint.sh>`_
|
||||
- Optional dependencies - `BTCPay Server <https://github.com/Start9Labs/btcpayserver-wrapper/blob/master/assets/compat/dependencies.yaml>`_
|
||||
- Config spec - `BTCPay Server <https://github.com/Start9Labs/btcpayserver-wrapper/blob/master/assets/compat/config_spec.yaml>`_
|
||||
- Config rules - `BTC RPC Proxy <https://github.com/Start9Labs/btc-rpc-proxy-wrapper/blob/master/assets/compat/config_rules.yaml>`_
|
||||
- Multiple dependencies - `BTCPay Server <https://github.com/Start9Labs/btcpayserver-wrapper/blob/master/manifest.yaml#L172-L187>`_
|
||||
- Actions - `BTCPay Server <https://github.com/Start9Labs/btcpayserver-wrapper/blob/master/actions/btcpay-admin.sh>`_
|
||||
- Health checks - `BTCPay Server <https://github.com/Start9Labs/btcpayserver-wrapper/blob/master/assets/utils/health_check.sh>`_
|
||||
- Alerts - `BTCPay Server <https://github.com/Start9Labs/btcpayserver-wrapper/blob/master/manifest.yaml#L207-L218>`_
|
||||
|
||||
@@ -15,7 +15,7 @@ Of course, there are additional recommendations that would streamline your devel
|
||||
Code Editor
|
||||
===========
|
||||
|
||||
A code editor is recommended since you will, after all, be writing code! We are fans of`Visual Studio Code <https://code.visualstudio.com/>`_ . Visual Studio Code is a free, batteries-included text editor made by Microsoft.
|
||||
A code editor is recommended since you will, after all, be writing code! We are fans of `Visual Studio Code <https://code.visualstudio.com/>`_ . Visual Studio Code is a free, batteries-included text editor made by Microsoft.
|
||||
|
||||
Terminal / CLI
|
||||
==============
|
||||
@@ -81,7 +81,7 @@ EmbassyOS
|
||||
|
||||
While not strictly necessary, having a running instance of EmbassyOS is recommended to test installing, running, configuring, and using your package. Without this component, you will have to coordinate with Start9's internal development team to test. ... TODO add more
|
||||
|
||||
You can acquire EmbassyOS by :ref:`Purchase <purchasing>` or following the :ref:`DIY guide <diy>`.
|
||||
You can acquire EmbassyOS by :ref:`purchasing <purchasing>` or following the :ref:`DIY guide <diy>`.
|
||||
|
||||
.. _quick-start:
|
||||
Quick Start Environment Setup
|
||||
@@ -89,5 +89,5 @@ Quick Start Environment Setup
|
||||
- `Docker <https://docs.docker.com/get-docker>`_
|
||||
- `Docker buildx <https://docs.docker.com/buildx/working-with-buildx/>`_
|
||||
- `Cargo <https://doc.rust-lang.org/cargo/getting-started/installation.html>`_
|
||||
- `EmbassyOS <https://github.com/Start9Labs/embassy-os>`
|
||||
- `EmbassyOS <https://github.com/Start9Labs/embassy-os>`_
|
||||
- `Embassy SDK <https://github.com/Start9Labs/embassy-os/blob/master/backend/install-sdk.sh>`_
|
||||
@@ -26,7 +26,7 @@ Packaging
|
||||
Testing:
|
||||
--------
|
||||
|
||||
1. Sideload s9pk onto an Embassy
|
||||
1. Sideload ``<package-id>.s9pk`` onto an Embassy
|
||||
2. Install package using embassy-cli
|
||||
3. Start package using embassy-cli, or in the UI
|
||||
4. Check logs to see if errors
|
||||
|
||||
@@ -22,7 +22,7 @@ Service Packaging Overview
|
||||
|
||||
.. topic-box::
|
||||
:title: Getting Started
|
||||
:link: packaging-getting-started
|
||||
:link: getting-started
|
||||
:icon: scylla-icon scylla-icon--nsql-guides
|
||||
:class: large-4
|
||||
:anchor: View
|
||||
@@ -40,7 +40,7 @@ Service Packaging Overview
|
||||
|
||||
.. topic-box::
|
||||
:title: Packaging Quick Start
|
||||
:link: packaging-quick-start
|
||||
:link: getting-started/quick-start
|
||||
:icon: scylla-icon scylla-icon--roadmap
|
||||
:class: large-4
|
||||
:anchor: Begin
|
||||
@@ -49,7 +49,7 @@ Service Packaging Overview
|
||||
|
||||
.. topic-box::
|
||||
:title: SDK
|
||||
:link: sdk
|
||||
:link: getting-started/sdk
|
||||
:icon: scylla-icon scylla-icon--apps
|
||||
:class: large-4
|
||||
:anchor: View
|
||||
@@ -58,7 +58,7 @@ Service Packaging Overview
|
||||
|
||||
.. topic-box::
|
||||
:title: Full Specification
|
||||
:link: packaging-specification
|
||||
:link: specification
|
||||
:icon: scylla-icon scylla-icon--glossary
|
||||
:class: large-4
|
||||
:anchor: View
|
||||
@@ -67,7 +67,7 @@ Service Packaging Overview
|
||||
|
||||
.. topic-box::
|
||||
:title: Advanced Guides
|
||||
:link: advanced/index
|
||||
:link: advanced
|
||||
:icon: scylla-icon scylla-icon--integrations
|
||||
:class: large-4
|
||||
:anchor: View
|
||||
@@ -86,4 +86,4 @@ Service Packaging Overview
|
||||
getting-started/index
|
||||
build-package-example/index
|
||||
specification/index
|
||||
advanced/index
|
||||
advanced/index
|
||||
@@ -0,0 +1,7 @@
|
||||
.. _emver:
|
||||
|
||||
====================
|
||||
EmbassyOS Versioning
|
||||
====================
|
||||
|
||||
TODO
|
||||
@@ -12,6 +12,7 @@ The following guides provide an in depth overview of the full capabilities avail
|
||||
overview
|
||||
wrapper
|
||||
manifest
|
||||
emver
|
||||
docker
|
||||
makefile
|
||||
config
|
||||
|
||||
@@ -9,11 +9,13 @@ Answers to Frequently Asked Questions from Embassy users
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
faq-general
|
||||
faq-030
|
||||
faq-troubleshooting
|
||||
faq-basic-use
|
||||
faq-embassy
|
||||
faq-services
|
||||
faq-bitcoin
|
||||
faq-contributing
|
||||
faq-embassy
|
||||
faq-general
|
||||
faq-lightning
|
||||
faq-services
|
||||
faq-service-packaging
|
||||
faq-troubleshooting
|
||||
|
||||
@@ -15,7 +15,7 @@ Support
|
||||
.. topic-box::
|
||||
:title: User Manual
|
||||
:link: user-manual
|
||||
:icon: scylla-icon scylla-icon--knowledge-base
|
||||
:icon: scylla-icon scylla-icon--docs
|
||||
:class: large-4
|
||||
:anchor: View
|
||||
|
||||
@@ -31,13 +31,13 @@ Support
|
||||
Answers to Frequently Asked Questions from Embassy users
|
||||
|
||||
.. topic-box::
|
||||
:title: Developer Documentation
|
||||
:link: dev-docs
|
||||
:title: Service Packaging
|
||||
:link: ../service-packaging
|
||||
:icon: scylla-icon scylla-icon--open-source
|
||||
:class: large-4
|
||||
:anchor: Build
|
||||
|
||||
Tools and guides for developers
|
||||
Tools and guides for service packagers
|
||||
|
||||
.. topic-box::
|
||||
:title: Community Channels
|
||||
@@ -58,5 +58,4 @@ Support
|
||||
:hidden:
|
||||
|
||||
user-manual/index
|
||||
faq/index
|
||||
dev-docs/index
|
||||
faq/index
|
||||
Reference in New Issue
Block a user