takeltau 0.44.14 → 0.44.18

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 (45) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +106 -97
  3. data/lib/takeltau/default.yml +5 -3
  4. data/lib/takeltau/docker/check/daemon.rb +0 -2
  5. data/lib/takeltau/docker/cli.rb +1 -1
  6. data/lib/takeltau/docker/container/cli.rb +1 -3
  7. data/lib/takeltau/docker/container/lib.rb +2 -4
  8. data/lib/takeltau/docker/container/list.rb +0 -4
  9. data/lib/takeltau/docker/image/cli.rb +1 -1
  10. data/lib/takeltau/docker/image/tag/check.rb +0 -2
  11. data/lib/takeltau/docker/image/tag/cli.rb +1 -1
  12. data/lib/takeltau/git/lib.rb +0 -2
  13. data/lib/takeltau/info/status/bar.rb +0 -2
  14. data/lib/takeltau/info/status/cli.rb +2 -2
  15. data/lib/takeltau/info/status/gopass.rb +0 -2
  16. data/lib/takeltau/info/status/gpg.rb +0 -2
  17. data/lib/takeltau/info/status/ssh.rb +1 -3
  18. data/lib/takeltau/init/packer/cli.rb +1 -1
  19. data/lib/takeltau/init/takelage/cli.rb +1 -3
  20. data/lib/takeltau/lib/config.rb +1 -9
  21. data/lib/takeltau/lib/logging.rb +2 -2
  22. data/lib/takeltau/lib/project.rb +2 -2
  23. data/lib/takeltau/lib/subcmd.rb +2 -0
  24. data/lib/takeltau/lib/system.rb +36 -26
  25. data/lib/takeltau/mutagen/check/cli.rb +2 -2
  26. data/lib/takeltau/mutagen/check/daemon.rb +1 -5
  27. data/lib/takeltau/mutagen/cli.rb +1 -1
  28. data/lib/takeltau/mutagen/socket/cli.rb +2 -2
  29. data/lib/takeltau/mutagen/socket/create.rb +1 -5
  30. data/lib/takeltau/mutagen/socket/docker.rb +1 -3
  31. data/lib/takeltau/self/commands.rb +3 -3
  32. data/lib/takeltau/ship/cli.rb +31 -20
  33. data/lib/takeltau/ship/completion/bash.rb +3 -4
  34. data/lib/takeltau/ship/container/clean.rb +0 -2
  35. data/lib/takeltau/ship/container/cli.rb +14 -0
  36. data/lib/takeltau/ship/container/lib.rb +11 -4
  37. data/lib/takeltau/ship/container/logs.rb +29 -0
  38. data/lib/takeltau/ship/ports/lib.rb +0 -6
  39. data/lib/takeltau/ship/project/cli.rb +37 -8
  40. data/lib/takeltau/ship/project/create.rb +21 -0
  41. data/lib/takeltau/ship/project/start.rb +0 -12
  42. data/lib/takeltau/version +1 -1
  43. data/lib/takeltau.rb +3 -2
  44. metadata +4 -2
  45. data/lib/takeltau/ship/project/logs.rb +0 -27
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3704d32de72d1e348d58f3a49ce6de49f9ceb38b3e00b0fadcc931cc1e6f22cc
4
- data.tar.gz: e59db3cbfeef7f889e30490635bc674754c545ba8118713e65f8dcd10e06f84c
3
+ metadata.gz: 427008d91f93e07b7dec06006e7dfc9135fcc9377d7f822c49400372b3b23698
4
+ data.tar.gz: f0e3ba0704330cd2d9770016a17ead7b1cbdf4ca2cd54f6814532e4df4753e4a
5
5
  SHA512:
6
- metadata.gz: c35ec4ed9d828710c9dea72ad6ddef5329c122ef9eb8ac500c74d75297f61fbb5adb6a78a331c8b95c4f28c755716cfec8b7c845b92b00d0b2b2598f91fa4b12
7
- data.tar.gz: ade7f5feb06f8a529446005ab29c1af09062f295fe6241de2f8946e836d5a5002922f5772045dbe4a0e59a3c1870d29f845ff6c06dc6a2e8dbada99d85fb7b10
6
+ metadata.gz: 99d28e181b027fd92c982990f2a8b43f29443025374332f36ad5511ebddaab0014c0e3cbc110351e3e03bf43ee5eaf7fefc3bf6b7717fb7ecc9b2e812fde55d1
7
+ data.tar.gz: f5a9c9c6c9679c6d8cc4ab9af269418a5795cbe5a4f88224d2bcac566f9a4015eefae4bd3f18873f5c1ee2debf8ac1b2ee047336bca1fdae01297a87b16f638a
data/README.md CHANGED
@@ -5,11 +5,16 @@ to facilitate the takelage devops workflow.
5
5
  The takelage devops workflow helps devops engineers
6
6
  build, test and deploy os images.
7
7
 
