Commit Graph

123 Commits

Author SHA1 Message Date
Bruno Tavares
790f5b41ee Improves the logic around ppa addition
kickstart will check if the ppa has already been added and only update
the package cache the first time it is added. Further updates must be
handled by hand.

It also installs the required packages to manage the ppa over command
line if it is not present yet.
2015-09-27 13:20:33 -03:00
Bruno Tavares
caa3a7378b Allocates a tty when deploying to allow full fledge interaction
To have some interactions on the script we need to allocate a tty. This
adds a pseudo-tty to the ssh session.

This enables `read -s` on deployment scripts.
2015-09-26 23:44:25 -03:00
Bruno Tavares
a7daca90dd Fix prompt when executing the deployment with the password
`sudo -S` reads the password from stdin. The way it was it was executing
the deploy script with the password as the stdin of the pipe.

Now, when password is passed as an argument we aquire a sudo session
executing a command that always work and then prefixing the installation
with sudo.
2015-09-26 23:35:05 -03:00
Bruno Tavares
41cf8f98bf Allows deployment scripts to be interactive
Previously, because we were piping the compiled script blob over ssh to
decompress over there without creating an intermediated bundled file, we
were allocating the stdin of the ssh session to have the read from the
pipe.

This blocked the allocation of the /dev/tty over the session and
prevented users to interact with the script. We would like some of the
interactions to work, like prompting for a confirmation or typing a
password.

To fix this, the deployment process was split in two steps. The first
step still receives the bundled file over a pipe, decompresses it on a
temprary folder, and outputs the location of the deployment folder.

We grab this output to feed on the second step, which has a script to go
to the deployment folder and start the execution.

