Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge dev to master #232

Merged
merged 35 commits into from
Sep 19, 2024
Merged

Merge dev to master #232

merged 35 commits into from
Sep 19, 2024

Conversation

JanneKiiskila
Copy link
Contributor

We don't need a separate dev branch, we should just have a stable master, instead.
Simplifies things.

mray190 and others added 30 commits November 3, 2021 12:11
maestro templating is no longer used. Remove the capability from maestro config
Remove previous templates - all but relay term not used
Moved relayterm config to a static location
Adjusted install of relay term config to point to new static file
Remove template file installation in rhel
Add relay term config to the red hat file checker
No longer needed as maestro-shell modified logging and networking in maestro
Both logging and networking are disabled for maestro
- Update maestro to 3.0.0
- Remove libgrease dependency.
- Use go modules.
- Remove grease and dependencies
- Since libuv is no longer supplied by the greasego dependencies, we need the build system to provide it.
Adds GRM feature which allows a client to add new LwM2M resources
to a gateway device

Added the CMake flags related to new FOTA library to indicate that
new FOTA framework library is not compilied in Edge Core.

All patches were either updated for 0.15.0 to adjust to new APIs
or were removed because the patch content was upstreamed.

fix mbed-edge-core-devmode version
This allows Maestro to add new LwM2M resources to gateway device. These
resources represents the gateway capabilities, meaning the rich node
services which are running on the gateway, for example - KaaS, Logging
and Terminal. Maestro also pushes the configuration data which is
associated to the services.

Remote configuration management via LwM2M -
With this feature, user can update the configuration of the service like
Maestro logs, KaaS or Terminal via LwM2M. Maestro on receiving this write
request will update the configuration file on the gateway.

TODO: How to restart the service after config file is updated?
* Adds proxy-only mode which allows edge-proxy to run HTTP and HTTPS
proxy servers without connecting directly to Pelion Cloud for the
SmartHTTP reverse proxy server.
* Adds HTTPS proxy server
* Adds external proxy cacert option
BYOC version of edge-core differs from the other variants of edge-core
in the way that it is provisioned.  byoc mode takes a CBOR file as input
during the initial provisioning process, whereas devmode is compiled with
credentials and factory-mode receives credentials during a factory
provisioning process using FCC.

The CBOR file can be generated from developer credentials downloaded
from the Pelion Portal (the same credentials "C" files used to compile
into devmode edge-core) by a tool called edge-tool [1], or it can be
generated by FCCE [2].

[1] https://github.com/PelionIoT/mbed-edge/tree/master/edge-tool
[2] https://github.com/PelionIoT/factory-configurator-client-example
try to free up some disk space
this makes it consistent with the other golang projects and
fixes the build.
this is part of Pelion Edge 2.4
Since we're migrating from relay-term to pe-terminal, we're in
a transition period where both could potentially be installed but
we only want one of them running.

This commit disables relay-term from automatically starting.  To
re-enable it, just uncomment the WantedBy line in the service file.
* remove support for CentOS/8 since it is EOL

CentOS/8 has reached End-Of-Life:
    https://www.centos.org/centos-linux-eol/

We're doing this now rather than later because CentOS can not be
upgraded with 'dnf update' or 'yum update' which obviously breaks our
build.

Here is a link to a centos forum post discussing this error and noting that
it WILL NOT be fixed by Redhat and users must instead migrate to a different
distribution:

    https://forums.centos.org/viewtopic.php?f=54&t=78708

Here is the error:
-----------------------------------------------------------------------
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
The command '/bin/sh -c yum update -y &&        yum install -y createrepo_c yum-utils sudo dnf-plugins-core epel-release &&     yum groupinstall -y 'Development Tools' &&     yum config-manager --set-enabled powertools &&     yum makecache' returned a non-zero code: 1

Error: Process completed with exit code 1.
-----------------------------------------------------------------------

* fix bionic build

install dwz package from bionic-backports so that it matches
the debhelper package also installed from bionic-backports.

* upgrade debian 10 docker image to buster-20220228

Let's upgrade the base image to pick up some CVE fixes.

