Commit Graph

67 Commits

Author SHA1 Message Date
Bruno Tavares
6328b54a8b Add packagin instructions 2014-03-07 00:34:30 -03:00
Bruno Tavares
dce2bb2a81 Homebrew install instructions 2014-03-06 21:49:37 -03:00
Bruno Tavares
5f8b15ae27 Update docs index 2014-03-06 20:11:33 -03:00
Bruno Tavares
07dad25ec4 Make kickstart.user.exec work on clients using module
The kickstart.user.exec function was using the `kickstart infect`
command, which works on clients with kickstart installed (which is the
    case for `kickstart infect`ed terminals or baseline).
This change will lookup for the client existance and use it, or use the
compiled module.
2014-03-06 19:28:53 -03:00
Bruno Tavares
44169e4f86 Unmute muted commands on debugging 2014-03-05 07:51:16 -03:00
Bruno Tavares
cafc7b1d93 Extract kickstart.package.installed functions for each package manager 2014-03-03 19:18:26 -03:00
Bruno Tavares
5f420e6f24 Introduce kickstart.user.exec 2014-03-03 11:10:03 -03:00
Bruno Tavares
8216d790fa Make kickstart.package.installed return the status
Using `&&` was making the command only return when all the packages were
installed.
2014-03-03 11:00:39 -03:00
Bruno Tavares
14c2e2aa83 Make kickstart infect go back to the current folder 2014-03-03 10:59:52 -03:00
Bruno Tavares
cb7507e5e6 Quote arguments for kickstart.file.contains and
kickstart.stream.contains

Even when quoting like `kickstart.stream.contains 'debian 5.0'` it would
not work properly.

It will now.
2014-03-03 10:54:35 -03:00
Bruno Tavares
43ec3c569e Use release files to identify distro
Docker can run a different distro from the host. For example, Ubuntu
host with CentOS docker image.

The container uses the same kernel as the host tho. On a CentOS
container under Ubuntu, `uname -a` will report it to be an Ubuntu
kernel.

Linux distros comes with configuration files under `/etc` that helps
identify the family it is. An example of configuration files to help
identify is on http://linuxmafia.com/faq/Admin/release-files.html
2014-03-02 20:17:47 -03:00
Bruno Tavares
e0ef543f92 Add kickstart to PATH under ~/.bash_profile to work with systems that does not use ~/.bashrc by default 2014-03-02 20:13:57 -03:00
Bruno Tavares
02cc6bcbf9 Add yum support to kickstart.package functions
Yum only supports passing one package to check its info.
Other package managers allow you to have several packages name, and
return non-zero whenever one is not installed.

To have the same behaviour on yum, we iterate over the list until we
find one that is not installed.
2014-03-02 20:11:31 -03:00
Bruno Tavares
c9633bb7b9 Add support for using different docker images
The part of trying out scripts involve creating a docker container with
ssh and running some projects and functions on it.

This change allows to define the docker image name to be used with the
docker-* functions.
2014-03-02 20:09:25 -03:00
Bruno Tavares
56bf615b34 Introduce kickstart.stream.contains and kickstart.file.contains
The kickstart.stream.contains and kickstart.file.contains wraps the code
for checking for a string.
2014-02-27 14:55:29 -03:00
Bruno Tavares
3635cab96b Migrate kickstart.codename into kickstart.os namespace 2014-02-27 10:48:55 -03:00
Bruno Tavares
36a1a1a04e Migrate kickstart.os functions to its own file 2014-02-27 10:48:23 -03:00
Bruno Tavares
f3aae7bd7b Remove unquote for mute 2014-02-25 14:52:51 -03:00
Bruno Tavares
bd14b8d5a8 Anotate documentation with bash codeblocks 2014-02-24 11:02:57 -03:00
Bruno Tavares
b646c6cc20 Update function index 2014-02-24 11:02:34 -03:00
Bruno Tavares
5096abefac Support for loading recipes and roles from modules
Modules are located under `modules` folder. They will be copied on
deploy as well.

An example structure:

```
sample
├── files
├── install.sh
├── modules
│   └── another
│       ├── files
│       ├── install.sh
│       ├── README.md
│       ├── recipes
│       └── roles
│           └── web.sh
├── README.md
├── recipes
└── roles
```

Roles and recipes will be available for your project to access it with
the commited functions
2014-02-23 13:23:25 -03:00
Bruno Tavares
e60e0bbebf Fix module loading logic
Modules are located on the `modules` folder on the project.
By default, kickstart will put itself on the `compile/modules/kickstart`
before any folder is linked there as well. This give the possibility of
overriding which kickstart project will be deployed with you.

Kickstart is treated as an special folder, given that the projects
requires its functions. So, it is loaded before all of the modules, and
skiped looping over the `modules` folder.
2014-02-23 12:48:33 -03:00
Bruno Tavares
e08395a0ea Add docker container that comes with kickstart installed 2014-02-23 12:25:01 -03:00
Bruno Tavares
04f7cb0c61 Remove typo on instructions to install kickstart 2014-02-23 12:24:06 -03:00
Bruno Tavares
1b7edd0b1c Return the result of the kickstart.package.install or just skip when already installed 2014-02-22 16:48:45 -03:00
Bruno Tavares
d4ad417027 Add kickstart.user functions 2014-02-22 16:48:09 -03:00
Bruno Tavares
7ca421e645 Add information about kickstart-baseline as sample project 2014-02-22 12:37:59 -03:00
Bruno Tavares
60a6a0b29f Add index to the documentation 2014-02-21 22:10:17 -03:00
Bruno Tavares
54a0491eac Add information about linking and sudo 2014-02-21 21:28:52 -03:00
Bruno Tavares
b783772864 Add support to send password on deploy 2014-02-21 21:27:32 -03:00
Bruno Tavares
57b73e88fd Add support to debug 2014-02-21 21:14:39 -03:00
Bruno Tavares
c908d00703 Add autocomplete 2014-02-21 19:43:24 -03:00
Bruno Tavares
460fdd57f8 Add doc function 2014-02-21 19:30:18 -03:00
Bruno Tavares
246ae7051e Add remaining documentation for kickstart functions 2014-02-21 19:29:57 -03:00
Bruno Tavares
7ef54c4f5d Better error description when there is not possible download application 2014-02-21 18:04:39 -03:00
Bruno Tavares
26e3dac192 Documentation for kickstart namespace commands 2014-02-21 18:04:19 -03:00
Bruno Tavares
424a7166df Introduce kickstart bootstrap 2014-02-21 17:00:16 -03:00
Bruno Tavares
b848aa5799 Add function to create a user with default password if it does not exist 2014-02-21 16:39:09 -03:00
Bruno Tavares
00f52c7336 Remove debugging from create 2014-02-21 16:08:19 -03:00
Bruno Tavares
b30b745509 Suggest use of docker-ssh when create 2014-02-21 16:02:39 -03:00
Bruno Tavares
47e692b57f Support running with sudo 2014-02-21 15:59:46 -03:00
Bruno Tavares
f599567230 Remove reference to old command 2014-02-21 15:50:53 -03:00
Bruno Tavares
7b7ddef868 Create kickstart.file.link that will make sure a location is a link 2014-02-21 15:31:14 -03:00
Bruno Tavares
e6ba63f470 Remove yum support. I didn't test on it yet 2014-02-21 15:17:22 -03:00
Bruno Tavares
0535568078 Make curl silent 2014-02-21 15:12:33 -03:00
Bruno Tavares
0cd91a63a7 Remove update and upgrade from apt in favour of kickstart.package ones 2014-02-21 15:12:20 -03:00
Bruno Tavares
ffe0b8f65b Add profile support for mac 2014-02-21 15:11:59 -03:00
Bruno Tavares
840a410ff2 Add a better way to check if the current target is an specific OS 2014-02-21 15:11:24 -03:00
Bruno Tavares
dcebd553ab Add support to brew 2014-02-21 15:10:49 -03:00
Bruno Tavares
71c881ee96 Function to check for command existence 2014-02-20 17:53:37 -03:00