Now, roles can make use of read, as well as sudo with password.
2015-09-26 22:36:18 -03:00
Bruno Tavares
aafa6df1b7 Adds a command alias: create could also be called init 2015-09-26 15:51:49 -03:00
Bruno Tavares
2dbf3a59f3 Enables zsh autocompletion 2015-09-26 01:10:33 -03:00
Bruno Tavares
39e15e70a4 Fixes bash tab-completion 2015-09-26 01:00:17 -03:00
Bruno Tavares
d157180b92 Ensures that we execute the bootstraping using bash 2015-09-26 00:52:37 -03:00
Bruno Tavares
c68cbaeee8 Ensures that we execute the deployment using bash 2015-09-26 00:51:33 -03:00
Bruno Tavares
6149a4a8e1 Wraps deploy script execution on to prevent partial execution if it is terminated before finished transfering 2015-09-26 00:51:19 -03:00
Bruno Tavares
c3fcd798c3 Uses literal heredoc when compiling the module loading script to reduce escapings 2015-09-26 00:46:57 -03:00
Bruno Tavares
181f40fabb Renames variable on bootstrap script to not confuse with deployment host target. Also, prevents escaping of variables on the script to use literal $ 2015-09-26 00:42:53 -03:00
Bruno Tavares
0c7f0fe389 Unquote to let word splitting happens and pass the information to ssh. Bug introduced when cleaning up linting warnings. 2015-09-26 00:39:52 -03:00
Bruno Tavares
87060cbc94 Small nit detail 2015-09-26 00:35:28 -03:00
Bruno Tavares
d6da54c7ee Fixes container lookup not being able to find a container running for specific image.
docker ps does not receive any more arguments and we have to filter by image ourselves
2015-09-26 00:35:09 -03:00
Bruno Tavares
b09cdfc3e4 Fixes error when looking up documentation introduced when cleaning up lint errors 2015-09-26 00:32:39 -03:00
Bruno Tavares
f516cc2dac Renames variable on deployment script to not confuse with deployment host target 2015-09-26 00:32:34 -03:00
Bruno Lara Tavares
f3229ab566 Merge pull request #5 from rogeriochaves/patch-3
Remove double quotes from ssh target
2015-09-25 23:47:39 -03:00
Rogério Chaves
7cff074e95 Remove double quotes from ssh target 2015-09-25 20:12:01 -03:00
Bruno Lara Tavares
583bfa13db Merge pull request #4 from rogeriochaves/patch-2
Remove whitespace from the begining of templates
2015-09-25 11:56:11 -03:00
Rogério Chaves
f765cf05b2 Remove whitespace from the begining of templates 2015-09-25 09:37:59 -03:00
Bruno Lara Tavares
a1c5a34269 Merge pull request #3 from rogeriochaves/patch-1
Use head option in uppercase
2015-09-25 08:43:37 -03:00
Rogério Chaves
c5ebdb374b Use head option in uppercase 2015-09-25 00:49:36 -03:00
Bruno Tavares
08a4e1ac77 Reports the deployment execution status 2015-06-26 12:14:22 -03:00
Bruno Lara Tavares
0860d143e1 Merge pull request #2 from mindyor/patch-1
typo
2015-06-04 16:19:31 +02:00
mindyor
819217fd17 typo 2015-06-04 11:06:05 -03:00
Bruno Tavares
62a482c062 Updates documentation file with make 2015-05-24 00:09:52 -03:00
Bruno Tavares
421148456f Removes question marks from functions and update minor bash bugs 2015-05-23 23:39:39 -03:00
Bruno Tavares
eb501d3b93 Fixes service functions return code 2015-05-23 23:38:36 -03:00
Bruno Tavares
9fd8dcbca0 Lints the completion command 2015-05-20 17:21:27 -03:00
Bruno Tavares
25069f4877 Lints the executable scripts 2015-05-20 17:16:16 -03:00
Bruno Tavares
7a85a95a54 Lints the code using shellcheck 2015-05-20 16:08:45 -03:00
Bruno Tavares
e1bf0b113c Creates two user utility functions 2015-05-16 18:21:29 -03:00
Bruno Tavares
41f1fb4da8 Execute commands without login in so you can execute commands as nobody 2015-05-03 18:12:15 -03:00
Bruno Tavares
f7a19affc5 Add support for systemd services 2015-04-25 12:40:03 -03:00
Bruno Tavares
6fd8d5bd8f Fix templating with quotes and comments 2014-03-31 16:30:55 -03:00
Bruno Tavares
6d1ebff3d5 Create make install 2014-03-20 19:06:30 -03:00
Bruno Tavares
14146b2f54 Add information about arch container support 2014-03-20 18:38:56 -03:00
Bruno Tavares
07f5059cc6 Bootstrap on a temp folder like deploy 2014-03-20 18:37:51 -03:00
Bruno Tavares
d8ba5cbb59 package upgrade and update for pacman 2014-03-20 18:37:21 -03:00
Bruno Tavares
884a7fd143 Add pacman and Arch reporting 2014-03-20 18:21:45 -03:00
Bruno Tavares
0f0ba26f8e Move each package operation into a file.
This change will accomodate better new package managers
2014-03-20 18:21:22 -03:00
Bruno Tavares
d178098b44 Only load .sh recipes.
This is a preparation for moving each package operation into its own file.
2014-03-20 18:19:55 -03:00
Bruno Tavares
fd524e0116 Add ? to kickstart.debugging 2014-03-20 13:47:29 -03:00
Bruno Tavares
9ee05e6933 Add kickstart.user.root? 2014-03-19 19:55:26 -03:00
Bruno Tavares
5bdabf6556 Deploy kickstart on a tmp folder 2014-03-19 18:23:28 -03:00
Bruno Tavares
d3e22282b6 Default to help when no command is passed in 2014-03-19 12:32:35 -03:00
Bruno Tavares
ac1009f77a Add commands with - to the output 2014-03-17 18:23:04 -03:00
Bruno Tavares
16cc760538 Add better error message. It was confusing that kickstart was not installed 2014-03-17 18:22:48 -03:00
Bruno Tavares
13a79986ea Remove user and OS dependency for figuring out the profile paths 2014-03-17 15:09:41 -03:00