Commit Graph

1151 Commits

Author SHA1 Message Date
Paulo Castro
cdedc58ec1 Fix failing registry secrets authentication under certain conditions
('balena build' and 'balena deploy')

Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-08-19 16:41:59 +01:00
Matthew McGinn
731db63e78 balena-ssh: add info about remote vs local connections
small formatting fixups

Closes: https://github.com/balena-io/docs/issues/974
Change-type: patch
Signed-off-by: Matthew McGinn <matthew@balena.io>
2019-08-19 16:14:26 +02:00
Lucian
730c09989d Fix incorrect arguments passed to oclif bootstrap function
Adds tests for existing oclif commands to avoid regressions

Change-type: patch
Signed-off-by: Lucian <lucian.buzzo@gmail.com>
2019-08-15 18:26:42 +01:00
Lucian
4d389bb6cc Implement full command testing, beginning with "balena version"
This also modifies the core CLI to be fed command programatically, which
is useful for being able to do thing like mock endpoints with tools like
"nock", and provide an easier debugging experience.
The tests utilise a "runCommand" helper that intercepts and captures
stdout/stderr writes and returns them once the command has finished
running. At this point the test implementation can parse the
stdout/stderr logs and assess nock interceptions to determine if the
command ran correctly.
This change also homogenises debug messages to start with `[debug]`,
however this is not strictly enforced by linting rules.

Change-type: minor
Signed-off-by: Lucian <lucian.buzzo@gmail.com>
2019-08-12 14:50:41 +01:00
Lucian
f1d9c29786 Fix bug where "env rm" fails silently if an additional arg is present
Fixes #1380

Argument parsing of "env rm" command was improved by migrating it to oclif

Change-type: patch
Signed-off-by: Lucian <lucian.buzzo@gmail.com>
2019-08-12 13:47:31 +01:00
Lucian
34f4c1f6cc Exit with a warning if "env rm" id value is not an integer
Change-type: patch
Signed-off-by: Lucian <lucian.buzzo@gmail.com>
2019-08-09 15:12:30 +01:00
Lucian
05d58d8248 Fix CI instability when building Typescript
The error appears to happen when symlinking typing files and manifests
on case sensitive file systems (like windows) with the error:
```
lib/actions-oclif/env/add.ts(73,16): error TS2742: The inferred type of 'flags' cannot be named without a reference to '../../../../../../../../../volumes/live/c64feead-f78e-4bd4-742d-ccd29aef53c4/volume/node_modules/@oclif/parser/lib/flags'. This is likely not portable. A type annotation is necessary.
lib/actions-oclif/version.ts(42,16): error TS2742: The inferred type of 'flags' cannot be named without a reference to '../../../../../../../../volumes/live/c64feead-f78e-4bd4-742d-ccd29aef53c4/volume/node_modules/@oclif/parser/lib/flags.js'. This is likely not portable. A type annotation is necessary.
```

This appears to be reported on the Typescript repo here https://github.com/microsoft/TypeScript/issues/29221
The suggested workaround is to explicitly set the type of the `flags` static
property.

Change-type: patch
Signed-off-by: Lucian <lucian.buzzo@gmail.com>
2019-08-09 12:01:46 +01:00
Cameron Diver
67a4e88e44 Support headless remote builds
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-08-06 08:45:05 +01:00
Paulo Castro
3ea905dc68 Update mixpanel tracking
Change-type: patch
2019-07-22 13:42:44 +01:00
Matthew McGinn
d92e076829
chore: fix up small typos, remove gitter link
Change-type: patch
Signed-off-by: Matthew McGinn <matthew@balena.io>
2019-07-17 20:12:52 +01:00
Paulo Castro
225408c57d Add "build secrets" and "build variables" support for push/build/deploy
to/on/via balena devices

Change-type: minor
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-07-15 16:23:35 +01:00
Paulo Castro
8cfacc9cbc Fix truncated logs in local multicontainer image builds (balena build/deploy)
Resolves: #1346
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-07-15 16:19:41 +01:00
Paulo Castro
49a7eb30c0 Remove BETA suffix from Windows and macOS installers, and update INSTALL.md
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-07-15 14:08:27 +01:00
Michel Wohlert
9eae9dcee3 Add os.sshKeys to generateBaseConfig
Change-type: minor
2019-07-09 14:01:58 +02:00
Paulo Castro
9d5ecb5f9c Add options to 'balena version' to show Node.js version
Change-type: minor
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-06-27 16:22:26 +01:00
Thodoris Greasidis
f095ac169a patterns: Add debug logs in the getOnlineTargetUuid resolution
Change-type: patch
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2019-06-26 13:44:56 +03:00
Thodoris Greasidis
f0030a1891 tunnel: Fix incorrect parsing of numeric short UUIDs
Change-type: patch
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2019-06-26 13:44:56 +03:00
Thodoris Greasidis
1d3af3245a ssh: Fix incorrect parsing of numeric short UUIDs
Resolves: #1302
Change-type: patch
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2019-06-26 13:44:56 +03:00
Cameron Diver
36026d8556 Fix using an image more than once in a balena push
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-06-20 16:46:29 +01:00
Cameron Diver
3b09c5ac91 Remove the livepush initialisation double printed log
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-06-20 15:20:19 +01:00
Cameron Diver
c3e5147a19 Fix output of seperation newline during livepush
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-06-18 11:45:12 +01:00
Cameron Diver
cf9fdbe6e4 If a secrets file is not specified, read it from the data directory
Change-type: minor
Closes: #1164
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-06-18 11:13:09 +01:00
Cameron Diver
ea43130135 livepush: Ignore the .git directory when performing a livepush
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-06-12 12:41:46 +01:00
Thodoris Greasidis
825213c02a Add device OS update action
Resolves: #788
Depends-on: https://github.com/balena-io/balena-sdk/pull/638
Change-type: minor
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2019-06-11 15:27:23 +03:00
Cameron Diver
8b5ebe0645 Pin prettier and add formatting changes
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-06-10 11:07:51 +01:00
Cameron Diver
24e49bf131 Cancel ongoing livepushes when a new change occurs
Also fix livepush logging when a new container is created (previously
the logs of the commands would stop working after this has happened)

