Commit Graph

136 Commits

Author SHA1 Message Date
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
Bruno Tavares
b5d257793f Follow redirects when downloading with curl 2014-03-17 15:09:11 -03:00
Bruno Tavares
3382c92952 Adds templating options to stream and file 2014-03-14 14:51:44 -03:00
Bruno Tavares
27c4ce0aa0 Add informations to the .deb package 2014-03-07 09:19:39 -03:00
Bruno Lara Tavares
4420a365f5 Update README.md 2014-03-07 00:44:02 -03:00
Bruno Tavares
1b15df2ce9 Update about autocompletion setup 2014-03-07 00:40:35 -03:00
Bruno Tavares
501f82e68b Inform about online documentation. Closes #1 2014-03-07 00:40:22 -03:00
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