Commit Graph

199 Commits

Author SHA1 Message Date
Denis Gukov
e7e807bc51 feat(be): build versioning 2021-10-13 00:43:15 +05:00
Loïc Tosser
a59a0ed99f Secure Mail sender 2021-09-22 08:01:53 +04:00
Loïc Tosser
942aa537f5 Secure Email 2021-09-22 07:43:19 +04:00
Denis Gukov
d4dd2052bb refactor(be): rename column vault_pass_id to vault_key_id 2021-09-17 02:20:59 +05:00
Denis Gukov
1d46aa72a8 test(be): fix access key tests 2021-09-13 18:22:08 +05:00
Denis Gukov
749291a690 feat(be): pass ansible_user/password to ansible-playbook via file 2021-09-12 03:18:26 +05:00
Denis Gukov
b771068369 feat(be): ignore known hosts file 2021-09-11 02:54:35 +05:00
Denis Gukov
2c9bc5ba0f fix(be): add \n to end of private key 2021-09-10 23:48:23 +05:00
Denis Gukov
f207aa6bff feat(be): change error message for access key decryption 2021-09-10 03:41:36 +05:00
Denis Gukov
0b5998274d refactor(be): remove schedule global variable 2021-09-06 17:01:38 +05:00
Denis Gukov
6eeb6706d4 feat: add schedule functionality 2021-09-06 16:05:10 +05:00
Jason Cameron
89e64fcbcc forcing local repo checks for 'file://' prefixed repositories 2021-09-02 08:57:46 -05:00
Denis Gukov
ecf8331e57 fix(style): pass linter 2021-09-02 02:22:31 +05:00
Denis Gukov
efe6c02793 feat: support vault pass file and ansible user login / password in inventory 2021-09-02 02:14:32 +05:00
Denis Gukov
3e223e2359 fix(be): don't return error when tring install non-ssh key 2021-09-01 23:11:24 +05:00
Denis Gukov
6194fb6036 refactor(be): use method instead of string statement 2021-09-01 21:18:49 +05:00
Denis Gukov
53e15d7bb2 fix(be): requirements path 2021-09-01 21:14:52 +05:00
Denis Gukov
aa6cb856b7 feat: add password file for Access Key 2021-09-01 19:38:28 +05:00
Denis Gukov
290c876045 feat(ui): add help 2021-08-31 17:27:33 +05:00
Denis Gukov
64b5dea6fa feat(ui): add help 2021-08-31 17:03:52 +05:00
Denis Gukov
e991800693 feat: removed public key. fix: encrypt private key for new access key 2021-08-31 10:47:19 +05:00
Denis Gukov
7443671059 feat(be): add access key encryption 2021-08-31 04:02:41 +05:00
Denis Gukov
ab098b8b82 fix(be): checking error by nil before log it 2021-08-31 03:15:00 +05:00
Denis Gukov
c1c8a9ebf9 feat(be): use chan for storing logs to database 2021-08-31 03:12:33 +05:00
Denis Gukov
21c14d82dc feat(be): use separate repository for each task template 2021-08-31 01:55:46 +05:00
Denis Gukov
974f3066e5 feat(be): stopping hung tasks 2021-08-31 00:42:11 +05:00
Denis Gukov
c6a02a81fe fix(be): handing empty forign column name 2021-08-30 21:04:18 +05:00
Denis Gukov
92895f9f3c refactor(be): remove unused columns 2021-08-30 19:24:20 +05:00
Denis Gukov
633c5936b2 feat: stop task button 2021-08-25 20:46:40 +05:00
Denis Gukov
d269a53625 feat(be): add user id to activity log 2021-08-20 11:28:50 +05:00
Denis Gukov
2b8a942e33 fix(be): remove boltdb user 2021-05-17 02:44:42 +05:00
Denis Gukov
d21b32fe6c refactor(be): remove method fetch, use Store instaed of it 2021-05-06 13:34:44 +05:00
derks.patrick
a1d39652c1 change log for missing requirements file in roles directory 2021-04-15 18:51:44 +02:00
derks.patrick
ea1640c6a9 add dependency for md5 hash func. Refactor imports 2021-04-15 18:45:00 +02:00
derks.patrick
6481d95cc6 use hasrequirementsChanges check for galaxy run 2021-04-15 18:42:47 +02:00
derks.patrick
64d53abd61 added function to write requirement hash to file 2021-04-15 18:39:36 +02:00
derks.patrick
50236966d0 add function for checking requirements changes 2021-04-15 18:39:19 +02:00
derks.patrick
3a3450d85c Check in install requirements for the file and log if not exists 2021-04-15 18:07:49 +02:00
derks.patrick
ceea57351a move galaxy run commands to func. Remove -p for collection
The parameter -p doesnt work with collections, it simply skip any collection
2021-04-15 18:06:22 +02:00
Denis Gukov
696353ffdf feat(be): init boltdb 2021-04-10 02:02:35 +05:00
Denis Gukov
779760d6aa fix(be): lint 2021-03-13 01:30:17 +05:00
Denis Gukov
ac2132f290 fix(ci): capabilities 2021-03-13 01:20:18 +05:00
Denis Gukov
d0392485eb feat: migrate logging to Store 2021-03-12 22:41:41 +05:00
Denis Gukov
d10b421538 refactor(be): split SqlDb to several files 2020-12-20 23:00:59 +05:00
Denis Gukov
d32f35f2ec refactor(be): events via Store 2020-12-17 01:57:54 +05:00
Denis Gukov
fd1d42782b refactor(be): return models to db package 2020-12-05 14:13:43 +05:00
Denis Gukov
1295435f18 test(be): fix dredd tests 2020-12-05 03:26:24 +05:00
Denis Gukov
6e1a6d20ca refactor(be): template and environment endpoints use Store
Rename util to helpers
Bind returns bool instead of error
2020-12-04 13:46:02 +05:00
Denis Gukov
0d64b43f18 refactor(be): move util.go to api directory 2020-12-04 13:46:02 +05:00
Denis Gukov
b083f74322 fix(be): delete global Mysql variable and add interface Store for dialect-independent communication with database. 2020-12-04 13:46:02 +05:00
Denis Gukov
d09fc1d26c feat(be): support sqlite 2020-12-01 21:37:29 +05:00
Denis Gukov
6263dfbdbc fix(be): galaxy args order 2020-11-21 01:50:07 +05:00
Denis Gukov
7b7ae01add fix(be): run galaxy install for collections
Issue: https://github.com/ansible-semaphore/semaphore/issues/620
2020-11-21 01:48:25 +05:00
Denis Gukov
ff82c40d23 feat(api): list tasks for template 2020-11-02 15:57:46 +05:00
Stanislav Simovski
5ccae272d4 Remove mulekick, move functions to util 2019-07-09 20:45:27 +03:00
Stanislav Simovski
ab5927427d Remove mulekick router, use mux directly
Revert one more commit
2019-07-09 20:39:18 +03:00
Stanislav Simovski
09a2b31eb3 mux != Koa, undo refactor before it gets worse 2019-07-09 19:11:01 +03:00
Stanislav Simovski
bb97b8d757 Execute next middleware in stack only if present 2019-07-09 18:55:42 +03:00
Stanislav Simovski
23d65ba0c2 Refactored all routes to use native mux Middelware 2019-07-09 16:07:16 +03:00
Stanislav Simovski
23fdc8550b Set version on windows taskfile
It doesn't otherwise build on windows since by default it's `1`:
```powershell
Taskfiles versions should match. First is "2" but second is "1"
```

