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
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 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
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
Bruno Tavares
f09368268d
Properly mute grep error when adding files to profile.d
2014-02-20 17:48:13 -03:00
Bruno Tavares
ec1d130d07
Add info to some kickstart functions
2014-02-20 17:25:37 -03:00
Bruno Tavares
e4f5031d32
Fix create group command
2014-02-20 17:12:23 -03:00
Bruno Tavares
e5ab920485
Add context information to info and commands
2014-02-20 17:11:52 -03:00
Bruno Tavares
d3b46b912d
Introduce baseline infect
2014-02-20 16:53:59 -03:00
Bruno Tavares
8f9187f034
Ignore compile folder on create project
2014-02-20 15:06:18 -03:00
Bruno Tavares
4229923661
Introduce kickstart help and commands
2014-02-20 13:28:28 -03:00
Bruno Tavares
aae2eb2f41
Introduce kickstart local
2014-02-20 13:24:40 -03:00
Bruno Tavares
092e48e3fd
Introduce kickstart root-dir
...
The root-dir is important to know so we can include the kickstart as a
module on compile, so projects can access the kickstart utilities on
their recipes
2014-02-20 13:21:15 -03:00
Bruno Tavares
32e708710b
Introduce kickstart create
2014-02-20 13:20:31 -03:00
Bruno Tavares
fcfd9c516e
Introduce kickstart deploy
2014-02-20 13:19:43 -03:00
Bruno Tavares
a833d374d1
Introduce kickstart compile command
2014-02-20 12:53:48 -03:00
Bruno Tavares
c4379c5baf
Kickstart helper modules to be used on recipes
2014-02-20 12:50:49 -03:00
Bruno Tavares
749fbae08c
Docker utilities to try out recipes and the commands
2014-02-20 12:49:57 -03:00
Bruno Tavares
ce2ac5e848
Add create command
2014-02-19 20:26:18 -03:00
Bruno Tavares
db2cd4a4e3
Add kickstart binary command with instalation instructions
2014-02-19 20:25:41 -03:00
Bruno Tavares
88d24a4937
Initial commit
2014-02-18 12:24:31 -03:00