Change-type: minor
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-06-07 15:59:27 +01:00
Paulo Castro
d8c942c77e Fix "catch-uncommitted" build failure (npm run prettify)
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-06-07 01:30:32 +01:00
Rich Bayliss
5d137f3c20
fix: Add single code path to get full, online-only device UUIDs
Both the tunnel and SSH commands require a full UUID for an online
device. A single code path was added to provide this, taking either
an application name or a partial UUID as a search parameter.

In the event of an application name being provided, a device select
form is presented to the user to pick from the online devices at that
time.

Change-type: patch
Signed-off-by: Rich Bayliss <rich@balena.io>
2019-06-06 17:05:08 +01:00
Thodoris Greasidis
051268168a Add initial typings for resin-cli-form
Change-type: patch
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2019-06-06 16:21:35 +03:00
Paulo Castro
3387f8f656 Fix 'npm help' SyntaxError on Node 8 (invalid 's' regex flag)
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-06-05 16:12:16 +01:00
Paulo Castro
0bbe376e41 Remove 'signup' command
Change-type: major
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-06-04 17:06:46 +01:00
Paulo Castro
751749325f Add warning notices for replaced 'local' commands in v11
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-06-04 13:52:37 +01:00
Paulo Castro
1e2e48b149 Revert 'balena flash' to 'balena local flash'
Change-type: major
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-06-04 13:52:37 +01:00
Cameron Diver
01b454351b Fix SSH'ing into a device from application
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-06-04 13:52:36 +01:00
Cameron Diver
6696b1b5f7 Make livepush the default when pushing to a local device
Change-type: major
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-06-04 13:52:36 +01:00
Cameron Diver
5da307f02e Make the CommandDefinition option parameter a Partial
This ensures that no code accidentally relies on them being present, and
the types are then correct.

Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-06-04 13:52:35 +01:00
Cameron Diver
b391c96e64 Allow multiple services to be tailed with balena logs and push
Also correctly type the input.

Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-06-04 13:52:35 +01:00
Cameron Diver
0ee73f5164 Don't require a login for commands operating on local devices
Change-type: patch
Closes: #1195
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-06-04 13:52:35 +01:00
Cameron Diver
1a1861bfcb Remove or move most local namespaced commands
Change-type: major
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-06-04 13:52:34 +01:00
Paulo Castro
c204dbd6cd Bump denymount version and delete redundant patch (chore task)
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-06-04 13:51:59 +01:00
Paulo Castro
6e7f51758e Add CONTRIBUTING.md and some guidance on commit messages and doc files.
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-06-04 13:51:59 +01:00
Cameron Diver
94c9e13106 Fix windows straight-to-container SSH
Closes: #1211
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-06-04 13:51:58 +01:00
Cameron Diver
64c2f00d2a Update balena ssh command to support local devices and multicontainer
Change-type: major
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-06-04 13:51:57 +01:00
Paulo Castro
8f8d6b5f08 Sort 'balena help' primary commands in manually specified order
Connects-to: #1140
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-06-04 13:51:57 +01:00
Alexis Svinartchouk
c49a1d3fbf Remove --dockerPort's -p alias for balena preload
It was conflicting with --pin-device-to-release -p alias

Changelog-entry: Remove --dockerPort's -p alias for `balena preload`
Change-type: major
2019-06-04 13:51:56 +01:00
Paulo Castro
abf573fa47 Begin the transition to oclif with 'balena env add' (fix dropped leading
zero in device UUID).

This commit is fairly chunky because it adds the oclif dependency for
the first time, and refactors the CLI help and docs generation code to
accommodate both Capitano and oclif.

Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-06-04 13:51:56 +01:00
Paulo Castro
13e3e5e8ea Bump min Node.js version to 8.0, ts-node to 8.1 and typescript to 3.4.
Refactor typings folder for use with the tsconfig typeRoots option.

Change-type: major
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-06-04 13:51:55 +01:00
Paulo Castro
e145540132 Allow newline characters in build/deploy --buildArg values
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-05-30 15:03:56 +01:00
Alexis Svinartchouk
f3ef7f6e18 Add preload --add-certificate option
Change-type: minor
2019-05-28 16:35:29 +02:00
Matthew McGinn
5202e137d5 compose: remove artificial 20 repo limit
This issue has now been fixed server-side

Connects-to: #1070
Change-type: minor
Signed-off-by: Matthew McGinn <matthew@balena.io>
2019-05-27 22:12:58 +08:00