From e1a6f06652339ddf4aefcc299f67696ec2652a2a Mon Sep 17 00:00:00 2001 From: Gianpaolo Macario Date: Mon, 16 May 2022 08:35:24 +0200 Subject: [PATCH 1/7] Create section: Deploy your first Application --- .../howto-getting-started-foundriesio.md | 31 ++++++++++++++++--- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/docs/howto/howto-getting-started-foundriesio.md b/docs/howto/howto-getting-started-foundriesio.md index 31648aa..faeeaca 100644 --- a/docs/howto/howto-getting-started-foundriesio.md +++ b/docs/howto/howto-getting-started-foundriesio.md @@ -12,7 +12,8 @@ FoundriesFactory is a cloud service to build, test, deploy, and maintain secure, * * -## Step-by-step instructions + +## Preparation Login to , or first create an account if you have not one. @@ -157,13 +158,14 @@ Use "fioctl [command] --help" for more information about a command. gmacario@hw2228:~ $ ``` -### Flash your device + +## Deploy your first device using FoundriesFactory Follow the instructions at In our example we will be creating a bootable microSD Card for the Raspberry Pi 4. -#### Download LmP system image +### Download LmP system image Login to , then select a Factory which you have access to - in our example, `test-fio-raspi4`. @@ -179,11 +181,11 @@ Navigate to the "Targets" section of your Factory, then click the latest Target In our example, this operation will download file `lmp-factory-image-raspberrypi4-64.wic.gz` (218 MB). -#### Flash LmP system image +### Flash LmP system image Write the image to a blank microSD Card using a tool such as [balenaEtcher](https://www.balena.io/etcher/). -#### Boot Device and Connect to the Network +### Boot device and connect to the network 1. Connect an Ethernet cable to the board 2. Insert the microSD into the Raspberry Pi and @@ -300,6 +302,25 @@ Click on the device to get more details: NOTE: This device was registered on Gianpaolo RPi4, TBV whether the image will also work on the actual `rpird102`. + +## Deploy your first Application + +Reference: + +### Configure your device + +TODO + +### Debugging your device + +TODO + +### Testing the Container + +TODO + +### Enabling Specific Applications + TODO From 1f77cccf4d264574b2b7d8b832399cf53ed388e0 Mon Sep 17 00:00:00 2001 From: Gianpaolo Macario Date: Mon, 16 May 2022 11:34:10 +0200 Subject: [PATCH 2/7] Complete subsection: Configure your device --- .../howto/howto-getting-started-foundriesio.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/howto/howto-getting-started-foundriesio.md b/docs/howto/howto-getting-started-foundriesio.md index faeeaca..c1774bd 100644 --- a/docs/howto/howto-getting-started-foundriesio.md +++ b/docs/howto/howto-getting-started-foundriesio.md @@ -309,6 +309,24 @@ Reference: /etc/sota/conf.d/z-01-polling.toml' + +sudo bash -c 'printf "DAEMON_INTERVAL=60" > /etc/default/fioconfig' + +sudo systemctl restart aktualizr-lite +sudo systemctl restart fioconfig +``` + +To watch the `aktualizr-lite` logs and see the updates, leave a device terminal running the command: + +```bash +sudo journalctl --follow --unit aktualizr-lite +``` + TODO ### Debugging your device From 06d21b5f5ab574ade8258779530bffd3ae3c0c94 Mon Sep 17 00:00:00 2001 From: Gianpaolo Macario Date: Mon, 16 May 2022 11:55:46 +0200 Subject: [PATCH 3/7] Fill in subsection: Debugging your device --- .../howto-getting-started-foundriesio.md | 58 ++++++++++++++++++- 1 file changed, 55 insertions(+), 3 deletions(-) diff --git a/docs/howto/howto-getting-started-foundriesio.md b/docs/howto/howto-getting-started-foundriesio.md index c1774bd..054bf9c 100644 --- a/docs/howto/howto-getting-started-foundriesio.md +++ b/docs/howto/howto-getting-started-foundriesio.md @@ -327,11 +327,63 @@ To watch the `aktualizr-lite` logs and see the updates, leave a device terminal sudo journalctl --follow --unit aktualizr-lite ``` -TODO - ### Debugging your device -TODO +Logged in on the development host, check the list of subscribed devices + +```bash +fioctl login +fioctl devices list +``` + +Result: + +```text +gmacario@hw2228:~ $ fioctl devices list +NAME TARGET STATUS APPS UP-TO-DATE IS-PROD +---- ------ ------ ---- ---------- ------- +rpird102 raspberrypi4-64-lmp-1 OK true false +gmacario@hw2228:~ $ +``` + +Read information about device `rpird102` + +```text +gmacario@hw2228:~ $ fioctl device show rpird102 +UUID: 1f658bf4-cfb1-4546-88cf-01577b67da1b +Owner: 625ff36d02d292c0e482ecbf +Factory: test-fio-raspi4 +Production: false +Up to date: true +Target: raspberrypi4-64-lmp-1 / sha256(0755d289a061c1e15c6c64507bee7085418aa2588e82c309791d688f1649a243) +Ostree Hash: 0755d289a061c1e15c6c64507bee7085418aa2588e82c309791d688f1649a243 +Created: 2022-05-11T17:55:47+00:00 +Last Seen: 2022-05-16T09:41:00+00:00 +Tag: devel +Network Info: + Hostname: raspberrypi4-64 + IP: 192.168.69.128 + MAC: e4:5f:01:35:8f:96 +Hardware Info: (hidden, use --hwinfo) +Aktualizr config: (hidden, use --aktoml) +Active Config: + Created At: 2022-05-11T17:55:48+00:00 + Applied At: 2022-05-11T17:55:48+00:00 + Change Reason: Set Wireguard pubkey from fioconfig + Files: + wireguard-client + | enabled=0 + | + | pubkey=Po/bjvs8w8bGgBLdPsh1owUO9r18rfLf/a+981Hjp2g= + +-----BEGIN PUBLIC KEY----- +MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEp+s6JZYPHzfTZnJlys7HHVNANCob +US1BbACwCSvoBWE/fAHE0UKyIMYwu2ZnHzqOqPVA1wo1nlb41fxPcMD9Ng== +-----END PUBLIC KEY----- +gmacario@hw2228:~ $ +``` + +Take note of the value of field `Tag:` (in our case, `devel`), then double check on which is the the latest Target with that tag. ### Testing the Container From 04ccba276687fd4d73960c87a50025deeff061cc Mon Sep 17 00:00:00 2001 From: Gianpaolo Macario Date: Mon, 16 May 2022 12:30:46 +0200 Subject: [PATCH 4/7] Add section: Clone the factory Source Repositories --- .../howto-getting-started-foundriesio.md | 90 ++++++++++++++++++ .../2022-05-16-1217-source-foundries-io.png | Bin 0 -> 65468 bytes 2 files changed, 90 insertions(+) create mode 100644 docs/images/2022-05-16-1217-source-foundries-io.png diff --git a/docs/howto/howto-getting-started-foundriesio.md b/docs/howto/howto-getting-started-foundriesio.md index 054bf9c..ee470bb 100644 --- a/docs/howto/howto-getting-started-foundriesio.md +++ b/docs/howto/howto-getting-started-foundriesio.md @@ -302,6 +302,92 @@ Click on the device to get more details: NOTE: This device was registered on Gianpaolo RPi4, TBV whether the image will also work on the actual `rpird102`. +## Clone the factory Source Repositories + +### Create a Source Code Access Token + +Login to then click "Settings" > "Api Tokens" > "New Token" + +> **Generate API Token** +> +> 1. INFO + +Fill in the required information: + +* Description: `git gmacario@hw2288` +* Expiration date: 2022-06-30 + +then click "Next". + +> **Generate API Token** +> +> 2. SCOPES + +Fill in the required information: + +* Scopes: Use for source code access (`source:create`, `source:read-update`) +* Factory: `test-fio-raspi4` + +then click "Generate". + +> **Generate API Token** +> +> Your new API token has been created. +> Make sure you save the token value as you won't be able to access it again. + +You may use the generated API token to authenticate and access private git source repositories, as shown in the next subsection. + +### Browse the factory Source Repositories from the web interface + +Logged in to rowse the Foundries.io Subscriber Repositories. In our example + + + +![2022-05-16-1217-source-foundries-io.png](../images/2022-05-16-1217-source-foundries-io.png) + +### Configure Git + +```bash +git config --global credential.helper store + +mkdir -p ~/source.foundries.io/factories/ +cd ~/source.foundries.io/factories/ +``` + +### Clone the Container Source Repository + +Clone the `containers.git` repository: + +```bash +git clone -b devel https://source.foundries.io/factories//containers.git +``` + +In our example + +```text +gmacario@hw2228:~ $ git clone -b devel https://source.foundries.io/factories/test-fio-raspi4/containers.git +Cloning into 'containers'... +Username for 'https://source.foundries.io': gmacario@gmail.com +Password for 'https://gmacario@gmail.com@source.foundries.io': +remote: Enumerating objects: 8, done. +remote: Counting objects: 100% (8/8), done. +remote: Compressing objects: 100% (8/8), done. +remote: Total 8 (delta 0), reused 0 (delta 0) +Unpacking objects: 100% (8/8), 1.21 KiB | 620.00 KiB/s, done. +gmacario@hw2228:~ $ +``` + +Note: When requested by git, provide your Foundries.io as username (in our example, `gmacario@ŋmail.com`), then provide the generated API Token as password. + +Using a similar command you may also clone the other source repositories of the factory: + +```bash +git clone https://source.foundries.io/factories//ci-scripts.git + +git clone https://source.foundries.io/factories//lmp-manifest.git + +git clone https://source.foundries.io/factories//meta-subscriber-overrides.git +``` ## Deploy your first Application @@ -327,6 +413,10 @@ To watch the `aktualizr-lite` logs and see the updates, leave a device terminal sudo journalctl --follow --unit aktualizr-lite ``` +### Make changes to the `devel` branch of `containers.git` + +TODO + ### Debugging your device Logged in on the development host, check the list of subscribed devices diff --git a/docs/images/2022-05-16-1217-source-foundries-io.png b/docs/images/2022-05-16-1217-source-foundries-io.png new file mode 100644 index 0000000000000000000000000000000000000000..355b848123a896d5d2a3fe0facc51a3e1c817d08 GIT binary patch literal 65468 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 C*f$*j literal 0 HcmV?d00001 From 0b784c4acab73c5c20dafb5c2b75039e342a894a Mon Sep 17 00:00:00 2001 From: Gianpaolo Macario Date: Mon, 16 May 2022 12:59:54 +0200 Subject: [PATCH 5/7] Fix textlint errors --- .../howto-getting-started-foundriesio.md | 43 ++++++++++--------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/docs/howto/howto-getting-started-foundriesio.md b/docs/howto/howto-getting-started-foundriesio.md index ee470bb..bc744d2 100644 --- a/docs/howto/howto-getting-started-foundriesio.md +++ b/docs/howto/howto-getting-started-foundriesio.md @@ -440,31 +440,32 @@ Read information about device `rpird102` ```text gmacario@hw2228:~ $ fioctl device show rpird102 -UUID: 1f658bf4-cfb1-4546-88cf-01577b67da1b -Owner: 625ff36d02d292c0e482ecbf -Factory: test-fio-raspi4 -Production: false -Up to date: true -Target: raspberrypi4-64-lmp-1 / sha256(0755d289a061c1e15c6c64507bee7085418aa2588e82c309791d688f1649a243) -Ostree Hash: 0755d289a061c1e15c6c64507bee7085418aa2588e82c309791d688f1649a243 -Created: 2022-05-11T17:55:47+00:00 -Last Seen: 2022-05-16T09:41:00+00:00 -Tag: devel +UUID: 1f658bf4-cfb1-4546-88cf-01577b67da1b +Owner: 625ff36d02d292c0e482ecbf +Factory: test-fio-raspi4 +Production: false +Up to date: true +Target: raspberrypi4-64-lmp-1 / sha256(0755d289a061c1e15c6c64507bee7085418aa2588e82c309791d688f1649a243) +Ostree Hash: 0755d289a061c1e15c6c64507bee7085418aa2588e82c309791d688f1649a243 +Created: 2022-05-11T17:55:47+00:00 +Last Seen: 2022-05-16T09:41:00+00:00 +Tag: devel Network Info: - Hostname: raspberrypi4-64 - IP: 192.168.69.128 - MAC: e4:5f:01:35:8f:96 + Hostname: raspberrypi4-64 + IP: 192.168.69.128 + MAC: e4:5f:01:35:8f:96 Hardware Info: (hidden, use --hwinfo) Aktualizr config: (hidden, use --aktoml) Active Config: - Created At: 2022-05-11T17:55:48+00:00 - Applied At: 2022-05-11T17:55:48+00:00 - Change Reason: Set Wireguard pubkey from fioconfig - Files: - wireguard-client - | enabled=0 - | - | pubkey=Po/bjvs8w8bGgBLdPsh1owUO9r18rfLf/a+981Hjp2g= + Created At: 2022-05-11T17:55:48+00:00 + Applied At: 2022-05-11T17:55:48+00:00 + Change Reason: Set Wireguard pubkey from fioconfig + Files: + wireguard-client + | enabled=0 + | + | pubkey=Po/ + bjvs8w8bGgBLdPsh1owUO9r18rfLf/a+981Hjp2g= -----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEp+s6JZYPHzfTZnJlys7HHVNANCob From 2ec6136a415ec65d41d334ffab91fcafdc824bf5 Mon Sep 17 00:00:00 2001 From: Gianpaolo Macario Date: Mon, 16 May 2022 14:51:05 +0200 Subject: [PATCH 6/7] Fix textlint error --- docs/howto/howto-getting-started-foundriesio.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/howto/howto-getting-started-foundriesio.md b/docs/howto/howto-getting-started-foundriesio.md index bc744d2..e82e594 100644 --- a/docs/howto/howto-getting-started-foundriesio.md +++ b/docs/howto/howto-getting-started-foundriesio.md @@ -306,7 +306,7 @@ NOTE: This device was registered on Gianpaolo RPi4, TBV whether the image will a ### Create a Source Code Access Token -Login to then click "Settings" > "Api Tokens" > "New Token" +Login to then click "Settings" > "API Tokens" > "New Token" > **Generate API Token** > From 3d78a5aa7576b3e318188712601a3d9dc4664ba8 Mon Sep 17 00:00:00 2001 From: Gianpaolo Macario Date: Tue, 17 May 2022 08:15:17 +0200 Subject: [PATCH 7/7] Fill in section: Testing the Container --- .../howto-getting-started-foundriesio.md | 31 ++++++++++++++++-- docs/images/2022-05-17-0716-hello-world.png | Bin 0 -> 19415 bytes 2 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 docs/images/2022-05-17-0716-hello-world.png diff --git a/docs/howto/howto-getting-started-foundriesio.md b/docs/howto/howto-getting-started-foundriesio.md index e82e594..080689d 100644 --- a/docs/howto/howto-getting-started-foundriesio.md +++ b/docs/howto/howto-getting-started-foundriesio.md @@ -415,7 +415,17 @@ sudo journalctl --follow --unit aktualizr-lite ### Make changes to the `devel` branch of `containers.git` -TODO +Make some changes to the `devel` branch of `containers.git` -- for instance, you may rename the `shellhttpd.disabled` to `shellhttpd` to ensure that the Docker image gets built and the container run in the target. + +```bash +cd containers +git checkout devel +git mv shellhttpd.disabled shellhttpd +git commit -sm "Enable container: shellhttpd" +git push +``` + +Any change on the git repository will cause the target image to be rebuilt ### Debugging your device @@ -478,7 +488,24 @@ Take note of the value of field `Tag:` (in our case, `devel`), then double check ### Testing the Container -TODO +The changes introduced in the source repository of the factory will trigger a new target image build and - depending on the device configuration - after a few minutes the target will load the new image. + +As part of the changed a new Docker container will be run on the target; we can verify this by logging into the target device and issuing the `docker ps` command: + +```text +gmacario@hw2228:~$ ssh fio@raspberrypi4-64.local +fio@raspberrypi4-64.local's password: +Last login: Mon May 16 09:33:03 2022 from 192.168.69.67 +fio@raspberrypi4-64:~$ docker ps +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +fe5f4f8787ee hub.foundries.io/test-fio-raspi4/shellhttpd "/usr/local/bin/http…" 14 hours ago Up 14 hours 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp shellhttpd_httpd_1 +fio@raspberrypi4-64:~$ +``` + +Also, the `shellhttpd` container will deploy a simple HTTP server which can be verified for instance through a web browser: + +![2022-05-17-0716-hello-world.png](../images/2022-05-17-0716-hello-world.png) + ### Enabling Specific Applications diff --git a/docs/images/2022-05-17-0716-hello-world.png b/docs/images/2022-05-17-0716-hello-world.png new file mode 100644 index 0000000000000000000000000000000000000000..6f42f979fba809045619cd0044ecd883e88cff05 GIT binary patch literal 19415 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 MboFyt=akR{0Q)*qS^xk5 literal 0 HcmV?d00001