@lazycatcloud/lzc-cli 1.1.3 → 1.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/cmds/app.js +133 -0
  2. package/cmds/config.js +55 -0
  3. package/cmds/create.js +55 -0
  4. package/cmds/dev.js +130 -0
  5. package/cmds/init.js +125 -0
  6. package/cmds/log.js +103 -0
  7. package/cmds/publish.js +116 -0
  8. package/lib/api.js +21 -7
  9. package/lib/app/index.js +92 -0
  10. package/lib/app/lpk_build.js +229 -0
  11. package/lib/app/lpk_create.js +201 -0
  12. package/lib/app/lpk_devshell.js +621 -0
  13. package/lib/app/lpk_installer.js +67 -0
  14. package/lib/archiver.js +0 -42
  15. package/lib/autologin.js +84 -0
  16. package/lib/box/check_qemu.js +50 -0
  17. package/lib/box/hportal.js +8 -1
  18. package/lib/box/index.js +35 -15
  19. package/lib/box/qemu_vm_mgr.js +142 -56
  20. package/lib/builder.js +14 -3
  21. package/lib/dev.js +12 -6
  22. package/lib/env.js +10 -6
  23. package/lib/generator.js +2 -2
  24. package/lib/git/git-commit.sh +3 -3
  25. package/lib/sdk.js +29 -5
  26. package/lib/utils.js +69 -46
  27. package/package.json +13 -6
  28. package/scripts/cli.js +92 -13
  29. package/template/_lazycat/debug/shell/Dockerfile +5 -3
  30. package/template/_lazycat/debug/shell/docker-compose.override.yml.in +2 -12
  31. package/template/_lazycat/debug/shell/entrypoint.sh +3 -1
  32. package/template/_lpk/Dockerfile.in +8 -0
  33. package/template/_lpk/devshell/Dockerfile +18 -0
  34. package/template/_lpk/devshell/build.sh +5 -0
  35. package/template/_lpk/devshell/entrypoint.sh +8 -0
  36. package/template/_lpk/devshell/sshd_config +117 -0
  37. package/template/_lpk/manifest.yml.in +17 -0
  38. package/template/_lpk/sync/Dockerfile +16 -0
  39. package/template/_lpk/sync/build.sh +5 -0
  40. package/template/_lpk/sync/entrypoint.sh +8 -0
  41. package/template/_lpk/sync/sshd_config +117 -0
  42. package/template/_lpk/sync.manifest.yml.in +3 -0
  43. package/template/golang/build.sh +6 -0
  44. package/template/golang/lzc-build.yml +52 -0
  45. package/template/ionic_vue3/lzc-build.yml +53 -0
  46. package/template/ionic_vue3/vite.config.ts +1 -1
  47. package/template/release/golang/build.sh +1 -1
  48. package/template/release/ionic_vue3/Dockerfile +1 -1
  49. package/template/release/ionic_vue3/build.sh +1 -3
  50. package/template/release/ionic_vue3/docker-compose.yml.in +0 -5
  51. package/template/release/vue/Dockerfile +1 -1
  52. package/template/release/vue/build.sh +2 -3
  53. package/template/release/vue/docker-compose.yml.in +0 -5
  54. package/template/vue/lzc-build.yml +53 -0
  55. package/template/vue/src/main.js +3 -14
  56. package/template/vue/vue.config.js +16 -0
  57. package/scripts/auto-completion.sh +0 -46
  58. package/template/_lazycat/debug/shell/nginx.conf.template +0 -64
  59. package/template/vue/src/lzc.js +0 -110
package/scripts/cli.js CHANGED
@@ -2,25 +2,82 @@
2
2
  import process from "process";
3
3
  import path from "path";
4
4
  import fs from "fs";
5
- import { contextDirname, importDefault } from "../lib/utils.js";
5
+ import logger from "loglevel";
6
6
  import yargs from "yargs";
7
7
  import { hideBin } from "yargs/helpers";
8
+ import chalk from "chalk";
8
9
 
10
+ import { contextDirname, importDefault } from "../lib/utils.js";
9
11
  import Env from "../lib/env.js";
10
12
  import { boxCommand } from "../lib/box/index.js";
13
+ import { lpkAppCommand, lpkProjectCommand } from "../lib/app/index.js";
11
14
  const pkgInfo = JSON.parse(
12
15
  fs.readFileSync(path.join(contextDirname(import.meta.url), "../package.json"))
13
16
  );
