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.
- checksums.yaml +4 -4
- data/README.md +106 -97
- data/lib/takeltau/default.yml +5 -3
- data/lib/takeltau/docker/check/daemon.rb +0 -2
- data/lib/takeltau/docker/cli.rb +1 -1
- data/lib/takeltau/docker/container/cli.rb +1 -3
- data/lib/takeltau/docker/container/lib.rb +2 -4
- data/lib/takeltau/docker/container/list.rb +0 -4
- data/lib/takeltau/docker/image/cli.rb +1 -1
- data/lib/takeltau/docker/image/tag/check.rb +0 -2
- data/lib/takeltau/docker/image/tag/cli.rb +1 -1
- data/lib/takeltau/git/lib.rb +0 -2
- data/lib/takeltau/info/status/bar.rb +0 -2
- data/lib/takeltau/info/status/cli.rb +2 -2
- data/lib/takeltau/info/status/gopass.rb +0 -2
- data/lib/takeltau/info/status/gpg.rb +0 -2
- data/lib/takeltau/info/status/ssh.rb +1 -3
- data/lib/takeltau/init/packer/cli.rb +1 -1
- data/lib/takeltau/init/takelage/cli.rb +1 -3
- data/lib/takeltau/lib/config.rb +1 -9
- data/lib/takeltau/lib/logging.rb +2 -2
- data/lib/takeltau/lib/project.rb +2 -2
- data/lib/takeltau/lib/subcmd.rb +2 -0
- data/lib/takeltau/lib/system.rb +36 -26
- data/lib/takeltau/mutagen/check/cli.rb +2 -2
- data/lib/takeltau/mutagen/check/daemon.rb +1 -5
- data/lib/takeltau/mutagen/cli.rb +1 -1
- data/lib/takeltau/mutagen/socket/cli.rb +2 -2
- data/lib/takeltau/mutagen/socket/create.rb +1 -5
- data/lib/takeltau/mutagen/socket/docker.rb +1 -3
- data/lib/takeltau/self/commands.rb +3 -3
- data/lib/takeltau/ship/cli.rb +31 -20
- data/lib/takeltau/ship/completion/bash.rb +3 -4
- data/lib/takeltau/ship/container/clean.rb +0 -2
- data/lib/takeltau/ship/container/cli.rb +14 -0
- data/lib/takeltau/ship/container/lib.rb +11 -4
- data/lib/takeltau/ship/container/logs.rb +29 -0
- data/lib/takeltau/ship/ports/lib.rb +0 -6
- data/lib/takeltau/ship/project/cli.rb +37 -8
- data/lib/takeltau/ship/project/create.rb +21 -0
- data/lib/takeltau/ship/project/start.rb +0 -12
- data/lib/takeltau/version +1 -1
- data/lib/takeltau.rb +3 -2
- metadata +4 -2
- data/lib/takeltau/ship/project/logs.rb +0 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 427008d91f93e07b7dec06006e7dfc9135fcc9377d7f822c49400372b3b23698
|
4
|
+
data.tar.gz: f0e3ba0704330cd2d9770016a17ead7b1cbdf4ca2cd54f6814532e4df4753e4a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
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
|
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
|
125
|
-
tau [ship container
|
126
|
-
tau [ship container
|
127
|
-
tau [ship container
|
128
|
-
tau [ship
|
129
|
-
tau [ship info
|
130
|
-
tau [ship
|
131
|
-
tau [ship project
|
132
|
-
tau [ship project
|
133
|
-
tau [ship project
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
tau ship
|
138
|
-
tau ship
|
139
|
-
tau ship
|
140
|
-
tau ship
|
141
|
-
tau ship
|
142
|
-
tau ship
|
143
|
-
tau ship
|
144
|
-
tau ship
|
145
|
-
tau ship
|
146
|
-
tau ship
|
147
|
-
tau
|
148
|
-
tau
|
149
|
-
tau
|
150
|
-
tau
|
151
|
-
tau
|
152
|
-
tau
|
153
|
-
tau
|
154
|
-
tau
|
155
|
-
tau
|
156
|
-
tau
|
157
|
-
tau
|
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
|
-
|
274
|
-
|
275
|
-
|
282
|
+
"insecure-registries": [
|
283
|
+
"host.docker.internal:5005"
|
284
|
+
]
|
276
285
|
}
|
277
286
|
```
|
data/lib/takeltau/default.yml
CHANGED
@@ -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
|
-
|
65
|
-
|
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
|
data/lib/takeltau/docker/cli.rb
CHANGED
@@ -11,7 +11,7 @@ module Takeltau
|
|
11
11
|
|
12
12
|
def initialize(args = [], local_options = {}, configuration = {})
|
13
13
|
# initialize thor parent class
|
14
|
-
super
|
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
|
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:
|
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
|
-
|
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
|
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
|
18
|
+
super
|
19
19
|
|
20
20
|
@docker_user = config.active['docker_user']
|
21
21
|
@docker_repo = config.active['docker_repo']
|
data/lib/takeltau/git/lib.rb
CHANGED
@@ -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
|
28
|
+
super
|
29
29
|
|
30
30
|
@workdir = Dir.getwd
|
31
31
|
|
32
32
|
inside = _docker_container_lib_check_matrjoschka
|
33
|
-
@hostname = inside ? ENV
|
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
|
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
|
|
@@ -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
|
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
|
data/lib/takeltau/lib/config.rb
CHANGED
@@ -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
|