8
- The *takelage-cli* executable *tau* is a
8
+ The *takelage-cli* executable `tau` is a
9
9
  [ruby](https://www.ruby-lang.org/)
10
10
  command line script using the
11
11
  [thor](http://whatisthor.com/) toolkit.
12
12
 
13
+ *takelage-cli* is also the remote control for the
14
+ [takelship](https://github.com/takelwerk/takelship).
15
+
16
+ The *takelage-cli* executable `ship` is a wrapper for `tau ship`.
17
+
13
18
  ## Framework Versions
14
19
 
15
20
  | Project | Artifacts |
@@ -66,95 +71,99 @@ You can list the *tau* commands by running
66
71
  *tau [self commands](features/cucumber/features/self/self.commands.feature)*
67
72
  or *tau commands*:
68
73
 
69
- Command | Description
70
- ------- | -----------
71
- tau [completion bash](features/cucumber/features/completion/completion.bash.feature) | Print bash completion code
72
- tau [docker check daemon](features/cucumber/features/docker/docker.check.daemon.feature) | Check if docker daemon is running
73
- tau [docker container check existing](features/cucumber/features/docker/docker.container.check.existing.feature) [CONTAINER] | Check if docker [CONTAINER] is existing
74
- tau [docker container check network](features/cucumber/features/docker/docker.container.check.network.feature) [NETWORK] | Check if docker [NETWORK] is existing
75
- tau [docker container check orphaned](features/cucumber/features/docker/docker.container.check.orphaned.feature) [CONTAINER] | Check if docker [CONTAINER] is orphaned
76
- tau [docker container clean](features/cucumber/features/docker/docker.container.clean.feature) | Remove all docker containers
77
- tau [docker container command](features/cucumber/features/docker/docker.container.command.feature) [CMD] | Run [CMD] in a docker container
78
- tau [docker container daemon](features/cucumber/features/docker/docker.container.daemon.feature) | Run docker container in daemon mode
79
- tau [docker container list](features/cucumber/features/docker/docker.container.list.feature) | List docker containers
80
- tau [docker container login](features/cucumber/features/docker/docker.container.login.feature) | Log in to latest local docker container
81
- tau [docker container prune](features/cucumber/features/docker/docker.container.prune.feature) | Remove orphaned docker containers
82
- tau [docker image tag check](features/cucumber/features/docker/docker.image.tag.check.feature) [TAG] | Check if local docker image [TAG] exists
83
- tau [docker image tag latest](features/cucumber/features/docker/docker.image.tag.latest.feature) | Print latest local docker image tag
84
- tau [docker image tag list](features/cucumber/features/docker/docker.image.tag.list.feature) | Print local docker image tags
85
- tau [docker image update](features/cucumber/features/docker/docker.image.update.feature) | Get latest remote docker container
86
- tau [git check clean](features/cucumber/features/git/git.check.clean.feature) | Check if the git workspace is clean
87
- tau [git check hg](features/cucumber/features/git/git.check.hg.feature) | Check if we are on the git hg branch
88
- tau [git check workspace](features/cucumber/features/git/git.check.workspace.feature) | Check if a git workspace exists
89
- tau [hg list](features/cucumber/features/hg/hg.list.feature) | List hg repos
90
- tau [hg pull](features/cucumber/features/hg/hg.pull.feature) | Pull hg repos
91
- tau [hg push](features/cucumber/features/hg/hg.push.feature) | Push hg repos
92
- tau [info project active](features/cucumber/features/info/info.project.active.feature) | Print active project info
93
- tau [info project dir](features/cucumber/features/info/info.project.dir.feature) | Print project root directory
94
- tau [info project main](features/cucumber/features/info/info.project.main.feature) | Print main project info
95
- tau [info project private](features/cucumber/features/info/info.project.private.feature) | Print private project info
96
- tau [info status bar](features/cucumber/features/info/info.status.bar.feature) | Print status bar
97
- tau [info status arch](features/cucumber/features/info/info.status.arch.feature) | Check arch status
98
- tau [info status git](features/cucumber/features/info/info.status.git.feature) | Check git status
99
- tau [info status gopass](features/cucumber/features/info/info.status.gopass.feature) | Check gopass status
100
- tau [info status gpg](features/cucumber/features/info/info.status.gpg.feature) | Check gpg status
101
- tau [info status hg](features/cucumber/features/info/info.status.hg.feature) | Check hg status
102
- tau [info status mutagen](features/cucumber/features/info/info.status.mutagen.feature) | Check mutagen status
103
- tau [info status ssh](features/cucumber/features/info/info.status.ssh.feature) | Check ssh status
104
- tau [init packer docker](features/cucumber/features/init/init.packer.docker.feature) | Initialize packer project for docker images
105
- tau [init takelage rake](features/cucumber/features/init/init.takelage.rake.feature) | Initialize takelage rake project
106
- tau [mutagen check daemon](features/cucumber/features/mutagen/mutagen.check.daemon.feature)) | Check if mutagen host conenction is available
107
- tau [mutagen socket check](features/cucumber/features/mutagen/mutagen.socket.check.feature) [SOCKET] | Check if mutagen [SOCKET] exists
108
- tau [mutagen socket create](features/cucumber/features/mutagen/mutagen.socket.create.feature) [NAME] [IN] [OUT] | Create a mutagen socket [NAME] from [IN] to [OUT] of the container
109
- tau [mutagen socket list](features/cucumber/features/mutagen/mutagen.socket.list.feature) | List mutagen sockets
110
- tau [mutagen socket terminate](features/cucumber/features/mutagen/mutagen.socket.terminate.feature) [SOCKET] | Terminate a mutagen [SOCKET]
111
- tau [mutagen socket tidy](features/cucumber/features/mutagen/mutagen.socket.tidy.feature) | Remove mutagen daemon files
112
- tau [self commands](features/cucumber/features/self/self.commands.feature) | List all commands
113
- tau [self config active](features/cucumber/features/self/self.config.active.feature) | Print active takelage configuration
114
- tau [self config default](features/cucumber/features/self/self.config.default.feature) | Print takelage default configuration
115
- tau [self config home](features/cucumber/features/self/self.config.home.feature) | Print takelage home config file configuration
116
- tau [self config project](features/cucumber/features/self/self.config.project.feature) | Print takelage project config file configuration
117
- tau [self version](features/cucumber/features/self/self.version.feature) | Print tau semantic version number
118
- tau [ship completion bash](features/cucumber/features/ship/completion/completion.bash.feature) | Print bash completion code for ship subcommand
119
- tau [ship container check existing](features/cucumber/features/ship/container/ship.container.check.existing.feature) | Check if a takelship is existing
120
- tau [ship container clean](features/cucumber/features/ship/container/ship.container.clean.feature) | Stop all takelships
121
- tau [ship container command](features/cucumber/features/ship/container/ship.container.command.feature) [COMMAND] | Run a [COMMAND] in a takelship container
122
- tau [ship container list](features/cucumber/features/ship/container/ship.container.list.feature) | List takelships
123
- tau [ship container login](features/cucumber/features/ship/container/ship.container.login.feature) | Log in to a takelship
124
- tau [ship container podman](features/cucumber/features/ship/container/ship.container.podman.feature) [COMMAND] | Run a podman [COMMAND] in a takelship
125
- tau [ship container stop](features/cucumber/features/ship/container/ship.container.stop.feature) | Stop a takelship
126
- tau [ship container sudo](features/cucumber/features/ship/container/ship.container.sudo.feature) [COMMAND] | Run a sudo [COMMAND] in a takelship
127
- tau [ship container update](features/cucumber/features/ship/container/ship.container.update.feature) | Update takelship image
128
- tau [ship info takelconfig](features/cucumber/features/ship/info/ship.info.takelconfig.feature) | Print takelage config
129
- tau [ship info takelship](features/cucumber/features/ship/info/ship.info.takelship.feature) | Print takelship info
130
- tau [ship project list](features/cucumber/features/ship/project/ship.project.list.feature) | List takelship projects
131
- tau [ship project logs](features/cucumber/features/ship/project/ship.project.logs.feature) [PROJECT] | Follow logs of a takelship [PROJECT]
132
- tau [ship project start](features/cucumber/features/ship/project/ship.project.start.feature) [PROJECT] | Start a takelship [PROJECT]
133
- tau [ship project stop](features/cucumber/features/ship/project/ship.project.stop.feature) | Stop a takelship project
134
- tau ship board | Alias for tau [ship container login](features/cucumber/features/ship/container/ship.container.login.feature)
135
- tau ship command [COMMAND] | Alias for tau [ship container command](features/cucumber/features/ship/container/ship.container.command.feature)
136
- tau ship list | Alias for tau [ship container list](features/cucumber/features/ship/container/ship.container.list.feature)
137
- tau ship login | Alias for tau [ship container login](features/cucumber/features/ship/container/ship.container.login.feature)
138
- tau ship logs [PROJECT] | Alias for tau [ship project logs](features/cucumber/features/ship/project/ship.project.logs.feature)
139
- tau ship ls | Alias for tau [ship container list](features/cucumber/features/ship/container/ship.container.list.feature)
140
- tau ship podman [COMMAND] | Alias for tau [ship container podman](features/cucumber/features/ship/container/ship.container.podman.feature)
141
- tau ship sail [PROJECT] | Alias for tau [ship project start](features/cucumber/features/ship/project/ship.project.start.feature)
142
- tau ship start [PROJECT] | Alias for tau [ship project start](features/cucumber/features/ship/project/ship.project.start.feature)
143
- tau ship stop | Alias for tau [ship project stop](features/cucumber/features/ship/project/ship.project.stop.feature)
144
- tau ship sudo [COMMAND] | Alias for tau [ship container sudo](features/cucumber/features/ship/container/ship.container.sudo.feature)
145
- tau ship wreck | Alias for tau [ship project stop](features/cucumber/features/ship/project/ship.project.stop.feature)
146
- tau ship update | Alias for tau [ship container update](features/cucumber/features/ship/container/ship.container.update.feature)
147
- tau clean | Alias for tau [docker container clean](features/cucumber/features/docker/docker.container.clean.feature)
148
- tau commands | Alias for tau [self commands](features/cucumber/features/self/self.commands.feature)
149
- tau config | Alias for tau [self config active](features/cucumber/features/self/self.config.active.feature)
150
- tau list | Alias for tau [docker container list](features/cucumber/features/docker/docker.container.list.feature)
151
- tau ls | Alias for tau [docker container list](features/cucumber/features/docker/docker.container.list.feature)
152
- tau login | Alias for tau [docker container login](features/cucumber/features/docker/docker.container.login.feature)
153
- tau project | Alias for tau [info project active](features/cucumber/features/info/info.project.active.feature)
154
- tau prune | Alias for tau [docker container prune](features/cucumber/features/docker/docker.container.prune.feature)
155
- tau status | Alias for tau [docker info status bar](features/cucumber/features/info/info.status.bar.feature)
156
- tau update | Alias for tau [docker image update](features/cucumber/features/docker/docker.image.update.feature)
157
- tau version | Alias for tau [self version](features/cucumber/features/self/self.version.feature)
74
+ | Command | Description |
75
+ | - |- |
76
+ | tau [completion bash](features/cucumber/features/completion/completion.bash.feature) | Print bash completion code |
77
+ | tau [docker check daemon](features/cucumber/features/docker/docker.check.daemon.feature) | Check if docker daemon is running |
78
+ | tau [docker container check existing](features/cucumber/features/docker/docker.container.check.existing.feature) [CONTAINER] | Check if docker [CONTAINER] is existing |
79
+ | tau [docker container check network](features/cucumber/features/docker/docker.container.check.network.feature) [NETWORK] | Check if docker [NETWORK] is existing |
80
+ | tau [docker container check orphaned](features/cucumber/features/docker/docker.container.check.orphaned.feature) [CONTAINER] | Check if docker [CONTAINER] is orphaned |
81
+ | tau [docker container clean](features/cucumber/features/docker/docker.container.clean.feature) | Remove all docker containers |
82
+ | tau [docker container command](features/cucumber/features/docker/docker.container.command.feature) [CMD] | Run [CMD] in a docker container |
83
+ | tau [docker container daemon](features/cucumber/features/docker/docker.container.daemon.feature) | Run docker container in daemon mode |
84
+ | tau [docker container list](features/cucumber/features/docker/docker.container.list.feature) | List docker containers |
85
+ | tau [docker container login](features/cucumber/features/docker/docker.container.login.feature) | Log in to latest local docker container |
86
+ | tau [docker container prune](features/cucumber/features/docker/docker.container.prune.feature) | Remove orphaned docker containers |
87
+ | tau [docker image tag check](features/cucumber/features/docker/docker.image.tag.check.feature) [TAG] | Check if local docker image [TAG] exists |
88
+ | tau [docker image tag latest](features/cucumber/features/docker/docker.image.tag.latest.feature) | Print latest local docker image tag |
89
+ | tau [docker image tag list](features/cucumber/features/docker/docker.image.tag.list.feature) | Print local docker image tags |
90
+ | tau [docker image update](features/cucumber/features/docker/docker.image.update.feature) | Get latest remote docker container |
91
+ | tau [git check clean](features/cucumber/features/git/git.check.clean.feature) | Check if the git workspace is clean |
92
+ | tau [git check hg](features/cucumber/features/git/git.check.hg.feature) | Check if we are on the git hg branch |
93
+ | tau [git check workspace](features/cucumber/features/git/git.check.workspace.feature) | Check if a git workspace exists |
94
+ | tau [hg list](features/cucumber/features/hg/hg.list.feature) | List hg repos |
95
+ | tau [hg pull](features/cucumber/features/hg/hg.pull.feature) | Pull hg repos |
96
+ | tau [hg push](features/cucumber/features/hg/hg.push.feature) | Push hg repos |
97
+ | tau [info project active](features/cucumber/features/info/info.project.active.feature) | Print active project info |
98
+ | tau [info project dir](features/cucumber/features/info/info.project.dir.feature) | Print project root directory |
99
+ | tau [info project main](features/cucumber/features/info/info.project.main.feature) | Print main project info |
100
+ | tau [info project private](features/cucumber/features/info/info.project.private.feature) | Print private project info |
101
+ | tau [info status bar](features/cucumber/features/info/info.status.bar.feature) | Print status bar |
102
+ | tau [info status arch](features/cucumber/features/info/info.status.arch.feature) | Check arch status |
103
+ | tau [info status git](features/cucumber/features/info/info.status.git.feature) | Check git status |
104
+ | tau [info status gopass](features/cucumber/features/info/info.status.gopass.feature) | Check gopass status |
105
+ | tau [info status gpg](features/cucumber/features/info/info.status.gpg.feature) | Check gpg status |
106
+ | tau [info status hg](features/cucumber/features/info/info.status.hg.feature) | Check hg status |
107
+ | tau [info status mutagen](features/cucumber/features/info/info.status.mutagen.feature) | Check mutagen status |
108
+ | tau [info status ssh](features/cucumber/features/info/info.status.ssh.feature) | Check ssh status |
109
+ | tau [init packer docker](features/cucumber/features/init/init.packer.docker.feature) | Initialize packer project for docker images |
110
+ | tau [init takelage rake](features/cucumber/features/init/init.takelage.rake.feature) | Initialize takelage rake project |
111
+ | tau [mutagen check daemon](features/cucumber/features/mutagen/mutagen.check.daemon.feature)) | Check if mutagen host conenction is available |
112
+ | tau [mutagen socket check](features/cucumber/features/mutagen/mutagen.socket.check.feature) [SOCKET] | Check if mutagen [SOCKET] exists |
113
+ | tau [mutagen socket create](features/cucumber/features/mutagen/mutagen.socket.create.feature) [NAME] [IN] [OUT] | Create a mutagen socket [NAME] from [IN] to [OUT] of the container |
114
+ | tau [mutagen socket list](features/cucumber/features/mutagen/mutagen.socket.list.feature) | List mutagen sockets |
115
+ | tau [mutagen socket terminate](features/cucumber/features/mutagen/mutagen.socket.terminate.feature) [SOCKET] | Terminate a mutagen [SOCKET] |
116
+ | tau [mutagen socket tidy](features/cucumber/features/mutagen/mutagen.socket.tidy.feature) | Remove mutagen daemon files |
117
+ | tau [self commands](features/cucumber/features/self/self.commands.feature) | List all commands |
118
+ | tau [self config active](features/cucumber/features/self/self.config.active.feature) | Print active takelage configuration |
119
+ | tau [self config default](features/cucumber/features/self/self.config.default.feature) | Print takelage default configuration |
120
+ | tau [self config home](features/cucumber/features/self/self.config.home.feature) | Print takelage home config file configuration |
121
+ | tau [self config project](features/cucumber/features/self/self.config.project.feature) | Print takelage project config file configuration |
122
+ | tau [self version](features/cucumber/features/self/self.version.feature) | Print tau semantic version number |
123
+ | tau [ship completion bash](features/cucumber/features/ship/completion/completion.bash.feature) | Print bash completion code for ship subcommand |
124
+ | tau [ship container check existing](features/cucumber/features/ship/container/ship.container.check.existing.feature) | Check if a takelship is existing |
125
+ | tau [ship container clean](features/cucumber/features/ship/container/ship.container.clean.feature) | Stop all takelships |
126
+ | tau [ship container command](features/cucumber/features/ship/container/ship.container.command.feature) [COMMAND] | Run a [COMMAND] in a takelship container |
127
+ | tau [ship container list](features/cucumber/features/ship/container/ship.container.list.feature) | List takelships |
128
+ | tau [ship container login](features/cucumber/features/ship/container/ship.container.login.feature) | Log in to a takelship |
129
+ | tau [ship container logs](features/cucumber/features/ship/container/ship.container.logs.feature) | Print the takelship logs |
130
+ | tau [ship container podman](features/cucumber/features/ship/container/ship.container.podman.feature) [COMMAND] | Run a podman [COMMAND] in a takelship |
131
+ | tau [ship container stop](features/cucumber/features/ship/container/ship.container.stop.feature) | Stop a takelship |
132
+ | tau [ship container sudo](features/cucumber/features/ship/container/ship.container.sudo.feature) [COMMAND] | Run a sudo [COMMAND] in a takelship |
133
+ | tau [ship container update](features/cucumber/features/ship/container/ship.container.update.feature) | Update takelship image |
134
+ | tau [ship info takelconfig](features/cucumber/features/ship/info/ship.info.takelconfig.feature) | Print takelage config |
135
+ | tau [ship info takelship](features/cucumber/features/ship/info/ship.info.takelship.feature) | Print takelship info |
136
+ | tau [ship project create](features/cucumber/features/ship/project/ship.project.create.feature) [PROJECT] | Create a takelship [PROJECT] |
137
+ | tau [ship project list](features/cucumber/features/ship/project/ship.project.list.feature) | List takelship projects |
138
+ | tau [ship project restart](features/cucumber/features/ship/project/ship.project.restart.feature) [PROJECT] | Restart a takelship [PROJECT] |
139
+ | tau [ship project start](features/cucumber/features/ship/project/ship.project.start.feature) [PROJECT] | Start a takelship [PROJECT] |
140
+ | tau [ship project stop](features/cucumber/features/ship/project/ship.project.stop.feature) | Stop a takelship project |
141
+ | tau [ship project update](features/cucumber/features/ship/project/ship.project.create.feature) [PROJECT] | Update a takelship [PROJECT] |
142
+ | tau ship board | Alias for tau [ship container login](features/cucumber/features/ship/container/ship.container.login.feature) |
143
+ | tau ship command [COMMAND] | Alias for tau [ship container command](features/cucumber/features/ship/container/ship.container.command.feature) |
144
+ | tau ship list | Alias for tau [ship container list](features/cucumber/features/ship/container/ship.container.list.feature) |
145
+ | tau ship login | Alias for tau [ship container login](features/cucumber/features/ship/container/ship.container.login.feature) |
146
+ | tau ship logs | Alias for tau [ship container logs](features/cucumber/features/ship/container/ship.container.logs.feature) |
147
+ | tau ship ls | Alias for tau [ship container list](features/cucumber/features/ship/container/ship.container.list.feature) |
148
+ | tau ship podman [COMMAND] | Alias for tau [ship container podman](features/cucumber/features/ship/container/ship.container.podman.feature) |
149
+ | tau ship sail [PROJECT] | Alias for tau [ship project start](features/cucumber/features/ship/project/ship.project.start.feature) |
150
+ | tau ship restart [PROJECT] | Alias for tau [ship project restart](features/cucumber/features/ship/project/ship.project.restart.feature) |
151
+ | tau ship start [PROJECT] | Alias for tau [ship project start](features/cucumber/features/ship/project/ship.project.start.feature) |
152
+ | tau ship stop | Alias for tau [ship project stop](features/cucumber/features/ship/project/ship.project.stop.feature) |
153
+ | tau ship sudo [COMMAND] | Alias for tau [ship container sudo](features/cucumber/features/ship/container/ship.container.sudo.feature) |
154
+ | tau ship wreck | Alias for tau [ship project stop](features/cucumber/features/ship/project/ship.project.stop.feature) |
155
+ | tau ship update | Alias for tau [ship container update](features/cucumber/features/ship/container/ship.container.update.feature) |
156
+ | tau clean | Alias for tau [docker container clean](features/cucumber/features/docker/docker.container.clean.feature) |
157
+ | tau commands | Alias for tau [self commands](features/cucumber/features/self/self.commands.feature) |
158
+ | tau config | Alias for tau [self config active](features/cucumber/features/self/self.config.active.feature) |
159
+ | tau list | Alias for tau [docker container list](features/cucumber/features/docker/docker.container.list.feature) |
160
+ | tau ls | Alias for tau [docker container list](features/cucumber/features/docker/docker.container.list.feature) |
161
+ | tau login | Alias for tau [docker container login](features/cucumber/features/docker/docker.container.login.feature) |
162
+ | tau project | Alias for tau [info project active](features/cucumber/features/info/info.project.active.feature) |
163
+ | tau prune | Alias for tau [docker container prune](features/cucumber/features/docker/docker.container.prune.feature) |
164
+ | tau status | Alias for tau [docker info status bar](features/cucumber/features/info/info.status.bar.feature) |
165
+ | tau update | Alias for tau [docker image update](features/cucumber/features/docker/docker.image.update.feature) |
166
+ | tau version | Alias for tau [self version](features/cucumber/features/self/self.version.feature) |
158
167
 
159
168
  **Warning: *tau update* will call *docker image prune* and remove all dangling images!**
160
169
 
@@ -170,9 +179,9 @@ or *tau config*.
170
179
 
171
180
  | Filename | Precedence | Description |
172
181
  |-|-|-|
173
- | *default.yml* | lowest | Shipped with *takelage-cli*. Sets defaults where applicable. |
174
- | *~/.takelage.yml* | normal | User-wide configuration file in your home directory. This is your normal custom configuration file. |
175
- | *takelage.yml* | highest | Project-specific configuration file next to your main Rakefile. Some projects need special configuration. |
182
+ | *default.yml* | lowest | Shipped with *takelage-cli*. Sets defaults where applicable.|
183
+ | *~/.takelage.yml* | normal | User-wide configuration file in your home directory. This is your normal custom configuration file.|
184
+ | *takelage.yml* | highest | Project-specific configuration file next to your main Rakefile. Some projects need special configuration.|
176
185
  | TAKELAGE_TAU_CONFIG_* | ultimate | Fileless configuration through TAKELAGE_TAU_CONFIG environment variables. |
177
186
 
178
187
  The tau command line tool is directory-aware so it is important that you can set the working directory of the tau command.
@@ -238,7 +247,7 @@ or *tau project*.
238
247
 
239
248
  | Default filename | Config key | Precedence | Description |
240
249
  | -------- | ---------- | ---------- | ----------- |
241
- | *project.yml* | info_project_main | normal | Main project file. |
250
+ | *project.yml* | info_project_main | normal | Main project file.|
242
251
  | *private/project.yml* | info_project_private | highest | Private project file. Should be in *.gitignore*. |
243
252
 
244
253
  ### Bash Completion
@@ -270,8 +279,8 @@ You need to whitelist it in your host's docker engine configuration:
270
279
 
271
280
  ```json
272
281
  {
273
- "insecure-registries": [
274
- "host.docker.internal:5005"
275
- ]
282
+ "insecure-registries": [
283
+ "host.docker.internal:5005"
284
+ ]
276
285
  }
277
286
  ```
@@ -58,12 +58,12 @@ cmd_mutagen_forward_socket_list: 'mutagen forward list --label-selector="%{takel
58
58
  cmd_mutagen_forward_socket_remove: 'rm -f ~/.mutagen/daemon/*'
59
59
  cmd_mutagen_forward_socket_terminate: 'mutagen forward terminate %{socketname}'
60
60
  cmd_ship_container_docker: '%{ship_docker} exec --interactive %{tty} %{ship_hostname} %{command}'
61
+ cmd_ship_container_logs: '%{ship_docker} logs %{ship_hostname} %{args}'
61
62
  cmd_ship_container_login: 'bash'
62
63
  cmd_ship_docker: 'docker'
63
64
  cmd_ship_docker_check: 'docker --version'
64
- cmd_ship_project_follow_logs: 'pod --workdir /home/podman/takelship/compose/projects/%{project} podman-compose logs --follow'
65
- cmd_ship_project_start_docker_run_nonprivileged: '%{ship_docker} run --rm --interactive %{image} %{command}'
66
- cmd_ship_project_start_docker_run_privileged: '%{ship_docker} run --privileged --rm --detach --name %{ship_hostname} --hostname %{ship_hostname} %{ship_env} %{ports} --volume ./%{ship_data_dir}:/home/podman/takelship %{image} %{command}'
65
+ cmd_ship_project_start_docker_run_nonprivileged: '%{ship_docker} run --rm --interactive %{ship_run_args_nonprivileged} %{image} %{command}'
66
+ cmd_ship_project_start_docker_run_privileged: '%{ship_docker} run --privileged --rm --detach --name %{ship_hostname} --hostname %{ship_hostname} %{ship_env} %{ports} --volume %{project_root_dir}/%{ship_data_dir}:/home/podman/takelship %{ship_run_args_privileged} %{image} %{command}'
67
67
  cmd_ship_project_start_docker_stop: '%{ship_docker} stop %{ship_hostname}'
68
68
  docker_container_check_matrjoschka: 'true'
69
69
  docker_debug: 'ansible/roles/takel_takelage/files/takelscripts'
@@ -98,6 +98,8 @@ ship_name: 'takelship'
98
98
  ship_podman_localhost: '127.0.0.1'
99
99
  ship_port_expose_podman_socket: 'false'
100
100
  ship_repo: 'takelship'
101
+ ship_run_args_nonprivileged: ''
102
+ ship_run_args_privileged: ''
101
103
  ship_tag: 'latest'
102
104
  ship_takelship_yml: '%{pwd}/%{ship_data_dir}/compose/takelship.yml'
103
105
  ship_user: 'takelwerk'
@@ -4,7 +4,6 @@
4
4
  module DockerCheckDaemon
5
5
  # Backend method for docker check daemon.
6
6
  # @return [Boolean] is the docker daemon running?
7
- # rubocop:disable Metrics/MethodLength
8
7
  # rubocop:disable Metrics/AbcSize
9
8
  def docker_check_daemon(docker = 'cmd_docker', docker_check = 'cmd_docker_check')
10
9
  return false unless command_available_else_error? config.active[docker_check]
@@ -25,5 +24,4 @@ module DockerCheckDaemon
25
24
  true
26
25
  end
27
26
  # rubocop:enable Metrics/AbcSize
28
- # rubocop:enable Metrics/MethodLength
29
27
  end
@@ -11,7 +11,7 @@ module Takeltau
11
11
 
12
12
  def initialize(args = [], local_options = {}, configuration = {})
13
13
  # initialize thor parent class
14
- super args, local_options, configuration
14
+ super
15
15
 
16
16
  log.debug 'Check docker dameon for docker subcommand'
17
17
  exit false unless docker_check_daemon
@@ -28,10 +28,9 @@ module Takeltau
28
28
 
29
29
  # Initialize docker container
30
30
  # rubocop:disable Metrics/AbcSize
31
- # rubocop:disable Metrics/MethodLength
32
31
  def initialize(args = [], local_options = {}, configuration = {})
33
32
  # initialize thor parent class
34
- super args, local_options, configuration
33
+ super
35
34
 
36
35
  @docker_user = config.active['docker_user']
37
36
  @docker_repo = config.active['docker_repo']
@@ -50,7 +49,6 @@ module Takeltau
50
49
  @sshsock_container = config.active['mutagen_socket_path_ssh_container']
51
50
  @sshsock_host = config.active['mutagen_socket_path_ssh_host']
52
51
  end
53
- # rubocop:enable Metrics/MethodLength
54
52
  # rubocop:enable Metrics/AbcSize
55
53
 
56
54
  desc 'check [COMMAND]', 'Check docker container'
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # tau docker container lib
4
- # rubocop:disable Metrics/ModuleLength
5
4
  # rubocop:disable Style/IfUnlessModifier
6
5
  module DockerContainerLib
7
6
  private
@@ -97,7 +96,7 @@ module DockerContainerLib
97
96
  entrypoint_options: config.active['docker_entrypoint_options'],
98
97
  extra: config.active['docker_entrypoint_extra'],
99
98
  gid: Etc.getpwnam(@username).gid,
100
- homedir: ENV['HOME'] || '/tmp',
99
+ homedir: Dir.home || '/tmp',
101
100
  image: image,
102
101
  shmsize: config.active['docker_shm_size'],
103
102
  timezone: 'Europe/Berlin',
@@ -188,7 +187,7 @@ module DockerContainerLib
188
187
  # Get the mounted takelage directory
189
188
  def _docker_container_lib_get_mounted_dir(name, destination, docker)
190
189
  log.debug 'Getting mounted directory from ' \
191
- "container \"#{name}\""
190
+ "container \"#{name}\""
192
191
 
193
192
  cmd_get_mounted_dir = format(
194
193
  config.active['cmd_docker_container_get_mounted_dir'],
@@ -201,4 +200,3 @@ module DockerContainerLib
201
200
  end
202
201
  end
203
202
  # rubocop:enable Style/IfUnlessModifier
204
- # rubocop:enable Metrics/ModuleLength
@@ -12,8 +12,6 @@ module DockerContainerList
12
12
  private
13
13
 
14
14
  # Get the current inventory
15
- # rubocop:disable Metrics/AbcSize
16
- # rubocop:disable Metrics/MethodLength
17
15
  def _docker_container_list_get_inventory
18
16
  destination = '/project'
19
17
  docker = config.active['cmd_docker']
@@ -29,8 +27,6 @@ module DockerContainerList
29
27
  end
30
28
  inventory
31
29
  end
32
- # rubocop:enable Metrics/MethodLength
33
- # rubocop:enable Metrics/AbcSize
34
30
 
35
31
  # Create a new inventory
36
32
  def _docker_container_list_new_inventory
@@ -12,7 +12,7 @@ module Takeltau
12
12
  # Initialize takelage docker image
13
13
  def initialize(args = [], local_options = {}, configuration = {})
14
14
  # initialize thor parent class
15
- super args, local_options, configuration
15
+ super
16
16
 
17
17
  @docker_user = config.active['docker_user']
18
18
  @docker_repo = config.active['docker_repo']
@@ -23,7 +23,6 @@ module DockerImageTagCheck
23
23
  private
24
24
 
25
25
  # Check if image exists.
26
- # rubocop:disable Metrics/MethodLength
27
26
  def _docker_image_check_image?(image)
28
27
  cmd_docker_images =
29
28
  format(
@@ -39,5 +38,4 @@ module DockerImageTagCheck
39
38
 
40
39
  true
41
40
  end
42
- # rubocop:enable Metrics/MethodLength
43
41
  end
@@ -15,7 +15,7 @@ module Takeltau
15
15
  # Initialize takelage docker image tag check
16
16
  def initialize(args = [], local_options = {}, configuration = {})
17
17
  # initialize thor parent class
18
- super args, local_options, configuration
18
+ super
19
19
 
20
20
  @docker_user = config.active['docker_user']
21
21
  @docker_repo = config.active['docker_repo']
@@ -3,7 +3,6 @@
3
3
  # tau git lib
4
4
  module GitLib
5
5
  # Prepare git workspace.
6
- # rubocop:disable Metrics/MethodLength
7
6
  def git_lib_prepare_git_workspace
8
7
  log.debug 'Prepare git workspace'
9
8
 
@@ -24,7 +23,6 @@ module GitLib
24
23
  log.error 'Unable to pull git workspace'
25
24
  false
26
25
  end
27
- # rubocop:enable Metrics/MethodLength
28
26
 
29
27
  # Push git workspace.
30
28
  def git_lib_push_hg_dirs
@@ -4,7 +4,6 @@
4
4
  module InfoStatusBar
5
5
  # Backend method for info status bar.
6
6
  # @return [String] status info bar
7
- # rubocop:disable Metrics/MethodLength
8
7
  def info_status_bar
9
8
  log.debug 'Get status info bar'
10
9
 
@@ -24,7 +23,6 @@ module InfoStatusBar
24
23
  say @bar_list.join(' | ')
25
24
  @bar_status
26
25
  end
27
- # rubocop:enable Metrics/MethodLength
28
26
 
29
27
  private
30
28
 
@@ -25,12 +25,12 @@ module Takeltau
25
25
  # Initialize info status
26
26
  def initialize(args = [], local_options = {}, configuration = {})
27
27
  # initialize thor parent class
28
- super args, local_options, configuration
28
+ super
29
29
 
30
30
  @workdir = Dir.getwd
31
31
 
32
32
  inside = _docker_container_lib_check_matrjoschka
33
- @hostname = inside ? ENV['HOSTNAME'] : _docker_container_lib_hostname
33
+ @hostname = inside ? ENV.fetch('HOSTNAME', nil) : _docker_container_lib_hostname
34
34
  @hostlabel = "hostname=#{@hostname}"
35
35
  end
36
36
 
@@ -4,7 +4,6 @@
4
4
  module InfoStatusGopass
5
5
  # Backend method for info status gopass.
6
6
  # @return [Boolean] is gopass available?
7
- # rubocop:disable Metrics/MethodLength
8
7
  def info_status_gopass
9
8
  log.debug 'Check gopass status'
10
9
 
@@ -25,7 +24,6 @@ module InfoStatusGopass
25
24
  log.debug 'gopass is available'
26
25
  true
27
26
  end
28
- # rubocop:enable Metrics/MethodLength
29
27
 
30
28
  private
31
29
 
@@ -4,7 +4,6 @@
4
4
  module InfoStatusGPG
5
5
  # Backend method for info status gpg.
6
6
  # @return [Boolean] is GPG available?
7
- # rubocop:disable Metrics/MethodLength
8
7
  def info_status_gpg
9
8
  log.debug 'Check gpg status'
10
9
 
@@ -21,7 +20,6 @@ module InfoStatusGPG
21
20
  log.debug 'gpg is available'
22
21
  true
23
22
  end
24
- # rubocop:enable Metrics/MethodLength
25
23
 
26
24
  private
27
25
 
@@ -4,11 +4,10 @@
4
4
  module InfoStatusSSH
5
5
  # Backend method for info status ssh.
6
6
  # @return [Boolean] is ssh available?
7
- # rubocop:disable Metrics/MethodLength
8
7
  def info_status_ssh
9
8
  log.debug 'Check ssh status'
10
9
 
11
- ssh_auth_sock = ENV['SSH_AUTH_SOCK']
10
+ ssh_auth_sock = ENV.fetch('SSH_AUTH_SOCK', nil)
12
11
  gpg_ssh_socket = _info_status_ssh_socket_path.chomp
13
12
 
14
13
  unless ssh_auth_sock == gpg_ssh_socket
@@ -29,7 +28,6 @@ module InfoStatusSSH
29
28
  log.debug 'ssh is available'
30
29
  true
31
30
  end
32
- # rubocop:enable Metrics/MethodLength
33
31
 
34
32
  private
35
33
 
@@ -19,7 +19,7 @@ module Takeltau
19
19
  # rubocop:disable Metrics/MethodLength
20
20
  def initialize(args = [], local_options = {}, configuration = {})
21
21
  # initialize thor parent class
22
- super args, local_options, configuration
22
+ super
23
23
 
24
24
  @gitignore = {
25
25
  name: '.gitignore',
@@ -16,10 +16,9 @@ module Takeltau
16
16
  argument :name
17
17
 
18
18
  # Define templates
19
- # rubocop:disable Metrics/MethodLength
20
19
  def initialize(args = [], local_options = {}, configuration = {})
21
20
  # initialize thor parent class
22
- super args, local_options, configuration
21
+ super
23
22
 
24
23
  @gitignore = {
25
24
  name: '.gitignore',
@@ -38,7 +37,6 @@ module Takeltau
38
37
  template: '../templates/Rakefile.tt'
39
38
  }
40
39
  end
41
- # rubocop:enable Metrics/MethodLength
42
40
 
43
41
  # Provide template path for Thor:Actions
44
42
  def self.source_root
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # tau config module
4
- # rubocop:disable Metrics/ModuleLength
5
4
  module ConfigModule
6
5
  # tau config class.
7
6
  class TakeltauConfig
@@ -23,7 +22,7 @@ module ConfigModule
23
22
  # Initialize config
24
23
  # rubocop:disable Metrics/AbcSize
25
24
  def initialize_config(workdir)
26
- project_root_dir = _get_project_root_dir workdir
25
+ project_root_dir = File.expand_path _get_project_root_dir workdir
27
26
 
28
27
  log.debug "takelage version: #{Takeltau::VERSION}"
29
28
  log.debug "Current working directory: #{Dir.pwd}"
@@ -119,7 +118,6 @@ module ConfigModule
119
118
  end
120
119
 
121
120
  # Merge active config.
122
- # rubocop:disable Metrics/AbcSize
123
121
  def _config_merge_active
124
122
  # make a clone or else we'll change the original hash
125
123
  default = TakeltauConfig.instance.default.clone
@@ -133,12 +131,9 @@ module ConfigModule
133
131
  project_over_home = home.merge!(envvars_over_project)
134
132
  default.merge!(project_over_home).sort.to_h
135
133
  end
136
- # rubocop:enable Metrics/AbcSize
137
134
 
138
135
  # Get project root directory.
139
136
  # @return [String] project root directory
140
- # rubocop:disable Metrics/MethodLength
141
- # rubocop:disable Metrics/AbcSize
142
137
  def _get_project_root_dir(workdir)
143
138
  tau_workdir_root_dir = _get_workdir_root_dir workdir
144
139
  unless tau_workdir_root_dir.empty?
@@ -161,8 +156,6 @@ module ConfigModule
161
156
  log.debug "Setting root dir to current working dir \"#{Dir.pwd}\""
162
157
  Dir.pwd
163
158
  end
164
- # rubocop:enable Metrics/AbcSize
165
- # rubocop:enable Metrics/MethodLength
166
159
 
167
160
  # Return a command line workdir
168
161
  def _get_workdir_root_dir(workdir)
@@ -177,4 +170,3 @@ module ConfigModule
177
170
  path_rakefile
178
171
  end
179
172
  end
180
- # rubocop:enable Metrics/ModuleLength