14
17
 
18
+ // logger level middleware
19
+ const logLevelOriginalFactory = logger.methodFactory;
20
+ logger.methodFactory = function (methodName, logLevel, loggerName) {
21
+ let rawMethod = logLevelOriginalFactory(methodName, logLevel, loggerName);
22
+ return function (...args) {
23
+ let color = (msg) => chalk.gray;
24
+ switch (methodName) {
25
+ case "trace":
26
+ color = chalk.dim.cyan;
27
+ break;
28
+ case "debug":
29
+ color = chalk.blue;
30
+ break;
31
+ case "info":
32
+ color = chalk.green;
33
+ break;
34
+ case "warn":
35
+ color = chalk.magenta;
36
+ break;
37
+ case "error":
38
+ color = chalk.bold.red;
39
+ break;
40
+ }
41
+ rawMethod(
42
+ `[${methodName}] ` +
43
+ args
44
+ .map((a) => {
45
+ let res = a;
46
+ if (typeof a == "object") {
47
+ res = JSON.stringify(a, undefined, 4);
48
+ }
49
+ return color(res);
50
+ })
51
+ .join(" ")
52
+ );
53
+ };
54
+ };
55
+ logger.setDefaultLevel("info");
56
+ function setLoggerLevel({ log }) {
57
+ logger.setLevel(log, false);
58
+ }
59
+
15
60
  const program = yargs(hideBin(process.argv))
16
61
  .scriptName("lzc-cli")
17
62
  .usage("<command> [options]")
18
63
  .version(`lzc-cli ${pkgInfo.version}`)
19
- .completion("completion", "生成bash/zsh补全脚本");
64
+ .option("log", {
65
+ type: "string",
66
+ default: "info",
67
+ describe: "log level 'trace', 'debug', 'info', 'warn', 'error'",
68
+ })
69
+ .option("help", {
70
+ alias: "h",
71
+ type: "boolean",
72
+ default: false,
73
+ })
74
+ .completion("completion", false);
20
75
 
76
+ // Set desc to false to create a hidden command. Hidden commands don’t show up
77
+ // in the help output and aren’t available for completion.
21
78
  program.command({
22
79
  command: "create <name>",
23
- desc: "创建懒猫云应用",
80
+ desc: false,
24
81
  aliases: ["c"],
25
82
  handler: async ({ name }) => {
26
83
  let create = await importDefault("../cmds/create.js");
@@ -30,7 +87,7 @@ program.command({
30
87
 
31
88
  program.command({
32
89
  command: "init",
33
- desc: "初始化懒猫云应用配置",
90
+ desc: false,
34
91
  handler: async () => {
35
92
  const { Init } = await import("../cmds/init.js");
36
93
  new Init({ cwd: process.cwd() }).create();
@@ -39,7 +96,7 @@ program.command({
39
96
 
40
97
  program.command({
41
98
  command: "uninstall",
42
- desc: "卸载应用",
99
+ desc: false,
43
100
  handler: async () => {
44
101
  const { uninstall } = await importDefault("../cmds/app.js");
45
102
  await uninstall();
@@ -48,7 +105,7 @@ program.command({
48
105
 
49
106
  program.command({
50
107
  command: "publish",
51
- desc: "发布应用",
108
+ desc: false,
52
109
  handler: async () => {
53
110
  // 第一步 打包镜像
54
111
  const Publisher = await importDefault("../cmds/publish.js");
@@ -64,7 +121,7 @@ program.command({
64
121
 
65
122
  program.command({
66
123
  command: "deploy",
67
- desc: "部署应用至设备",
124
+ desc: false,
68
125
  handler: async () => {
69
126
  const { deploy } = await importDefault("../cmds/app.js");
70
127
  await deploy();
@@ -73,7 +130,7 @@ program.command({
73
130
 
74
131
  program.command({
75
132
  command: "build [context]",
76
- desc: "构建",
133
+ desc: false,
77
134
  builder: (args) => {
78
135
  args.option("f", {
79
136
  alias: "file",
@@ -116,7 +173,7 @@ let devSubCommands = [
116
173
  ];
117
174
  program.command({
118
175
  command: "dev",
119
- desc: "dev [forward [addr] | shell]",
176
+ desc: false,
120
177
  builder: (args) => {
121
178
  args.command(devSubCommands);
122
179
  },
@@ -124,12 +181,12 @@ program.command({
124
181
 
125
182
  program.command({
126
183
  command: "log [project]",
127
- desc: "查看应用日志",
184
+ desc: false,
128
185
  builder: (args) => {
129
186
  args.option("u", {
130
187
  alias: "user",
131
188
  describe: "多实例对应的用户",
132
- demandOption: true,
189
+ demandOption: false,
133
190
  type: "string",
134
191
  });
135
192
  },
@@ -141,7 +198,7 @@ program.command({
141
198
 
142
199
  program.command({
143
200
  command: "config [key] [value]",
144
- desc: "应用配置项",
201
+ desc: false,
145
202
  builder: (args) => {
146
203
  args.implies("key", "value");
147
204
  args.option("g", {
@@ -158,5 +215,27 @@ program.command({
158
215
  });
159
216
 
160
217
  boxCommand(program);
218
+ lpkAppCommand(program);
219
+ lpkProjectCommand(program);
220
+
221
+ const parser = program
222
+ .strict()
223
+ .showHelpOnFail(false, "使用 lzc-cli help 查看更多帮助")
224
+ .middleware([setLoggerLevel])
225
+ .parse();
161
226
 
162
- program.parse();
227
+ // 当没有参数的时候,默认显示帮助。
228
+ (async () => {
229
+ const argv = await parser;
230
+ if (argv._.length == 1) {
231
+ switch (argv._[0]) {
232
+ case "box":
233
+ case "app":
234
+ case "project":
235
+ program.showHelp();
236
+ return;
237
+ }
238
+ } else if (argv._.length == 0) {
239
+ program.showHelp();
240
+ }
241
+ })();
@@ -1,8 +1,10 @@
1
- FROM node:16-alpine3.12
1
+ FROM registry.lazycat.cloud/lzc/lzcapp:0.1
2
2
 
3
3
  RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
4
4
 
5
- RUN apk add --no-cache openssh rsync \
5
+ COPY --from=golang:1.18-alpine /usr/local/go/ /usr/local/go/
6
+
7
+ RUN apk add --no-cache openssh rsync musl-dev curl openssl curl nodejs npm \
6
8
  && echo "root:root" | chpasswd
7
9
 
8
10
  EXPOSE 22
@@ -13,4 +15,4 @@ COPY entrypoint.sh /entrypoint.sh
13
15
 
14
16
  RUN chmod +x /entrypoint.sh
15
17
 
16
- ENTRYPOINT ["/entrypoint.sh"]
18
+ ENTRYPOINT ./entrypoint.sh
@@ -1,20 +1,10 @@
1
1
  services:
2
2
  ${APP_ID}:
3
- image: nginx:1.21.4-alpine
4
- volumes:
5
- - ./nginx.conf.template:/etc/nginx/templates/nginx.conf.template
6
- - ./50x.html:/etc/nginx/50x.html
7
- environment:
8
- - NGINX_ENVSUBST_OUTPUT_DIR=/etc/nginx
9
- - APP_DEBUG_PORT=${HTTP_SERVICE_PORT}
10
- - APP_DEBUG_SHELL=debug-shell.${APP_ID}.lzcapp
11
- command: [nginx, '-g', 'daemon off;']
12
- depends_on:
13
- - debug-shell
14
- debug-shell:
15
3
  image: ${APP_IMAGE_NAME}
16
4
  pull_policy: build
17
5
  build: .
6
+ environment:
7
+ - HTTP_SERVICE_PORT=${HTTP_SERVICE_PORT}
18
8
  volumes:
19
9
  - ./debug/ssh:/root/.ssh
20
10
  - project-data:/root/
@@ -7,4 +7,6 @@ ssh-keygen -A
7
7
  rsync --daemon
8
8
 
9
9
  # do not detach (-D), log to stderr (-e), passthrough other arguments
10
- exec /usr/sbin/sshd -D -e "$@"
10
+ /usr/sbin/sshd -e "$@"
11
+
12
+ exec /usr/bin/lzcinit -listen :$HTTP_SERVICE_PORT -up /="http://127.0.0.1:3000"
@@ -0,0 +1,8 @@
1
+ FROM alpine:3.16
2
+
3
+ RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
4
+
5
+ RUN apk add --no-cache bash ${dependencies} \
6
+ && echo "root:root" | chpasswd
7
+
8
+ CMD ["sleep", "infinity"]
@@ -0,0 +1,18 @@
1
+ FROM alpine
2
+
3
+ RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
4
+
5
+ COPY --from=golang:1.18-alpine /usr/local/go/ /usr/local/go/
6
+
7
+ RUN apk add --no-cache openssh musl-dev curl openssl curl nodejs npm sshfs rsync \
8
+ && echo "root:root" | chpasswd
9
+
10
+ EXPOSE 22
11
+
12
+ COPY sshd_config /etc/ssh/sshd_config
13
+
14
+ COPY entrypoint.sh /entrypoint.sh
15
+
16
+ RUN chmod +x /entrypoint.sh
17
+
18
+ CMD ["./entrypoint.sh"]
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/sh
2
+
3
+ VERSION=0.0.4
4
+ docker build -f Dockerfile . -t registry.lazycat.cloud/lzc-cli/devshell:$VERSION
5
+ docker push registry.lazycat.cloud/lzc-cli/devshell:$VERSION
@@ -0,0 +1,8 @@
1
+ #!/bin/sh
2
+ set -ex
3
+
4
+ # generate host keys if not present
5
+ ssh-keygen -A
6
+
7
+ # do not detach (-D), log to stderr (-e), passthrough other arguments
8
+ exec /usr/sbin/sshd -D -e "$@"
@@ -0,0 +1,117 @@
1
+ # $OpenBSD: sshd_config,v 1.104 2021/07/02 05:11:21 dtucker Exp $
2
+
3
+ # This is the sshd server system-wide configuration file. See
4
+ # sshd_config(5) for more information.
5
+
6
+ # This sshd was compiled with PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
7
+
8
+ # The strategy used for options in the default sshd_config shipped with
9
+ # OpenSSH is to specify options with their default value where
10
+ # possible, but leave them commented. Uncommented options override the
11
+ # default value.
12
+
13
+ # Port 22
14
+ #AddressFamily any
15
+ #ListenAddress 0.0.0.0
16
+ #ListenAddress ::
17
+
18
+ #HostKey /etc/ssh/ssh_host_rsa_key
19
+ #HostKey /etc/ssh/ssh_host_ecdsa_key
20
+ #HostKey /etc/ssh/ssh_host_ed25519_key
21
+
22
+ # Ciphers and keying
23
+ #RekeyLimit default none
24
+
25
+ # Logging
26
+ #SyslogFacility AUTH
27
+ #LogLevel INFO
28
+
29
+ # Authentication:
30
+
31
+ #LoginGraceTime 2m
32
+ PermitRootLogin yes
33
+ #StrictModes yes
34
+ #MaxAuthTries 6
35
+ #MaxSessions 10
36
+
37
+ PubkeyAuthentication yes
38
+
39
+ # The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
40
+ # but this is overridden so installations will only check .ssh/authorized_keys
41
+ AuthorizedKeysFile /lzcapp/pkg/content/devshell/authorized_keys
42
+
43
+ #AuthorizedPrincipalsFile none
44
+
45
+ #AuthorizedKeysCommand none
46
+ #AuthorizedKeysCommandUser nobody
47
+
48
+ # For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
49
+ #HostbasedAuthentication no
50
+ # Change to yes if you don't trust ~/.ssh/known_hosts for
51
+ # HostbasedAuthentication
52
+ #IgnoreUserKnownHosts no
53
+ # Don't read the user's ~/.rhosts and ~/.shosts files
54
+ #IgnoreRhosts yes
55
+
56
+ # To disable tunneled clear text passwords, change to no here!
57
+ PasswordAuthentication no
58
+ PermitEmptyPasswords no
59
+
60
+ # Change to no to disable s/key passwords
61
+ #KbdInteractiveAuthentication yes
62
+
63
+ # Kerberos options
64
+ #KerberosAuthentication no
65
+ #KerberosOrLocalPasswd yes
66
+ #KerberosTicketCleanup yes
67
+ #KerberosGetAFSToken no
68
+
69
+ # GSSAPI options
70
+ #GSSAPIAuthentication no
71
+ #GSSAPICleanupCredentials yes
72
+
73
+ # Set this to 'yes' to enable PAM authentication, account processing,
74
+ # and session processing. If this is enabled, PAM authentication will
75
+ # be allowed through the KbdInteractiveAuthentication and
76
+ # PasswordAuthentication. Depending on your PAM configuration,
77
+ # PAM authentication via KbdInteractiveAuthentication may bypass
78
+ # the setting of "PermitRootLogin without-password".
79
+ # If you just want the PAM account and session checks to run without
80
+ # PAM authentication, then enable this but set PasswordAuthentication
81
+ # and KbdInteractiveAuthentication to 'no'.
82
+ #UsePAM no
83
+
84
+ #AllowAgentForwarding yes
85
+ # Feel free to re-enable these if your use case requires them.
86
+ AllowTcpForwarding yes
87
+ GatewayPorts yes
88
+ X11Forwarding no
89
+ #X11DisplayOffset 10
90
+ #X11UseLocalhost yes
91
+ #PermitTTY yes
92
+ #PrintMotd yes
93
+ #PrintLastLog yes
94
+ #TCPKeepAlive yes
95
+ #PermitUserEnvironment no
96
+ #Compression delayed
97
+ ClientAliveInterval 3
98
+ ClientAliveCountMax 0
99
+ #UseDNS no
100
+ #PidFile /run/sshd.pid
101
+ #MaxStartups 10:30:100
102
+ #PermitTunnel no
103
+ #ChrootDirectory none
104
+ #VersionAddendum none
105
+
106
+ # no default banner path
107
+ #Banner none
108
+
109
+ # override default of no subsystems
110
+ Subsystem sftp /usr/lib/ssh/sftp-server
111
+
112
+ # Example of overriding settings on a per-user basis
113
+ #Match User anoncvs
114
+ # X11Forwarding no
115
+ # AllowTcpForwarding no
116
+ # PermitTTY no
117
+ # ForceCommand cvs server
@@ -0,0 +1,17 @@
1
+ lzc-sdk-version: 0.1
2
+
3
+ package: ${package} # app的唯一标识符
4
+ version: ${version} # app的版本
5
+ name: ${name} # app名称
6
+ description: ${description} # app描述
7
+ icon: ./icon.svg #必须是当前pkg内路径,会提供给启动器等地方使用
8
+
9
+ license: https://choosealicense.com/licenses/mit/
10
+ homepage: ${homepage} # 出现bug时候提交反馈的地方
11
+ author: ${author} # app author
12
+
13
+ #application作为一个特殊的container运行,对应的service名称为固定的`app`,其他service可以通过此名称与app进行通讯
14
+ application:
15
+ subdomain: ${subdomain} #期望的app域名
16
+ routes:
17
+ - /=file:///lzcapp/pkg/content/
@@ -0,0 +1,16 @@
1
+ FROM alpine
2
+
3
+ RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
4
+
5
+ RUN apk add --no-cache openssh openssl sshfs rsync \
6
+ && echo "root:root" | chpasswd
7
+
8
+ EXPOSE 22
9
+
10
+ COPY sshd_config /etc/ssh/sshd_config
11
+
12
+ COPY entrypoint.sh /entrypoint.sh
13
+
14
+ RUN chmod +x /entrypoint.sh
15
+
16
+ CMD ["./entrypoint.sh"]
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/sh
2
+
3
+ VERSION=0.0.1
4
+ docker build -f Dockerfile . -t registry.lazycat.cloud/lzc-cli/sync:$VERSION
5
+ docker push registry.lazycat.cloud/lzc-cli/sync:$VERSION
@@ -0,0 +1,8 @@
1
+ #!/bin/sh
2
+ set -ex
3
+
4
+ # generate host keys if not present
5
+ ssh-keygen -A
6
+
7
+ # do not detach (-D), log to stderr (-e), passthrough other arguments
8
+ exec /usr/sbin/sshd -D -e "$@"
@@ -0,0 +1,117 @@
1
+ # $OpenBSD: sshd_config,v 1.104 2021/07/02 05:11:21 dtucker Exp $
2
+
3
+ # This is the sshd server system-wide configuration file. See
4
+ # sshd_config(5) for more information.
5
+
6
+ # This sshd was compiled with PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
7
+
8
+ # The strategy used for options in the default sshd_config shipped with
9
+ # OpenSSH is to specify options with their default value where
10
+ # possible, but leave them commented. Uncommented options override the
11
+ # default value.
12
+
13
+ # Port 22
14
+ #AddressFamily any
15
+ #ListenAddress 0.0.0.0
16
+ #ListenAddress ::
17
+
18
+ #HostKey /etc/ssh/ssh_host_rsa_key
19
+ #HostKey /etc/ssh/ssh_host_ecdsa_key
20
+ #HostKey /etc/ssh/ssh_host_ed25519_key
21
+
22
+ # Ciphers and keying
23
+ #RekeyLimit default none
24
+
25
+ # Logging
26
+ #SyslogFacility AUTH
27
+ #LogLevel INFO
28
+
29
+ # Authentication:
30
+
31
+ #LoginGraceTime 2m
32
+ PermitRootLogin yes
33
+ #StrictModes yes
34
+ #MaxAuthTries 6
35
+ #MaxSessions 10
36
+
37
+ PubkeyAuthentication yes
38
+
39
+ # The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
40
+ # but this is overridden so installations will only check .ssh/authorized_keys
41
+ AuthorizedKeysFile /lzcapp/pkg/content/devshell/authorized_keys
42
+
43
+ #AuthorizedPrincipalsFile none
44
+
45
+ #AuthorizedKeysCommand none
46
+ #AuthorizedKeysCommandUser nobody
47
+
48
+ # For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
49
+ #HostbasedAuthentication no
50
+ # Change to yes if you don't trust ~/.ssh/known_hosts for
51
+ # HostbasedAuthentication
52
+ #IgnoreUserKnownHosts no
53
+ # Don't read the user's ~/.rhosts and ~/.shosts files
54
+ #IgnoreRhosts yes
55
+
56
+ # To disable tunneled clear text passwords, change to no here!
57
+ PasswordAuthentication no
58
+ PermitEmptyPasswords no
59
+
60
+ # Change to no to disable s/key passwords
61
+ #KbdInteractiveAuthentication yes
62
+
63
+ # Kerberos options
64
+ #KerberosAuthentication no
65
+ #KerberosOrLocalPasswd yes
66
+ #KerberosTicketCleanup yes
67
+ #KerberosGetAFSToken no
68
+
69
+ # GSSAPI options
70
+ #GSSAPIAuthentication no
71
+ #GSSAPICleanupCredentials yes
72
+
73
+ # Set this to 'yes' to enable PAM authentication, account processing,
74
+ # and session processing. If this is enabled, PAM authentication will
75
+ # be allowed through the KbdInteractiveAuthentication and
76
+ # PasswordAuthentication. Depending on your PAM configuration,
77
+ # PAM authentication via KbdInteractiveAuthentication may bypass
78
+ # the setting of "PermitRootLogin without-password".
79
+ # If you just want the PAM account and session checks to run without
80
+ # PAM authentication, then enable this but set PasswordAuthentication
81
+ # and KbdInteractiveAuthentication to 'no'.
82
+ #UsePAM no
83
+
84
+ #AllowAgentForwarding yes
85
+ # Feel free to re-enable these if your use case requires them.
86
+ AllowTcpForwarding yes
87
+ GatewayPorts yes
88
+ X11Forwarding no
89
+ #X11DisplayOffset 10
90
+ #X11UseLocalhost yes
91
+ #PermitTTY yes
92
+ #PrintMotd yes
93
+ #PrintLastLog yes
94
+ #TCPKeepAlive yes
95
+ #PermitUserEnvironment no
96
+ #Compression delayed
97
+ ClientAliveInterval 3
98
+ ClientAliveCountMax 0
99
+ #UseDNS no
100
+ #PidFile /run/sshd.pid
101
+ #MaxStartups 10:30:100
102
+ #PermitTunnel no
103
+ #ChrootDirectory none
104
+ #VersionAddendum none
105
+
106
+ # no default banner path
107
+ #Banner none
108
+
109
+ # override default of no subsystems
110
+ Subsystem sftp /usr/lib/ssh/sftp-server
111
+
112
+ # Example of overriding settings on a per-user basis
113
+ #Match User anoncvs
114
+ # X11Forwarding no
115
+ # AllowTcpForwarding no
116
+ # PermitTTY no
117
+ # ForceCommand cvs server
@@ -0,0 +1,3 @@
1
+ services:
2
+ sync:
3
+ image: registry.lazycat.cloud/lzc-cli/sync:0.0.1
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/sh
2
+
3
+ go mod tidy
4
+
5
+ mkdir -p build
6
+ CGO_ENABLED=0 go build -o build/rego
@@ -0,0 +1,52 @@
1
+ # 整个文件中,可以通过 ${var} 的方式,使用 manifest.yml 文件中定义的值
2
+
3
+ # buildscript
4
+ # - 可以为构建脚本的路径地址
5
+ # - 如果构建命令简单,也可以直接写 sh 的命令
6
+ buildscript: ./build.sh
7
+
8
+ # manifest: 指定 lpk 包的 manifest.yml 文件路径
9
+ manifest: ./manifest.yml
10
+
11
+ # contentdir: 指定打包的内容,将会打包到 lpk 中
12
+ contentdir: ./build
13
+
14
+ # pkgout: lpk 包的输出路径
15
+ pkgout: ./
16
+
17
+ # icon 指定 lpk 包 icon 的路径路径,如果不指定将会警告
18
+ # icon 仅仅允许 png 后缀的文件
19
+ icon: ./lazycat.png
20
+
21
+ # devshell 自定义应用的开发容器环境
22
+ # - routers 指定应用容器的访问路由
23
+
24
+ # devshell 没有指定 image 的情况,将会默认使用 registry.lazycat.cloud/lzc-cli/devshell:latest
25
+ # devshell:
26
+ # routers:
27
+ # - /=http://127.0.0.1:8080
28
+
29
+ # devshell 指定 image 的情况
30
+ # devshell:
31
+ # routes:
32
+ # - /=http://127.0.0.1:3000
33
+ # image: registry.lazycat.cloud/lzc-cli/devshell:0.0.4
34
+
35
+ # devshell 指定构建Dockerfile
36
+ # image 字段如果没有定义,将默认使用 ${package}-devshell:${version}
37
+ # devshell:
38
+ # routes:
39
+ # - /=http://127.0.0.1:3000
40
+ # image: ${package}-devshell:${version}
41
+ # pull_policy: build
42
+ # build: .
43
+
44
+ # dvshell 指定开发依赖的情况
45
+ # 这种情况下,选用 apline:3.16 作为基础镜像,在 dependencies 中添加所需要的开发依赖即可
46
+ # 如果 dependencies 和 build 同时存在,将会优先使用 dependencies
47
+ devshell:
48
+ routes:
49
+ - /=http://127.0.0.1:3000
50
+ dependencies:
51
+ - go
52
+ - vim
@@ -0,0 +1,53 @@
1
+ # 整个文件中,可以通过 ${var} 的方式,使用 manifest.yml 文件中定义的值
2
+
3
+ # buildscript
4
+ # - 可以为构建脚本的路径地址
5
+ # - 如果构建命令简单,也可以直接写 sh 的命令
6
+ buildscript: npm run build
7
+
8
+ # manifest: 指定 lpk 包的 manifest.yml 文件路径
9
+ manifest: ./manifest.yml
10
+
11
+ # contentdir: 指定打包的内容,将会打包到 lpk 中
12
+ contentdir: ./dist
13
+
14
+ # pkgout: lpk 包的输出路径
15
+ pkgout: ./
16
+
17
+ # icon 指定 lpk 包 icon 的路径路径,如果不指定将会警告
18
+ # icon 仅仅允许 png 后缀的文件
19
+ icon: ./lazycat.png
20
+
21
+ # devshell 自定义应用的开发容器环境
22
+ # - routers 指定应用容器的访问路由
23
+
24
+ # devshell 没有指定 image 的情况,将会默认使用 registry.lazycat.cloud/lzc-cli/devshell:latest
25
+ # devshell:
26
+ # routers:
27
+ # - /=http://127.0.0.1:8080
28
+
29
+ # devshell 指定 image 的情况
30
+ # devshell:
31
+ # routes:
32
+ # - /=http://127.0.0.1:3000
33
+ # image: registry.lazycat.cloud/lzc-cli/devshell:0.0.4
34
+
35
+ # devshell 指定构建Dockerfile
36
+ # image 字段如果没有定义,将默认使用 ${package}-devshell:${version}
37
+ # devshell:
38
+ # routes:
39
+ # - /=http://127.0.0.1:3000
40
+ # image: ${package}-devshell:${version}
41
+ # pull_policy: build
42
+ # build: .
43
+
44
+ # dvshell 指定开发依赖的情况
45
+ # 这种情况下,选用 apline:3.16 作为基础镜像,在 dependencies 中添加所需要的开发依赖即可
46
+ # 如果 dependencies 和 build 同时存在,将会优先使用 dependencies
47
+ devshell:
48
+ routes:
49
+ - /=http://127.0.0.1:3000
50
+ dependencies:
51
+ - nodejs
52
+ - vim
53
+ - npm