mirror of
https://github.com/balena-io/balena-cli.git
synced 2024-12-28 09:38:51 +00:00
eaf61d801c
Connects-to: #1870 Change-type: minor
121 lines
5.2 KiB
TypeScript
121 lines
5.2 KiB
TypeScript
/**
|
|
* @license
|
|
* Copyright 2017-2020 Balena Ltd.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
const DEBUG_MODE = !!process.env.DEBUG;
|
|
|
|
export const reachingOut = `\
|
|
If you need help, or just want to say hi, don't hesitate in reaching out
|
|
through our discussion and support forums at https://forums.balena.io
|
|
|
|
For bug reports or feature requests, have a look at the GitHub issues or
|
|
create a new one at: https://github.com/balena-io/balena-cli/issues/\
|
|
`;
|
|
|
|
const debugHint = `\
|
|
Additional information may be available with the \`--debug\` flag.
|
|
`;
|
|
|
|
export const help = `\
|
|
For help, visit our support forums: https://forums.balena.io
|
|
For bug reports or feature requests, see: https://github.com/balena-io/balena-cli/issues/
|
|
`;
|
|
|
|
export const getHelp = (DEBUG_MODE ? '' : debugHint) + help;
|
|
|
|
export const balenaAsciiArt = `\
|
|
_ _
|
|
| |__ __ _ | | ____ _ __ __ _
|
|
| '_ \\ / _\` || | / __ \\| '_ \\ / _\` |
|
|
| |_) | (_) || || ___/| | | || (_) |
|
|
|_.__/ \\__,_||_| \\____/|_| |_| \\__,_|
|
|
`;
|
|
|
|
export const registrySecretsHelp = `\
|
|
REGISTRY SECRETS
|
|
The --registry-secrets option specifies a JSON or YAML file containing private
|
|
Docker registry usernames and passwords to be used when pulling base images.
|
|
Sample registry-secrets YAML file:
|
|
\`\`\`
|
|
'my-registry-server.com:25000':
|
|
username: ann
|
|
password: hunter2
|
|
'': # Use the empty string to refer to the Docker Hub
|
|
username: mike
|
|
password: cze14
|
|
'eu.gcr.io': # Google Container Registry
|
|
username: '_json_key'
|
|
password: '{escaped contents of the GCR keyfile.json file}'
|
|
\`\`\`
|
|
For a sample project using registry secrets with the Google Container Registry,
|
|
check: https://github.com/balena-io-playground/sample-gcr-registry-secrets
|
|
|
|
If the --registry-secrets option is not specified, and a secrets.yml or
|
|
secrets.json file exists in the balena directory (usually $HOME/.balena),
|
|
this file will be used instead.`;
|
|
|
|
export const dockerignoreHelp = `\
|
|
DOCKERIGNORE AND GITIGNORE FILES
|
|
By default, the balena CLI will use a single ".dockerignore" file (if any) at
|
|
the project root (--source directory) in order to decide which source files to
|
|
exclude from the "build context" (tar stream) sent to balenaCloud, Docker daemon
|
|
or balenaEngine. In a microservices (multicontainer) application, the source
|
|
directory is the directory that contains the "docker-compose.yml" file.
|
|
|
|
The --multi-dockerignore (-m) option may be used with microservices (multicontainer)
|
|
applications that define a docker-compose.yml file. When this option is used,
|
|
each service subdirectory (defined by the \`build\` or \`build.context\` service
|
|
properties in the docker-compose.yml file) is filtered separately according to
|
|
a .dockerignore file defined in the service subdirectory. If no .dockerignore
|
|
file exists in a service subdirectory, then only the default .dockerignore
|
|
patterns (see below) apply for that service subdirectory.
|
|
|
|
When the --multi-dockerignore (-m) option is used, the .dockerignore file (if
|
|
any) defined at the overall project root will be used to filter files and
|
|
subdirectories other than service subdirectories. It will not have any effect
|
|
on service subdirectories, whether or not a service subdirectory defines its
|
|
own .dockerignore file. Multiple .dockerignore files are not merged or added
|
|
together, and cannot override or extend other files. This behavior maximises
|
|
compatibility with the standard docker-compose tool, while still allowing a
|
|
root .dockerignore file (at the overall project root) to filter files and
|
|
folders that are outside service subdirectories.
|
|
|
|
Balena CLI releases older than v12.0.0 also took .gitignore files into account.
|
|
This behavior is deprecated, but may still be enabled with the --gitignore (-g)
|
|
option if compatibility is required. This option is mutually exclusive with
|
|
--multi-dockerignore (-m) and will be removed in the CLI's next major version
|
|
release (v13).
|
|
|
|
Default .dockerignore patterns
|
|
When --gitignore (-g) is NOT used (i.e. when not in v11 compatibility mode), a
|
|
few default/hardcoded dockerignore patterns are "merged" (in memory) with the
|
|
patterns found in the applicable .dockerignore files, in the following order:
|
|
\`\`\`
|
|
**/.git
|
|
< user's patterns from the applicable '.dockerignore' file, if any >
|
|
!**/.balena
|
|
!**/.resin
|
|
!**/Dockerfile
|
|
!**/Dockerfile.*
|
|
!**/docker-compose.yml
|
|
\`\`\`
|
|
These patterns always apply, whether or not .dockerignore files exist in the
|
|
project. If necessary, the effect of the \`**/.git\` pattern may be modified by
|
|
adding counter patterns to the applicable .dockerignore file(s), for example
|
|
\`!mysubmodule/.git\`. For documentation on pattern format, see:
|
|
- https://docs.docker.com/engine/reference/builder/#dockerignore-file
|
|
- https://www.npmjs.com/package/@balena/dockerignore`;
|