* upgrade all to golang-1.16 except for kubelet

kubelet uses the build script provided by the kubelet project
which currently uses golang-1.11.  If we want to compile
kubelet with a different version of golang, we'll need to
customize our own scripts.

* kubelet: don't use dockerized make

the dockerized make environment comes with its own built-in
version of Golang, but we need to control the golang
version so that it matches the rest of Pelion Edge.

* delete devicedb package

DeviceDB is not now and was never actually used in Pelion Edge.

* fix edge-proxy github org

edge-proxy was moved from ArmPelionEdge to PelionIoT

* upgrade containernetworking/plugins to v0.8.5

Both the Yocto Meta-Pelion-Edge and the Snap-Pelion-Edge builds
are using this version.

* upgrade maestro-shell to v2.8.0

maestro-shell removed suport for grease which removes several
dependencies.

* containernetworking-plugins: fix CVE-2021-33194

bump golang.org/x/net version to fix CVE-2021-33194

* patch golang to fix CVE-2021-29923

Build a patched version Golang-1.16.15 to compile Pelion Edge
components.  This fixes CVE-2021-29923.

The Golang patch that fixes the CVE is backported from:
	https://go-review.googlesource.com/c/go/+/325829/

* upgrade kubelet to fix CVE-2021-33194

* upgrade edge-proxy to fix CVE-2021-33194

* upgrade maestro to fix CVE-2021-33194

* fix buster ARM64 containernetworking-plugins install path

The dh-golang debhelper package is used to automate the build
of containernetworking-plugins.  The current Buster version
dh-golang 1.39 places build output in an arch-specific directory
which causes the plugin binaries to be installed into the wrong place.

Buster-Backports installs dh-golang version 1.15 which instead
builds in a common directory and fixes the installation path.

* Corrected merge from master.

Co-authored-by: Nic Costa <[email protected]>
Changed all instances of ARMmbed and armPelioneEdge git domains to PelionIoT.
* master:
  fix buster ARM64 containernetworking-plugins install path
  upgrade maestro to fix CVE-2021-33194
  upgrade edge-proxy to fix CVE-2021-33194
  upgrade kubelet to fix CVE-2021-33194
  patch golang to fix CVE-2021-29923
  containernetworking-plugins: fix CVE-2021-33194
  upgrade maestro-shell to v2.8.0
  upgrade containernetworking/plugins to v0.8.5
  fix edge-proxy github org
  delete devicedb package
  kubelet: don't use dockerized make
  upgrade all to golang-1.16 except for kubelet
  upgrade debian 10 docker image to buster-20220228
  fix bionic build
  remove support for CentOS/8 since it is EOL
Update the install script to correctly install the maestro binary.
Remove section to check docker image build using older versions of
docker.

Update to use ubuntu 22.04 for the runner.
Update version of checkout.
Reduce number of distros to build.
petedyerarm and others added 4 commits March 15, 2024 08:44
Updated:
 - edge-proxy to v1.3.0
 - golang-providers/golang-virtual to v1.20
 - golang-providers/pe-golang-bin to v1.19
 - mbed-edge-core-byocmode to 0.21.0
 - mbed-edge-core-devmode to 0.21.0
 - mbed-edge-core to 0.21.0
 - mbed-edge-examples to 0.21.0
 - mbed-fcc to 4.13.2
 - pe-terminal to 1.1.0
 - pe-utils to 2.3.4
Removed global-node-modules, maestro, pe-nodejs and rallypointwatchdogs.

Added edge-resource-manager

Replaced maestro with edge-resource-manager in build-env.
Removed global-node-modules and pe-nodejs from build-env.
We should use the re-usable action for the GitHub credentials and also
remove them after use (very important for self-hosted ones).
build.yml - add some fixes
@BlackstoneEngineering
Copy link

I am unsure what implications this may have on the larger build / deploy systems, so I will defer to @petedyerarm for his expertise.

README.md Outdated Show resolved Hide resolved
Copy link
Contributor

@petedyerarm petedyerarm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@JanneKiiskila JanneKiiskila merged commit d90c75b into master Sep 19, 2024
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants