summaryrefslogtreecommitdiff
path: root/docs/en/guide/commands/index.html
blob: fbb77d879cb2c66efc493bf35363954d3debb301 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
<!DOCTYPE html>
<html lang='en'>
<head>
<title>
Command Line Reference - LEAP Platform Documentation
</title>
<meta content='width=device-width, initial-scale=1.0' name='viewport'>
<meta charset='UTF-8'>
<base href="" />
<style>
  body {
    background: #444;
    display: flex;
    flex-direction: row;
    padding: 10px;
    margin: 0px;
  }
  #sidebar {
    flex: 0 0 250px;
    background: white;
    margin-right: 10px;
    padding: 20px;
  }
  #sidebar ul {
    list-style-type: none;
    padding-left: 0px;
    margin: 0;
  }
  #sidebar li { padding: 4px }
  #sidebar li a { text-decoration: none }
  #sidebar li.active { background: #444 }
  #sidebar li.active a { color: white }
  #sidebar li.level1 { padding-left: 20px }
  #sidebar li.level2 { padding-left: 40px }
  #main {
    flex: 1 1 auto;
    background: white;
    padding: 20px;
  }
  #title-box {
    padding-bottom: 20px;
    border-bottom: 5px solid #eee;
  }
  #title-box h1 {
    margin-top: 0px;
  }
  pre {
    padding: 10px;
    background: #eef;
  }
  code {
    background: #eef;
  }
  table {border-collapse: collapse}
  table td {
    border: 1px solid #ccc;
    padding: 4px;
    vertical-align: top;
  }
</style>
</head>
<body>
<div id='sidebar'>
<ul>
<li class=''>
<a href='../../../index.html'>Home</a>
</li>
<li class='semi-active level0'>
<a class='' href='../../guide.html'>Guide</a>
</li>
<li class=' level1'>
<a class='' href='../getting-started.html'>Getting Started</a>
</li>
<li class=' level1'>
<a class='' href='../config.html'>Configuration Files</a>
</li>
<li class=' level1'>
<a class='' href='../nodes.html'>Nodes</a>
</li>
<li class=' level1'>
<a class='' href='../keys-and-certificates.html'>Keys and Certificates</a>
</li>
<li class=' level1'>
<a class='' href='../domains.html'>Domains</a>
</li>
<li class=' level1'>
<a class='' href='../provider-configuration.html'>Provider Configuration</a>
</li>
<li class=' level1'>
<a class='' href='../environments.html'>Environments</a>
</li>
<li class=' level1'>
<a class='' href='../virtual-machines.html'>Virtual Machines</a>
</li>
<li class=' level1'>
<a class='' href='../miscellaneous.html'>Miscellaneous</a>
</li>
<li class='active level1'>
<a class='' href='../commands.html'>Command Line Reference</a>
</li>
<li class=' level0'>
<a class='' href='../../tutorials.html'>Tutorials</a>
</li>
<li class=' level0'>
<a class='' href='../../services.html'>Services</a>
</li>
<li class=' level0'>
<a class='' href='../../upgrading.html'>Upgrading</a>
</li>
<li class=' level0'>
<a class='' href='../../troubleshooting.html'>Troubleshooting</a>
</li>
<li class=' level0'>
<a class='' href='../../details.html'>Details</a>
</li>
</ul>
</div>
<div id='main'>
<div id='title-box'>
<h1>Command Line Reference</h1>

<div id='summary'>A copy of leap --help</div>
</div>
<div id='content-box'>
<div id="TOC"><ol>
  <li>
    <a href="index.html#global-options">Global Options</a>
  </li>
  <li>
    <a href="index.html#leap-add-user">leap add-user</a>
  </li>
  <li>
    <a href="index.html#leap-cert">leap cert</a>
    <ol>
      <li>
        <a href="index.html#leap-cert-ca">leap cert ca</a>
      </li>
      <li>
        <a href="index.html#leap-cert-csr-domain">leap cert csr  DOMAIN</a>
      </li>
      <li>
        <a href="index.html#leap-cert-dh">leap cert dh</a>
      </li>
      <li>
        <a href="index.html#leap-cert-register">leap cert register</a>
      </li>
      <li>
        <a href="index.html#leap-cert-renew-domain">leap cert renew  DOMAIN</a>
      </li>
      <li>
        <a href="index.html#leap-cert-update-filter">leap cert update  FILTER</a>
      </li>
    </ol>
  </li>
  <li>
    <a href="index.html#leap-clean">leap clean</a>
  </li>
  <li>
    <a href="index.html#leap-compile">leap compile</a>
    <ol>
      <li>
        <a href="index.html#leap-compile-all-environment">leap compile all  [ENVIRONMENT]</a>
      </li>
      <li>
        <a href="index.html#leap-compile-firewall">leap compile firewall</a>
      </li>
      <li>
        <a href="index.html#leap-compile-hosts">leap compile hosts</a>
      </li>
      <li>
        <a href="index.html#leap-compile-providerjson">leap compile provider.json</a>
      </li>
      <li>
        <a href="index.html#leap-compile-zone">leap compile zone</a>
      </li>
    </ol>
  </li>
  <li>
    <a href="index.html#leap-db">leap db</a>
    <ol>
      <li>
        <a href="index.html#leap-db-destroy-filter">leap db destroy  [FILTER]</a>
      </li>
    </ol>
  </li>
  <li>
    <a href="index.html#leap-deploy-filter">leap deploy  FILTER</a>
  </li>
  <li>
    <a href="index.html#leap-env">leap env</a>
    <ol>
      <li>
        <a href="index.html#leap-env-ls-environment">leap env ls  [ENVIRONMENT]</a>
      </li>
      <li>
        <a href="index.html#leap-env-pin-environment">leap env pin  ENVIRONMENT</a>
      </li>
      <li>
        <a href="index.html#leap-env-unpin">leap env unpin</a>
      </li>
    </ol>
  </li>
  <li>
    <a href="index.html#leap-facts">leap facts</a>
    <ol>
      <li>
        <a href="index.html#leap-facts-update-filter">leap facts update  FILTER</a>
      </li>
    </ol>
  </li>
  <li>
    <a href="index.html#leap-help-command">leap help  command</a>
  </li>
  <li>
    <a href="index.html#leap-history-filter">leap history  FILTER</a>
  </li>
  <li>
    <a href="index.html#leap-info-filter">leap info  FILTER</a>
  </li>
  <li>
    <a href="index.html#leap-inspect-file">leap inspect  FILE</a>
  </li>
  <li>
    <a href="index.html#leap-list-filter">leap list  [FILTER]</a>
  </li>
  <li>
    <a href="index.html#leap-local">leap local</a>
    <ol>
      <li>
        <a href="index.html#leap-local-ls-filter">leap local ls  [FILTER]</a>
      </li>
      <li>
        <a href="index.html#leap-local-reset-filter">leap local reset  [FILTER]</a>
      </li>
      <li>
        <a href="index.html#leap-local-rm-filter">leap local rm  [FILTER]</a>
      </li>
      <li>
        <a href="index.html#leap-local-save-filter">leap local save  [FILTER]</a>
      </li>
      <li>
        <a href="index.html#leap-local-start-filter">leap local start  [FILTER]</a>
      </li>
      <li>
        <a href="index.html#leap-local-stop-filter">leap local stop  [FILTER]</a>
      </li>
    </ol>
  </li>
  <li>
    <a href="index.html#leap-mosh-name">leap mosh  NAME</a>
  </li>
  <li>
    <a href="index.html#leap-new-directory">leap new  DIRECTORY</a>
  </li>
  <li>
    <a href="index.html#leap-node">leap node</a>
    <ol>
      <li>
        <a href="index.html#leap-node-add-name-seed">leap node add  NAME [SEED]</a>
      </li>
      <li>
        <a href="index.html#leap-node-init-filter">leap node init  FILTER</a>
      </li>
      <li>
        <a href="index.html#leap-node-mv-old_name-new_name">leap node mv  OLD_NAME NEW_NAME</a>
      </li>
      <li>
        <a href="index.html#leap-node-rm-name">leap node rm  NAME</a>
      </li>
    </ol>
  </li>
  <li>
    <a href="index.html#leap-open-name">leap open  NAME</a>
  </li>
  <li>
    <a href="index.html#leap-run-command-filter">leap run  COMMAND FILTER</a>
  </li>
  <li>
    <a href="index.html#leap-scp-file1-file2">leap scp  FILE1 FILE2</a>
  </li>
  <li>
    <a href="index.html#leap-ssh-name">leap ssh  NAME</a>
  </li>
  <li>
    <a href="index.html#leap-test">leap test</a>
    <ol>
      <li>
        <a href="index.html#leap-test-init">leap test init</a>
      </li>
      <li>
        <a href="index.html#leap-test-run-filter">leap test run  [FILTER]</a>
      </li>
    </ol>
  </li>
  <li>
    <a href="index.html#leap-tunnel-local_portnameremote_port">leap tunnel  [LOCAL_PORT:]NAME:REMOTE_PORT</a>
  </li>
  <li>
    <a href="index.html#leap-user">leap user</a>
    <ol>
      <li>
        <a href="index.html#leap-user-add-username">leap user add  USERNAME</a>
      </li>
      <li>
        <a href="index.html#leap-user-ls">leap user ls</a>
      </li>
      <li>
        <a href="index.html#leap-user-rm-username">leap user rm  USERNAME</a>
      </li>
    </ol>
  </li>
  <li>
    <a href="index.html#leap-vm">leap vm</a>
    <ol>
      <li>
        <a href="index.html#leap-vm-add-node_name-seed">leap vm add  NODE_NAME [SEED]</a>
      </li>
      <li>
        <a href="index.html#leap-vm-bind-node_name-instance_id">leap vm bind  NODE_NAME INSTANCE_ID</a>
      </li>
      <li>
        <a href="index.html#leap-vm-key-list">leap vm key-list</a>
      </li>
      <li>
        <a href="index.html#leap-vm-key-register">leap vm key-register</a>
      </li>
      <li>
        <a href="index.html#leap-vm-rm-filter">leap vm rm  [FILTER]</a>
      </li>
      <li>
        <a href="index.html#leap-vm-start-filter">leap vm start  [FILTER]</a>
      </li>
      <li>
        <a href="index.html#leap-vm-status-filter">leap vm status  [FILTER]</a>
      </li>
      <li>
        <a href="index.html#leap-vm-stop-filter">leap vm stop  [FILTER]</a>
      </li>
    </ol>
  </li>
</ol></div>

<p>The command &ldquo;leap&rdquo; can be used to manage a bevy of servers running the LEAP platform from the comfort of your own home.</p>

<h1><a name="global-options"></a>Global Options</h1>

<ul>
<li><p><code>--log FILE</code>
Override default log file.
Default Value: None</p></li>
<li><p><code>-v|--verbose LEVEL</code>
Verbosity level 0..5
Default Value: 1</p></li>
<li><p><code>--[no-]color</code>
Disable colors in output.</p></li>
<li><p><code>-d|--debug</code>
Print full stack trace for exceptions and load <code>debugger</code> gem if installed.</p></li>
<li><p><code>--force</code>
Like &ndash;yes, but also skip prompts that are potentially dangerous to skip.</p></li>
<li><p><code>--help</code>
Show this message</p></li>
<li><p><code>--version</code>
Display version number and exit.</p></li>
<li><p><code>--yes</code>
Skip prompts and assume &ldquo;yes&rdquo;.</p></li>
</ul>


<h1><a name="leap-add-user"></a>leap add-user</h1>

<p>Manage trusted sysadmins (DEPRECATED)</p>

<p>Use <code>leap user add</code> instead</p>

<p><strong>Options</strong></p>

<ul>
<li><p><code>--pgp-pub-key arg</code>
OpenPGP public key file for this new user
Default Value: None</p></li>
<li><p><code>--ssh-pub-key arg</code>
SSH public key file for this new user
Default Value: None</p></li>
<li><p><code>--self</code>
Add yourself as a trusted sysadmin by choosing among the public keys available for the current user.</p></li>
</ul>


<h1><a name="leap-cert"></a>leap cert</h1>

<p>Manage X.509 certificates</p>

<h2><a name="leap-cert-ca"></a>leap cert ca</h2>

<p>Creates two Certificate Authorities (one for validating servers and one for validating clients).</p>

<p>See see what values are used in the generation of the certificates (like name and key size), run <code>leap inspect provider</code> and look for the &ldquo;ca&rdquo; property. To see the details of the created certs, run <code>leap inspect &lt;file&gt;</code>.</p>

<h2><a name="leap-cert-csr-domain"></a>leap cert csr  DOMAIN</h2>

<p>Creates a CSR for use in buying a commercial X.509 certificate.</p>

<p>Unless specified, the CSR is created for the provider&rsquo;s primary domain. The properties used for this CSR come from <code>provider.ca.server_certificates</code>, but may be overridden here.</p>

<p><strong>Options</strong></p>

<ul>
<li><p><code>--bits BITS</code>
Override default certificate bit length
Default Value: None</p></li>
<li><p><code>--country|-C COUNTRY</code>
Set C in distinguished name.
Default Value: None</p></li>
<li><p><code>--digest DIGEST</code>
Override default signature digest
Default Value: None</p></li>
<li><p><code>--domain DOMAIN</code>
Specify what domain to create the CSR for.
Unless specified, the CSR is created for the provider&rsquo;s primary domain. The properties used for this CSR come from <code>provider.ca.server_certificates</code>, but may be overridden here.
Default Value: None</p></li>
<li><p><code>--email EMAIL</code>
Set emailAddress in distinguished name.
Default Value: None</p></li>
<li><p><code>--locality|-L LOCALITY</code>
Set L in distinguished name.
Default Value: None</p></li>
<li><p><code>--organization|-O ORGANIZATION</code>
Override default O in distinguished name.
Default Value: None</p></li>
<li><p><code>--state|--ST STATE</code>
Set ST in distinguished name.
Default Value: None</p></li>
<li><p><code>--unit|--OU UNIT</code>
Set OU in distinguished name.
Default Value: None</p></li>
</ul>


<h2><a name="leap-cert-dh"></a>leap cert dh</h2>

<p>Creates a Diffie-Hellman parameter file, needed for forward secret OpenVPN ciphers.</p>

<h2><a name="leap-cert-register"></a>leap cert register</h2>

<p>Register an authorization key with the CA letsencrypt.org</p>

<p>This only needs to be done once.</p>

<h2><a name="leap-cert-renew-domain"></a>leap cert renew  DOMAIN</h2>

<p>Renews a certificate using the CA letsencrypt.org</p>

<h2><a name="leap-cert-update-filter"></a>leap cert update  FILTER</h2>

<p>Creates or renews a X.509 certificate/key pair for a single node or all nodes, but only if needed.</p>

<p>This command will a generate new certificate for a node if some value in the node has changed that is included in the certificate (like hostname or IP address), or if the old certificate will be expiring soon. Sometimes, you might want to force the generation of a new certificate, such as in the cases where you have changed a CA parameter for server certificates, like bit size or digest hash. In this case, use &ndash;force. If <node-filter> is empty, this command will apply to all nodes.</p>

<p><strong>Options</strong></p>

<ul>
<li><code>--force</code>
Always generate new certificates</li>
</ul>


<h1><a name="leap-clean"></a>leap clean</h1>

<p>Removes all files generated with the &ldquo;compile&rdquo; command.</p>

<h1><a name="leap-compile"></a>leap compile</h1>

<p>Compile generated files.</p>

<h2><a name="leap-compile-all-environment"></a>leap compile all  [ENVIRONMENT]</h2>

<p>Compiles node configuration files into hiera files used for deployment.</p>

<h2><a name="leap-compile-firewall"></a>leap compile firewall</h2>

<p>Prints a list of firewall rules. These rules are already implemented on each node, but you might want the list of all rules in case you also have a restrictive network firewall.</p>

<h2><a name="leap-compile-hosts"></a>leap compile hosts</h2>

<p>Print entries suitable for an /etc/hosts file, useful for testing your provider.</p>

<h2><a name="leap-compile-providerjson"></a>leap compile provider.json</h2>

<p>Compile provider.json bootstrap files for your provider.</p>

<h2><a name="leap-compile-zone"></a>leap compile zone</h2>

<p>Prints a DNS zone file for your provider.</p>

<p>Default Command: all</p>

<h1><a name="leap-db"></a>leap db</h1>

<p>Database commands.</p>

<h2><a name="leap-db-destroy-filter"></a>leap db destroy  [FILTER]</h2>

<p>Destroy one or more databases. If present, limit to FILTER nodes. For example <code>leap db destroy --db sessions,tokens testing</code>.</p>

<p><strong>Options</strong></p>

<ul>
<li><p><code>--db DATABASES</code>
Comma separated list of databases to destroy (no space). Use &ldquo;&ndash;db all&rdquo; to destroy all databases.
Default Value: None</p></li>
<li><p><code>--user USERS</code>
Comma separated list of usernames. The storage databases for these user(s) will be destroyed.
Default Value: None</p></li>
</ul>


<h1><a name="leap-deploy-filter"></a>leap deploy  FILTER</h1>

<p>Apply recipes to a node or set of nodes.</p>

<p>The FILTER can be the name of a node, service, or tag.</p>

<p><strong>Options</strong></p>

<ul>
<li><p><code>--ip IPADDRESS</code>
Override the default SSH IP address.
Default Value: None</p></li>
<li><p><code>--port PORT</code>
Override the default SSH port.
Default Value: None</p></li>
<li><p><code>--tags TAG[,TAG]</code>
Specify tags to pass through to puppet (overriding the default).
Default Value: None</p></li>
<li><p><code>--dev</code>
Development mode: don&rsquo;t run &lsquo;git submodule update&rsquo; before deploy.</p></li>
<li><p><code>--downgrade</code>
Allows deploy to run with an older platform version.</p></li>
<li><p><code>--fast</code>
Makes the deploy command faster by skipping some slow steps. A &ldquo;fast&rdquo; deploy can be used safely if you recently completed a normal deploy.</p></li>
<li><p><code>--force</code>
Deploy even if there is a lockfile.</p></li>
<li><p><code>--sync</code>
Sync files, but don&rsquo;t actually apply recipes.</p></li>
</ul>


<h1><a name="leap-env"></a>leap env</h1>

<p>Manipulate and query environment information.</p>

<p>The &lsquo;environment&rsquo; node property can be used to isolate sets of nodes into entirely separate environments. A node in one environment will never interact with a node from another environment. Environment pinning works by modifying your ~/.leaprc file and is dependent on the absolute file path of your provider directory (pins don&rsquo;t apply if you move the directory)</p>

<h2><a name="leap-env-ls-environment"></a>leap env ls  [ENVIRONMENT]</h2>

<p>List the available environments. The pinned environment, if any, will be marked with &lsquo;*&rsquo;. Will also set the pin if run with an environment argument.</p>

<h2><a name="leap-env-pin-environment"></a>leap env pin  ENVIRONMENT</h2>

<p>Pin the environment to ENVIRONMENT. All subsequent commands will only apply to nodes in this environment.</p>

<h2><a name="leap-env-unpin"></a>leap env unpin</h2>

<p>Unpin the environment. All subsequent commands will apply to all nodes.</p>

<p>Default Command: ls</p>

<h1><a name="leap-facts"></a>leap facts</h1>

<p>Gather information on nodes.</p>

<h2><a name="leap-facts-update-filter"></a>leap facts update  FILTER</h2>

<p>Query servers to update facts.json.</p>

<p>Queries every node included in FILTER and saves the important information to facts.json</p>

<h1><a name="leap-help-command"></a>leap help  command</h1>

<p>Shows a list of commands or help for one command</p>

<p>Gets help for the application or its commands. Can also list the commands in a way helpful to creating a bash-style completion function</p>

<p><strong>Options</strong></p>

<ul>
<li><code>-c</code>
List commands one per line, to assist with shell completion</li>
</ul>


<h1><a name="leap-history-filter"></a>leap history  FILTER</h1>

<p>Display recent deployment history for a set of nodes.</p>

<p>The FILTER can be the name of a node, service, or tag.</p>

<p><strong>Options</strong></p>

<ul>
<li><p><code>--ip IPADDRESS</code>
Override the default SSH IP address.
Default Value: None</p></li>
<li><p><code>--port PORT</code>
Override the default SSH port.
Default Value: None</p></li>
<li><p><code>--last</code>
Show last deploy only</p></li>
</ul>


<h1><a name="leap-info-filter"></a>leap info  FILTER</h1>

<p>Prints information regarding facts, history, and running processes for a node or nodes.</p>

<p>The FILTER can be the name of a node, service, or tag.</p>

<h1><a name="leap-inspect-file"></a>leap inspect  FILE</h1>

<p>Prints details about a file. Alternately, the argument FILE can be the name of a node, service or tag.</p>

<p><strong>Options</strong></p>

<ul>
<li><code>--base</code>
Inspect the FILE from the provider_base (i.e. without local inheritance).</li>
</ul>


<h1><a name="leap-list-filter"></a>leap list  [FILTER]</h1>

<p>List nodes and their classifications</p>

<p>Prints out a listing of nodes, services, or tags. If present, the FILTER can be a list of names of nodes, services, or tags. If the name is prefixed with +, this acts like an AND condition. For example:</p>

<p><code>leap list node1 node2</code> matches all nodes named &ldquo;node1&rdquo; OR &ldquo;node2&rdquo;</p>

<p><code>leap list openvpn +local</code> matches all nodes with service &ldquo;openvpn&rdquo; AND tag &ldquo;local&rdquo;</p>

<p><strong>Options</strong></p>

<ul>
<li><p><code>--print arg</code>
What attributes to print (optional)
Default Value: None</p></li>
<li><p><code>--disabled</code>
Include disabled nodes in the list.</p></li>
</ul>


<h1><a name="leap-local"></a>leap local</h1>

<p>Manage local virtual machines.</p>

<p>This command provides a convenient way to manage Vagrant-based virtual machines. If FILTER argument is missing, the command runs on all local virtual machines. The Vagrantfile is automatically generated in &lsquo;test/Vagrantfile&rsquo;. If you want to run vagrant commands manually, cd to &lsquo;test&rsquo;.</p>

<h2><a name="leap-local-ls-filter"></a>leap local ls  [FILTER]</h2>

<p>Print the status of local virtual machine(s)</p>

<h2><a name="leap-local-reset-filter"></a>leap local reset  [FILTER]</h2>

<p>Resets virtual machine(s) to the last saved snapshot</p>

<h2><a name="leap-local-rm-filter"></a>leap local rm  [FILTER]</h2>

<p>Destroys the virtual machine(s), reclaiming the disk space</p>

<h2><a name="leap-local-save-filter"></a>leap local save  [FILTER]</h2>

<p>Saves the current state of the virtual machine as a new snapshot</p>

<h2><a name="leap-local-start-filter"></a>leap local start  [FILTER]</h2>

<p>Starts up the virtual machine(s)</p>

<p><strong>Options</strong></p>

<ul>
<li><code>--basebox BASEBOX</code>
The basebox to use. This value is passed to vagrant as the <code>config.vm.box</code> option. The value here should be the name of an installed box or a shorthand name of a box in HashiCorp&rsquo;s Atlas.
Default Value: LEAP/jessie</li>
</ul>


<h2><a name="leap-local-stop-filter"></a>leap local stop  [FILTER]</h2>

<p>Shuts down the virtual machine(s)</p>

<h1><a name="leap-mosh-name"></a>leap mosh  NAME</h1>

<p>Log in to the specified node with an interactive shell using mosh (requires node to have mosh.enabled set to true).</p>

<p><strong>Options</strong></p>

<ul>
<li><p><code>--port SSH_PORT</code>
Override default SSH port used when trying to connect to the server. Same as <code>--ssh "-p SSH_PORT"</code>.
Default Value: None</p></li>
<li><p><code>--ssh arg</code>
Pass through raw options to ssh (e.g. <code>--ssh '-F ~/sshconfig'</code>).
Default Value: None</p></li>
</ul>


<h1><a name="leap-new-directory"></a>leap new  DIRECTORY</h1>

<p>Creates a new provider instance in the specified directory, creating it if necessary.</p>

<p><strong>Options</strong></p>

<ul>
<li><p><code>--contacts arg</code>
Default email address contacts.
Default Value: None</p></li>
<li><p><code>--domain arg</code>
The primary domain of the provider.
Default Value: None</p></li>
<li><p><code>--name arg</code>
The name of the provider.
Default Value: None</p></li>
<li><p><code>--platform arg</code>
File path of the leap_platform directory.
Default Value: None</p></li>
</ul>


<h1><a name="leap-node"></a>leap node</h1>

<p>Node management</p>

<h2><a name="leap-node-add-name-seed"></a>leap node add  NAME [SEED]</h2>

<p>Create a new configuration file for a node named NAME.</p>

<p>If specified, the optional argument SEED can be used to seed values in the node configuration file.</p>

<p>The format is property_name:value.</p>

<p>For example: <code>leap node add web1 ip_address:1.2.3.4 services:webapp</code>.</p>

<p>To set nested properties, property name can contain &lsquo;.&rsquo;, like so: <code>leap node add web1 ssh.port:44</code></p>

<p>Separate multiple values for a single property with a comma, like so: <code>leap node add mynode services:webapp,dns</code></p>

<p><strong>Options</strong></p>

<ul>
<li><p><code>--local</code>
Make a local testing node (by assigning the next available local IP address). Local nodes are run as virtual machines on your computer.</p></li>
<li><p><code>--vm</code>
Make a remote virtual machine for this node. Requires a valid cloud.json configuration.</p></li>
</ul>


<h2><a name="leap-node-init-filter"></a>leap node init  FILTER</h2>

<p>Bootstraps a node or nodes, setting up SSH keys and installing prerequisite packages</p>

<p>This command prepares a server to be used with the LEAP Platform by saving the server&rsquo;s SSH host key, copying the authorized_keys file, installing packages that are required for deploying, and registering important facts. Node init must be run before deploying to a server, and the server must be running and available via the network. This command only needs to be run once, but there is no harm in running it multiple times.</p>

<p><strong>Options</strong></p>

<ul>
<li><p><code>--ip IPADDRESS</code>
Override the default SSH IP address.
Default Value: None</p></li>
<li><p><code>--port PORT</code>
Override the default SSH port.
This command prepares a server to be used with the LEAP Platform by saving the server&rsquo;s SSH host key, copying the authorized_keys file, installing packages that are required for deploying, and registering important facts. Node init must be run before deploying to a server, and the server must be running and available via the network. This command only needs to be run once, but there is no harm in running it multiple times.
Default Value: None</p></li>
</ul>


<h2><a name="leap-node-mv-old_name-new_name"></a>leap node mv  OLD_NAME NEW_NAME</h2>

<p>Renames a node file, and all its related files.</p>

<h2><a name="leap-node-rm-name"></a>leap node rm  NAME</h2>

<p>Removes all the files related to the node named NAME.</p>

<h1><a name="leap-open-name"></a>leap open  NAME</h1>

<p>Opens useful URLs in a web browser.</p>

<p>NAME can be one or more of: monitor, web, docs, bug</p>

<p><strong>Options</strong></p>

<ul>
<li><p><code>--env ENVIRONMENT</code>
Which environment to use (optional).
Default Value: None</p></li>
<li><p><code>--[no-]ip</code>
To get around HSTS or DNS, open the URL using the IP address instead of the domain (optional).</p></li>
</ul>


<h1><a name="leap-run-command-filter"></a>leap run  COMMAND FILTER</h1>

<p>Run a shell command remotely</p>

<p>Runs the specified command COMMAND on each node in the FILTER set. For example, <code>leap run 'uname -a' webapp</code></p>

<p><strong>Options</strong></p>

<ul>
<li><p><code>--port SSH_PORT</code>
Override default SSH port used when trying to connect to the server.
Default Value: None</p></li>
<li><p><code>--[no-]stream</code>
If set, stream the output as it arrives. (default: &ndash;stream for a single node, &ndash;no-stream for multiple nodes)</p></li>
</ul>


<h1><a name="leap-scp-file1-file2"></a>leap scp  FILE1 FILE2</h1>

<p>Secure copy from FILE1 to FILE2. Files are specified as NODE_NAME:FILE_PATH. For local paths, omit &ldquo;NODE_NAME:&rdquo;.</p>

<p><strong>Options</strong></p>

<ul>
<li><code>-r</code>
Copy recursively</li>
</ul>


<h1><a name="leap-ssh-name"></a>leap ssh  NAME</h1>

<p>Log in to the specified node with an interactive shell.</p>

<p><strong>Options</strong></p>

<ul>
<li><p><code>--port SSH_PORT</code>
Override default SSH port used when trying to connect to the server. Same as <code>--ssh "-p SSH_PORT"</code>.
Default Value: None</p></li>
<li><p><code>--ssh arg</code>
Pass through raw options to ssh (e.g. <code>--ssh '-F ~/sshconfig'</code>).
Default Value: None</p></li>
</ul>


<h1><a name="leap-test"></a>leap test</h1>

<p>Run tests.</p>

<h2><a name="leap-test-init"></a>leap test init</h2>

<p>Creates files needed to run tests.</p>

<h2><a name="leap-test-run-filter"></a>leap test run  [FILTER]</h2>

<p>Run the test suit on FILTER nodes.</p>

<p><strong>Options</strong></p>

<ul>
<li><code>--[no-]continue</code>
Continue over errors and failures (default is &ndash;no-continue).</li>
</ul>


<p>Default Command: run</p>

<h1><a name="leap-tunnel-local_portnameremote_port"></a>leap tunnel  [LOCAL_PORT:]NAME:REMOTE_PORT</h1>

<p>Creates an SSH port forward (tunnel) to the node NAME. REMOTE_PORT is the port on the remote node that the tunnel will connect to. LOCAL_PORT is the optional port on your local machine. For example: <code>leap tunnel couch1:5984</code>.</p>

<p><strong>Options</strong></p>

<ul>
<li><p><code>--port SSH_PORT</code>
Override default SSH port used when trying to connect to the server. Same as <code>--ssh "-p SSH_PORT"</code>.
Default Value: None</p></li>
<li><p><code>--ssh arg</code>
Pass through raw options to ssh (e.g. &ndash;ssh &lsquo;-F ~/sshconfig&rsquo;).
Default Value: None</p></li>
</ul>


<h1><a name="leap-user"></a>leap user</h1>

<p>Manage trusted sysadmins</p>

<p>Manage the trusted sysadmins that are configured in the &lsquo;users&rsquo; directory.</p>

<h2><a name="leap-user-add-username"></a>leap user add  USERNAME</h2>

<p>Adds a new trusted sysadmin</p>

<p><strong>Options</strong></p>

<ul>
<li><p><code>--pgp-pub-key arg</code>
OpenPGP public key file for this new user
Default Value: None</p></li>
<li><p><code>--ssh-pub-key arg</code>
SSH public key file for this new user
Default Value: None</p></li>
<li><p><code>--self</code>
Add yourself as a trusted sysadmin by choosing among the public keys available for the current user.</p></li>
</ul>


<h2><a name="leap-user-ls"></a>leap user ls</h2>

<p>Lists the configured sysadmins</p>

<h2><a name="leap-user-rm-username"></a>leap user rm  USERNAME</h2>

<p>Removes a trusted sysadmin</p>

<h1><a name="leap-vm"></a>leap vm</h1>

<p>Manage remote virtual machines (VMs).</p>

<p>This command provides a convenient way to manage virtual machines. FILTER may be a node filter or the ID of a virtual machine.</p>

<p><strong>Options</strong></p>

<ul>
<li><p><code>--auth AUTH</code>
Choose which authentication credentials to use from the file cloud.json. If omitted, will default to the node&rsquo;s <code>vm.auth</code> property, or the first credentials in cloud.json
Default Value: None</p></li>
<li><p><code>--[no-]mock</code>
Run as simulation, without actually connecting to a cloud provider. If set, &ndash;auth is ignored.</p></li>
<li><p><code>--[no-]wait</code>
Wait for servers to start/stop before continuing.</p></li>
</ul>


<h2><a name="leap-vm-add-node_name-seed"></a>leap vm add  NODE_NAME [SEED]</h2>

<p>Allocates a new VM and/or associates it with node NAME.</p>

<p>If node configuration file does not yet exist, it is created with the optional SEED values. You can run this command when the virtual machine already exists in order to update the node&rsquo;s <code>vm.id</code> property.</p>

<h2><a name="leap-vm-bind-node_name-instance_id"></a>leap vm bind  NODE_NAME INSTANCE_ID</h2>

<p>Binds a running VM instance to a node configuration.</p>

<p>Afterwards, the VM will be assigned a label matching the node name, and the node config will be updated with the instance ID.</p>

<h2><a name="leap-vm-key-list"></a>leap vm key-list</h2>

<p>Lists the registered SSH public keys for a particular VM provider.</p>

<h2><a name="leap-vm-key-register"></a>leap vm key-register</h2>

<p>Registers a SSH public key for use when creating new VMs.</p>

<p>Note that only people who are creating new VM instances need to have their key registered.</p>

<h2><a name="leap-vm-rm-filter"></a>leap vm rm  [FILTER]</h2>

<p>Destroys one or more VMs</p>

<h2><a name="leap-vm-start-filter"></a>leap vm start  [FILTER]</h2>

<p>Starts one or more VMs</p>

<h2><a name="leap-vm-status-filter"></a>leap vm status  [FILTER]</h2>

<p>Print the status of all VMs</p>

<h2><a name="leap-vm-stop-filter"></a>leap vm stop  [FILTER]</h2>

<p>Shuts down one or more VMs</p>

<p>This keeps the storage allocated. To save resources, run <code>leap vm rm</code> instead.</p>

</div>
</div>
</body>
</html>