backup
2019-07-09 16:07:10 +03:00
Matej Kramny
d5f8335f2a fix dependency 2019-07-09 10:36:20 +08:00
dahyung-kwon
5d1ac1241e Add task.arguments value to getPlaybookArgs() method. 2018-09-11 20:49:03 +09:00
Anton Markelov
cd30536a85 make semaphore less panic 2018-06-14 16:20:16 +10:00
Anton Markelov
b60213aa88 remove task from queue if it failed (on prepare step) 2018-06-08 18:29:12 +10:00
Anton Markelov
a817d2d127 add requested changes, add some logging 2018-06-08 13:09:13 +10:00
Anton Markelov
087acb8ed4 remove collisions on prepareTask stage 2018-06-07 17:29:55 +10:00
tom whiston
17fa7bb407 add gometalinter to tools and run it in circle.
extract some error checking and logging in places where linting needed or errors not checked
2018-04-05 21:24:19 +00:00
Tom Whiston
79c1f4f5ab
Merge pull request #502 from UnitedTraders/495-better-feedback
Add stderr for `list-hosts` output
2018-03-20 02:01:17 +01:00
Anton Markelov
9474aac833 remove unused variable 2018-03-20 10:12:43 +10:00
Anton Markelov
bb2946ddee fixes after codacy review 2018-03-16 12:00:14 +10:00
Anton Markelov
52aee98395 add stderr for list-hosts output 2018-03-16 11:26:25 +10:00
Tom Whiston
2e642591f2 fix codacy issues 2018-03-15 00:52:37 +01:00
Tom Whiston
2ce4f0ebf1 Merge branch 'develop' into cmd_environment_vars
# Conflicts:
#	api/tasks/runner.go
2018-03-15 00:49:40 +01:00
Denis
7263101be0 Use npm instead of submodule. Split public to web/public & web/resources
Fix build under Windows

Remove htmls from pug directory

Move package.json to web directory

Remove OS type checking from test

Fix builder.js codestyle

