Pagan Gazzard
bd1bf8153d
Remove unnecessary fetch of device info in balena tunnel
...
Change-type: patch
2022-02-24 21:02:27 +00:00
Pagan Gazzard
f2528dcd18
Correctly use the device uuid when logging the tunnel target
...
The "vpn address" is only relevant on the device/vpn server themselves
and makes no sense from a CLI context as it uses the uuid to specify
the target
Change-type: patch
2022-02-24 21:00:58 +00:00
Paulo Castro
eeb2be2912
ssh: Attempt cloud username if 'root' authentication fails
...
Also refactor several files to avoid code duplication.
Change-type: minor
2022-02-12 02:40:35 +00:00
Paulo Castro
3bf8befb1d
Replace occurrence of through2 dependency with standard stream module
...
Change-type: patch
2022-02-11 17:04:32 +00:00
Paulo Castro
948095ce4d
Refactor cached username logic from events.ts to bootstrap.ts for reuse
...
Change-type: patch
2022-02-11 15:23:36 +00:00
Lucian Buzzo
eccadbdcb9
Drop unused awaitDevice utility function
...
Change-type: patch
Signed-off-by: Lucian Buzzo <lucian.buzzo@gmail.com>
2022-02-01 17:43:28 +00:00
Paulo Castro
5464e550e7
chore: lib/auth/utils.ts: Replace deprecated url.resolve, use async/await
...
Change-type: patch
2022-01-19 22:48:46 +00:00
Paulo Castro
c0f27a663d
chore: Update @types/node to v12.20.42
...
Change-type: patch
2022-01-19 22:48:46 +00:00
Paulo Castro
d1e66bc1a5
v14 preparations: Fix TypeError produced by 'npx oclif manifest'
...
Change-type: patch
2022-01-08 01:16:45 +00:00
Pagan Gazzard
c4e317a290
Automation: enforce noImplicitAny for the type-checked javascript
...
Change-type: patch
2022-01-04 16:27:06 +00:00
Pagan Gazzard
1d4b949cf3
Convert lib/utils/deploy-legacy to typescript
...
Change-type: patch
2022-01-03 16:10:17 +00:00
Pagan Gazzard
bd021c0a2d
Convert lib/utils/compose to typescript
...
Change-type: patch
2022-01-03 15:26:19 +00:00
Paulo Castro
7d58b8c120
os configure, config generate: Add '--dev' option for OS developmentMode
...
Change-type: minor
2021-12-29 00:28:04 +00:00
Paulo Castro
851301a336
local configure: Allow configuring 'developmentMode' in config.json
...
Change-type: minor
2021-12-25 02:26:52 +00:00
Paulo Castro
ec6fd050f6
os build-config: Clarify command purpose in help output
...
Change-type: patch
2021-12-25 02:26:47 +00:00
Paulo Castro
b2d932afab
os versions, os download: Replace deprecated version fields
...
Replace deprecated `rawVersion` and `formattedVersion` fields and use
alternative overload of `getAvailableOsVersions`. As a result, the word
'recommended' is no longer printed next to any OS versions.
Change-type: patch
2021-12-24 16:01:51 +00:00
Scott Lowe
1e6ab46ca3
Add tips for removed commands
...
Signed-off-by: Scott Lowe <scott@balena.io>
2021-12-23 18:40:05 +00:00
Scott Lowe
02d3220f2d
Fix some app/fleet terminology issues
...
Signed-off-by: Scott Lowe <scott@balena.io>
2021-12-23 18:40:05 +00:00
Paulo Castro
c86cdc8f84
balena SDK v16: Ensure all SDK calls use fleet slug rather than name
...
Change-type: patch
2021-12-23 18:40:05 +00:00
Paulo Castro
9145f2fb28
device, devices: Print the fleet's slug in 'org/fleetName' format
...
Change-type: major
2021-12-23 15:34:09 +00:00
Paulo Castro
1164388d78
envs: Print the fleet's slug in 'org/fleetName' format
...
Change-type: major
2021-12-23 15:34:08 +00:00
Paulo Castro
06f6094401
os configure: Remove deprecated '--device-api-key' option
...
Change-type: major
2021-12-23 15:34:08 +00:00
Paulo Castro
67e11467f7
Clean up unused v13 feature switch code
...
Change-type: patch
2021-12-23 15:34:08 +00:00
Paulo Castro
c8dfd0ca65
config read/write/inject/reconfigure: Place '--type' option behind v14 switch
...
Change-type: patch
2021-12-23 15:34:08 +00:00
Paulo Castro
8b110a835a
fleet create: Don't print fleet's numeric database ID in confirmation msg
...
Change-type: major
2021-12-23 15:34:08 +00:00
Paulo Castro
7564d95f82
devices supported: Remove deprecated '--verbose' and '--discontinued' options
...
Change-type: major
2021-12-23 15:34:08 +00:00
Paulo Castro
f12f2b79ef
build/deploy/push: Remove deprecated '--convert-eol' option
...
Change-type: major
2021-12-23 15:34:08 +00:00
Scott Lowe
176d731f9e
Move some v13 features behind v14 switch.
...
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2021-12-23 15:34:08 +00:00
Paulo Castro
1ed39d1d37
Remove deprecated '--app' and '--application' options (renamed to '--fleet')
...
Change-type: major
2021-12-23 15:34:08 +00:00
Paulo Castro
580ca0d584
Remove deprecated commands 'app' and 'apps' (renamed to 'fleet' and 'fleets')
...
Change-type: major
2021-12-23 15:34:08 +00:00
Paulo Castro
73572df7cf
build/deploy/push: Remove deprecated '--[no]gitignore' option
...
Change-type: major
2021-12-23 15:34:08 +00:00
Paulo Castro
23b42b1a2b
v13 release: Flip the v13 feature switch
...
Change-type: major
2021-12-23 15:34:08 +00:00
Pagan Gazzard
79be06820c
Update dev dependencies
...
Change-type: patch
2021-12-21 18:24:26 +00:00
Paulo Castro
c04e63ab7d
os download: Future-proof '--version' format for unified dev/prod variants
...
Do not append the '.prod' suffix by default to balenaOS versions.
Change-type: patch
2021-12-22 15:37:24 +00:00
Pranav Peshwe
e7ddd07b7b
push: Remove hardcoded 'balenaCloud' in console message
...
Change-type: patch
Signed-off-by: Pranav Peshwe <pranav@balena.io>
2021-12-14 19:54:30 +05:30
Thodoris Greasidis
3def4d0e4a
Fix symbolic link regression in push & deploy
...
Change-type: patch
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2021-12-14 02:30:08 +02:00
Thodoris Greasidis
f285880135
Drop unnecessary directory list created during balena deploy & push
...
Change-type: patch
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2021-12-14 00:29:15 +02:00
Paulo Castro
bfc995e948
os download, os versions: Accept device type aliases
...
Change-type: patch
2021-12-10 00:52:02 +00:00
Paulo Castro
c6a0bc0fba
os download: Don't append '.prod' if the OS version does not match regex
2021-12-10 00:38:56 +00:00
Paulo Castro
6e07db0813
os download: Improve error message when not logged in (balenaOS ESR versions)
...
Change-type: patch
2021-12-09 18:06:26 +00:00
Paulo Castro
5c40c8d51f
os download: Assume '.prod' suffix by default for all balenaOS versions
...
Resolves : #2387
Change-type: patch
2021-12-09 17:56:16 +00:00
Scott Lowe
f3fb9b6bdf
v13 preparations: Standardize command data output
...
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2021-12-08 12:10:08 +01:00
Nitish Agarwal
6ba67eefdb
Add provisioning key name option to config generate options
...
Change-Type: minor
Signed-off-by: Nitish Agarwal 1592163+nitishagar@users.noreply.github.com
2021-11-29 16:15:55 +05:30
Paulo Castro
fcea91bfb6
os configure, local configure: Reuse disk partition scanning logic
...
Change-type: patch
2021-11-27 01:10:53 +00:00
Paulo Castro
09d004423c
Bump 'balena-lint' and fix 'no-floating-promises' warnings
...
Change-type: patch
2021-11-26 15:59:33 +00:00
Lucian Buzzo
257dd514ed
Improve directory scan speed prior to tarballing
...
This changes improves the speed that the project is tarballed by switching from
`klaw` to `recursive-fs` and not running `lstat` on files that are ignored.
Whilst testing with the Jellyfish repository, which contains a number of
sub directories, each with their own node_modules folder, I was able to
reduce the time taken to scan and tarball the project from 70s to 11s,
which is a massive improvement.
Change-type: patch
Signed-off-by: Lucian Buzzo <lucian.buzzo@gmail.com>
2021-11-26 13:55:41 +00:00
Lucian Buzzo
d2a5a9ba86
Set the correct target state when using Compose "image" field
...
Fixes #2394
When pushing to a device in local mode, if a service is not external, and uses
an `image` field, that value should be used for tags and target state, otherwise
it won't match the image name generated on the device by balenaEngine.
Change-type: patch
Signed-off-by: Lucian Buzzo <lucian.buzzo@gmail.com>
2021-11-26 10:11:07 +00:00
Scott Lowe
b183d88400
Fix mistake in config generate
examples
...
Change-type: patch
Signed-off-by: Scott Lowe <scott@balena.io>
2021-11-25 16:05:37 +00:00
Scott Lowe
2b6a2142eb
Improve UX for offline usage
...
Change-type: minor
Resolves : #2372
Signed-off-by: Scott Lowe <scott@balena.io>
2021-11-25 15:14:39 +00:00
Thodoris Greasidis
58b29bf4bb
Stop creating an extra provisioning API key in each config generation
...
Change-type: patch
Changelog-entry: Avoid creating an extra provisioning API key in os configure & config generate
See: https://github.com/balena-io/balena-cli/pull/2294#discussion_r756499196
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2021-11-25 16:40:53 +02:00
Paulo Castro
b546e4dd97
config read/write/inject: Avoid need for internet access
...
Change-type: minor
2021-11-25 02:05:40 +00:00
Paulo Castro
e4870916e2
config read: Add '--json' option for JSON output
...
Change-type: minor
2021-11-24 23:03:37 +00:00
Paulo Castro
952d782e90
Delete 'doc/automated-init.md' and improve 'balena help device init'
...
Change-type: patch
2021-11-24 18:24:14 +00:00
Paulo Castro
f46452f6de
os download: Display OS version actually downloaded (range or 'recommended')
...
Change-type: patch
2021-11-20 00:43:15 +00:00
Paulo Castro
c166ec7597
os versions, os download: Add support for balenaOS ESR versions
...
Change-type: minor
2021-11-20 00:43:15 +00:00
Paulo Castro
23b07f8a41
deploy: Ensure the release fails if an image's digest (hash) is missing
...
Change-type: patch
2021-11-16 11:55:07 +00:00
dfunckt
8e712ac910
Add support for YAML anchors and aliases in 'docker-compose.yml'
...
This allows project files to define services from generic fragments by leveraging YAML's anchors and aliases. See here for an example: 43f6537b2c/spec.md (fragments)
Removing the FAILSAFE_SCHEMA flag is not expected to break existing project files, since the default behaviour is more liberal, or cause problems down the road given we perform validation immediately after. Docs for the flag: https://github.com/nodeca/js-yaml#load-string---options-
Change-type: minor
2021-10-22 16:42:29 +03:00
Carlo Miguel F. Cruz
c493c33e38
Error message when renaming a fleet now mentions the target name.
...
Change-type: patch
Signed-off-by: Carlo Miguel F. Cruz <carloc@balena.io>
2021-10-05 17:01:07 +08:00
Paulo Castro
08dfc945f3
Update dependencies (@sentry/node error reporting)
...
Change-type: patch
2021-09-30 01:12:17 +01:00
Paulo Castro
8791c2f4e1
Replace mixpanel dependency with simple GET request
...
Change-type: patch
2021-09-30 01:12:17 +01:00
Paulo Castro
be306e6a20
Avoid NockMock warnings during standalone executable testing
...
Change-type: patch
2021-09-30 01:12:17 +01:00
Paulo Castro
6cfff72c59
Fix help output for 'release finalize' command
...
Change-type: patch
2021-09-30 01:12:17 +01:00
Paul Jonathan Zoulin
a18e182ae4
Add support for releases
...
Signed-off-by: Paul Jonathan <pj@balena.io>
Change-type: minor
2021-09-28 14:28:43 +00:00
Paulo Castro
8bb211e441
build, deploy: Improve logging of image build messages
...
Change-type: patch
2021-09-23 16:37:45 +00:00
toochevere
ffccbfba12
build, deploy: Add support for multiarch base images
...
Bump version of balena-multibuild to the one that supports multiarch
Remove previous hack to avoid sending platform information to multibuild
Change-type: minor
Signed-off-by: Paul Jonathan <pj@balena.io>
See: https://github.com/balena-io/balena-cli/issues/1508
2021-09-23 16:37:45 +00:00
Kyle Harding
7f6738c73c
os download: Avoid incomplete os downloads appearing as successful
...
By forcing the zlib flush mode to Z_NO_FLUSH we are more likely to
see an error on image download pipelines vs silent failure and
incomplete files.
This is part of a larger investigation and may be removed in the
future when the root cause of the pipeline failures are identified.
Change-type: patch
Signed-off-by: Kyle Harding <kyle@balena.io>
2021-09-20 13:28:14 -04:00
Paulo Castro
09a4e8db2d
config inject: Remove requirement of being logged in
...
Change-type: patch
2021-09-16 12:15:53 +01:00
Kyle Harding
b701151769
build/deploy: Update QEMU to 6.0.0 for emulated builds
...
Change-type: patch
Signed-off-by: Kyle Harding <kyle@balena.io>
2021-09-10 13:32:12 +00:00
Paulo Castro
305c9045f0
build, deploy: Fix processing of '--tag' option
...
Change-type: patch
Resolves : #825
Resolves : #1018
2021-09-10 23:11:20 +01:00
Paulo Castro
b30075a18b
push: Await and retry supervisor API requests to a local device
...
Change-type: patch
2021-09-10 01:44:26 +01:00
Paulo Castro
6244af3464
chore: Update net-keepalive dependency (fix CLI packaging errors)
...
Change-type: patch
2021-09-10 00:20:26 +01:00
Paulo Castro
d6faf060e6
v13 preparations: Add feature switch for removal of '--gitignore' (push, build)
...
Change-type: patch
2021-09-08 18:10:22 +01:00
Thodoris Greasidis
0327ed766d
device move: Improve types & reduce the number of API requests
...
Change-type: patch
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2021-09-07 11:43:35 +00:00
Thodoris Greasidis
9c821511b1
device move: Rely on the device type model to get the compatible apps
...
Connects-to: #2318
Change-type: patch
See: https://www.flowdock.com/app/rulemotion/i-cli/threads/s6x4Z_LoH8IG4PC_YeXMC0TP6v-
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2021-09-07 07:53:02 +00:00
Thodoris Greasidis
6bb8df30dd
preload: Rely on the device type model to get the compatible apps
...
Connects-to: #2318
Change-type: patch
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2021-09-07 14:53:17 +03:00
Thodoris Greasidis
d793335287
preload: Replace my_application query with the SDKs application.getAll()
...
Change-type: patch
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2021-09-07 02:09:39 +03:00
Thodoris Greasidis
d34073f695
os download: Use the hostApps instead of the device-types/v1 endpoint
...
Connects-to: #2318
Change-type: patch
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2021-08-30 22:32:11 +00:00
Thodoris Greasidis
24fe6666e4
balena deploy: Retrieve the cpu arch as part of the device type resource
...
Connects-to: #2318
Change-type: patch
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2021-08-30 22:30:16 +00:00
Paulo Castro
deb3e4c4ac
Improve error handling (remove most occurrences of process.exit())
...
Finally delete the deprecated exitWithExpectedError() function from
'lib/errors.ts'.
Change-type: patch
2021-08-27 00:53:21 +01:00
Paulo Castro
a8ff21af69
build, deploy: Extend CTRL-C coverage on Windows (PowerShell, cmd.exe)
...
Before this commit, `balena build` and `balena deploy` would almost
never respect CTRL-C on Windows (PowerShell, cmd.exe). Now CTRL-C
is respected over a large extent of runtime and, if CTRL-C is hit
while images are being uploaded (`balena deploy`), the release status
is correctly set to 'failed'.
Change-type: patch
2021-08-27 00:53:21 +01:00
Paulo Castro
d0cdc900a2
Add contract contents at release creation time
...
Change-type: patch
2021-08-26 16:11:23 +01:00
toochevere
9937b91606
Documentation update with debugging notes
...
Signed-off-by: Paul Jonathan <pj@balena.io>
2021-08-26 00:34:54 +00:00
toochevere
7d568a928b
Add balena.yml handling and --draft
to balena deploy
release creation
...
This change allows use of a contract and release semver when doing a push,
and is part of the larger feature to use the builder as part of a CI/CD pipeline.
Change-type: minor
Signed-off-by: Paul Jonathan <pj@balena.io>
2021-08-25 17:01:17 +00:00
Paulo Castro
c2d3eee7cc
Add deprecation policy checker and --unsupported global flag
...
Change-type: minor
2021-08-19 23:17:31 +01:00
Felipe Lalanne
254ef1c8cf
Add --draft
option to balena push
...
This change will allow to build releases as draft and have them being
set as final at a later stage. This change is part of a larger feature towards
using the builder as part of CI/CD pipelines.
Depends-on: https://github.com/balena-io/balena-builder/pull/868
Change-type: minor
2021-08-15 16:43:01 +00:00
Paulo Castro
c7bbbc4159
push, build: Improve error handling (identify which service failed)
...
Change-type: patch
2021-08-13 17:11:48 +01:00
Paulo Castro
58704b08d3
envs, env add: Fix "Application is ambiguous" when using device UUID
...
Change-type: patch
2021-08-11 02:00:35 +01:00
Paulo Castro
64a44e7a5f
Rename applications to fleets (stage 1). See: https://git.io/JRuZr
...
- Add fleet(s) commands and -f, --fleet flags as aliases to the app(s)
commands and -a, --app, --application flags.
- Conditionally rename column/row headers and JSON object properties
from 'application' to 'fleet', with some variations.
- Print warning messages regarding the renaming, provided that stderr
is attached to an interactive terminal.
Change-type: minor
Resolves : #2302
2021-08-09 12:12:03 +01:00
Paulo Castro
8338e2e933
os download: Improve error message for misspelled device type names
...
Change-type: patch
2021-07-23 15:10:00 +01:00
Paulo Castro
e624726e44
config write: Fix EBUSY error on macOS
...
Change-type: patch
2021-07-21 23:56:57 +01:00
Paulo Castro
f914fa2d8a
chore: Remove 'umount' dependency (as advised by "npm audit")
...
Address security advisory https://www.npmjs.com/advisories/1512
Change-type: patch
2021-07-21 23:56:57 +01:00
Paulo Castro
3a871a0003
chore: Update balena-lint
...
Change-type: patch
2021-07-20 18:02:16 +01:00
Pagan Gazzard
f79ccc0c95
Simplify runSpinner api
...
Change-type: patch
2021-07-20 15:46:54 +01:00
Paulo Castro
cfd790a193
Update 'devDependencies' in package.json
...
Change-type: patch
2021-07-09 21:34:09 +01:00
Paulo Castro
36f4c1312b
config write: Fix parsing of 'key' argument with numeric components
...
Change-type: patch
2021-07-09 17:29:21 +01:00
Kyle Harding
fec96b41ee
preload: Warn that zip files are only accepted for Intel Edison
...
Change-type: patch
Signed-off-by: Kyle Harding <kyle@balena.io>
2021-06-24 11:04:26 -04:00
Paulo Castro
a254e46118
devices supported: Use new DeviceType data model as source of truth
...
Change-type: patch
2021-05-16 22:48:22 +00:00
Paulo Castro
d15b54cf40
Fix fast-boot module caching with read-only installation folders
...
* Add missing fast-boot `stop()` call on CLI exit to avoid 1s timeout.
* Move `.fast-boot.json` to `~/.balena/cli-module-cache.json` to
address scenarios where the CLI is installed to a read-only folder:
- pkg's internal 'snapshot' filesystem (standalone zip package)
- Root-owned folder without write permission to regular users,
like `/usr[/local]/lib/balena-cli` (the case of caxa-based
installers or the GUI installer for macOS).
Change-type: patch
2021-05-27 00:23:36 +00:00
Robert Günzler
e04242db64
doc: Document the image nameing scheme used by deploy
...
When using deploy to create a release for a multi-container project one
needs to follow this to avoid triggering a build. Relevant for CI/CD scenarios
with their own build pipeline.
Change-type: patch
Signed-off-by: Robert Günzler <robertg@balena.io>
2021-05-24 16:24:26 +02:00
Roland Kajatin
501882fd26
os configure, local configure: Fix "Unsupported filesystem" error
...
When configuring a BalenaOS image with system connections using the CLI,
the function assumed that the boot partition was always 1. This is not
the case for every supported board. Therefore, a new function is added,
which automatically determines the boot partition number and allows
users to configure the image with system connection settings.
This change affects both the `balena local configure` and `balena os configure` commands.
Change-type: patch
2021-05-16 18:08:26 +02:00