Remove Taskfile_windows.yml
2018-03-13 12:23:20 +05:00
Tom Whiston
88647c887c
Merge pull request #436 from vyulabs/file_inventory
Add "file" type for inventory
2018-03-08 23:51:36 +01:00
Tom Whiston
43abd774bc better permissions 2018-02-28 10:02:54 +01:00
Tom Whiston
a2c207c6d9 Merge branch 'develop' into create_tmp_dir 2018-02-28 09:10:20 +01:00
Tom Whiston
0fceedbd48
Merge pull request #405 from UnitedTraders/198-nonpriv-user
Add non-privileged user role
2018-02-27 20:54:43 +01:00
Tom Whiston
a6699ffd6f
Merge pull request #449 from twhiston/fix_stdin_hang
Fix stdIn hanging issue
2018-02-27 20:53:19 +01:00
Tom Whiston
0e0bef5129
Merge pull request #442 from UnitedTraders/441-crash-after-new-role
Fix crash when new role added to requirements
2018-02-27 20:52:52 +01:00
Tom Whiston
000bfecab4
Merge pull request #395 from UnitedTraders/393-big-output
Use bufio.Reader instead of bufio.Scanner for task logging
2018-02-27 20:50:11 +01:00
Anton Markelov
10f2b4b413 another minor grammar fixes 2018-02-20 10:12:19 +10:00
Anton Markelov
910c8bc4e9 another minor fixes after review 2018-02-19 08:49:40 +10:00
Anton Markelov
5e26bfb92c fix for https://github.com/ansible-semaphore/semaphore/issues/158 2018-02-17 09:52:08 +10:00
Tom Whiston
99d5f201fa make default permissions more open to keep tmp folders happy. Fix include error 2018-02-15 21:53:36 +01:00
Tom Whiston
8aeaf7507c Adds check for tmp dir and create if missing
also test for function
2018-02-15 21:29:16 +01:00
Tom Whiston
7a7b5972d8 Add environment key ENV
This adds the optional key ENV to the environment that allows you to pass command execution level arguments to the run
2018-02-14 15:54:14 +01:00
Tom Whiston
7982c2cdb5 fixes issue where ansible asking for user entry could case semaphore to hang completely 2018-02-05 19:51:14 +01:00
Anton Markelov
10ade65f62 Fix crash when new role added to requirements 2017-11-22 11:45:01 +10:00
Denis Gukov
472aa30d61 feat: add File type of Inventory 2017-10-26 12:33:03 +05:00
Matej Kramny
f48c7fa8c2 Merge pull request #402 from strangeman/367-limit-activity-list
Limit activity and tasks lists in dashboards
2017-08-19 10:08:12 +01:00
Matej Kramny
56f22f9673
gofmt 2017-08-19 09:45:01 +01:00
Anton Markelov
df8933be32 limit tasks list on project dashboard 2017-07-25 14:44:09 +10:00
Anton Markelov
0561f777f7 don't panic on logPipe errors 2017-07-12 14:48:49 +10:00
Anton Markelov
6be1f3e4fc add error handling, name variables more clear 2017-07-12 14:24:02 +10:00
Anton Markelov
664cb4bbde use bufio.Reader instead bufio.Scanner 2017-07-12 12:08:00 +10:00
Anton Markelov
bca53cd10a add error handling when we work with task output 2017-07-12 11:26:55 +10:00
Viktor Anderling
8bc1b7f2d2 Allow concurrency for tasks that does not collide
Two different concurrency modes are implemented, and is enabled by
setting "concurrency_mode" in the config file to either "project" or "node".

When "project" concurrency is enabled, tasks will run in parallel if and
only if they do not share the same project id, with no regard to the
nodes/hosts that are affected.

When "node" concurrency is enabled, a task will run in parallel if and
only if the hosts affected by tasks already running does not intersect
with the hosts that would be affected by the task in question.

If "concurrency_mode" is not specified, no task will start before the
previous one has finished.

The collision check is based on the output from the "--list-hosts"
argument to ansible, which uses the hosts specified in the inventory.
Thus, if two different hostnames are used that points to the same node,
such as "127.0.0.1" and "localhost", there will be no collision and two
tasks may connect to the same node concurrently. If this behaviour is
not desired, one should make sure to not include aliases for their hosts
in their inventories when enabling concurrency mode.

To restrict the amount of parallel tasks that runs at the same time, one
can add the "max_parallel_tasks" to the config file. This defaults to a
humble 10 if not specified.
2017-05-29 17:27:56 +02:00
Matej Kramny
37d8c71bba Merge pull request #345 from strangeman/alert-setting-343
Add option for per-project telegram alert to different chats
2017-05-20 15:07:42 +02:00
Eric Cornely
26fa3267a0 Get tasks details
Reference issue #356

Get a single task
2017-05-18 14:29:57 +02:00