Commit Graph

270 Commits

Author SHA1 Message Date
Tom Whiston
88647c887c
Merge pull request #436 from vyulabs/file_inventory
Add "file" type for inventory
2018-03-08 23:51:36 +01:00
Denis
d27a91cca4 Fix inventory test for windows path 2018-03-08 19:15:45 +05:00
Denis
346af83e25 Remove redundant variable 2018-03-08 19:01:10 +05:00
Denis
b849c22559 Use os.Getwd() instend of './' 2018-03-08 19:00:15 +05:00
Denis
16a0374937 Move inventory tests to projects package 2018-03-08 18:45:53 +05:00
Denis
4aeef04369 feat: add tests 2018-03-08 16:37:38 +05:00
Denis
a63fd9d570 Validate inventory path before save 2018-03-08 14:04:34 +05:00
Denis
de7cb3453d Removed AWS/DO/GCloud inventory types 2018-03-08 12:39:20 +05:00
Tom Whiston
b745ec6fa2 change to using packr instead of go-bindata 2018-03-05 19:59:58 +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
Anton Markelov
fe5dcdc1c8 minor fixes after code review 2018-02-17 09:46:23 +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
05a1b3cbd8 add admin role, restrict users without it 2017-07-26 15:55:34 +10:00
Anton Markelov
df8933be32 limit tasks list on project dashboard 2017-07-25 14:44:09 +10:00
Anton Markelov
06c3446cde add default dashboard limit (200 events), add button to load all tasks 2017-07-25 14:21:36 +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
ca66c6d6f8 rewrite login functions 2017-05-20 18:46:36 +02:00
Matej Kramny
68c5c49fdc base path resources
fixes #350
2017-05-20 16:14:36 +02:00
Matej Kramny
0c6bf78a5f Merge pull request #355 from TeliaSweden/master
Fix nil pointer dereference when updating Template. Solves #337
2017-05-20 15:07:58 +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
Viktor Anderling
bb064198dd Fix nil pointer dereference when updating Template
When updating a template with empty "Extra CLI Arguments" field, the
template.Arguments pointer becomes nil. The previous check whether this
variable is the empty string fails if it is already nil.
The fix introduces a lazy nil check before the empty string-check.
2017-05-16 16:49:56 +02:00
Anton Markelov
bff8297145 add option for per-project telegram alert to different chats 2017-05-03 14:27:58 +10:00
Anton Markelov
6a8bebe32b fix login logic when ldap is enabled 2017-04-24 20:05:41 +10:00
Anton Markelov
336773698c fix alert templates after 5bcb34e 2017-04-22 13:22:16 +10:00
Matej Kramny
6b60329fe1 fix #323 2017-04-19 18:16:04 +01:00
Matej Kramny
fe8851bcfe fixes for #310 2017-04-18 16:37:44 +01:00
Matej Kramny
9fd49333de Merge branch 'develop' of github.com:ansible-semaphore/semaphore into develop 2017-04-18 15:54:51 +01:00
Matej Kramny
60a6570bdc Merge pull request #299 from galexrt/improve-sql-error
Fix the primary key creation queries in v2.2.1 migration
2017-04-18 15:54:40 +01:00
Matej Kramny
5bcb34ef62 improvements for #287 2017-04-18 15:36:09 +01:00
Matej Kramny
96140045ae improve codebase after #275 2017-04-18 15:21:20 +01:00
Matej Kramny
4b6a518b73 fixes resulting from master merge 2017-04-18 14:58:48 +01:00
Matej Kramny
db4948cb89 Merge branch 'master' into develop
# Conflicts:
#	Dockerfile
#	api/login.go
#	api/projects/environment.go
#	api/projects/project.go
#	api/projects/templates.go
#	api/tasks/runner.go
#	api/users.go
#	db/versionHistory.go
#	util/bindata.go
2017-04-18 14:48:31 +01:00
Matej Kramny
9d65c7e81a Merge pull request #304 from z010107/master
Add JSON validation in environment model
2017-04-18 14:36:21 +01:00
Anton Markelov
68f5aec9b6 make ldap searched parameters configurable 2017-04-04 22:27:06 +10:00
Anton Markelov
ce4278ae97 merge with actual master 2017-04-04 21:49:00 +10:00
Anton Markelov
e11af62892 add logrus logging, disable LDAP username and password editing on backend 2017-03-28 11:38:53 +10:00
Anton Markelov
308c1e64ef add simple LDAP authentification to the config and login page 2017-03-27 14:53:00 +10:00
Anton Markelov
ffa4d70037 add response code check for telegram 2017-03-24 17:50:26 +10:00
Anton Markelov
90d7708647 add basic telegram alerting 2017-03-22 17:22:09 +10:00
Anton Markelov
5f956c6013 add more verbosity about tasks to the Events description 2017-03-21 12:40:00 +10:00
Andrey Krasilnikov
3a60b4c166 Add extra validation for environment JSON 2017-03-18 12:57:41 +03:00
Krasilnikov Andrey
69410bb0e8 Add JSON validation in environment model 2017-03-17 17:34:30 +03:00
Alexander Trost
afd2a720f7 Fix the primary key creation queries
Add id column to task__output table "instead"
Print error message in case of database errors
2017-03-16 17:32:42 +01:00
laeshiny
c2a1165fc4 Add sort, order parameter to Get Request of "project/id/users"
For sorting the list, add parameters to Get Request
- sort: sorting target name
 example) name (or username or email or admin)

- order: ordering manner
 example) asc (or desc)
2017-03-17 00:41:44 +09:00
laeshiny
addf6c2f1a Add sort, order parameter to Get Request of "project/id/repositories"
For sorting the list, add parameters to Get Request
- sort: sorting target name
 example) name (or git_url or ssh_key)

- order: ordering manner
 example) asc (or desc)
2017-03-17 00:31:34 +09:00
laeshiny
2ac4ace2f4 Removed comment 2017-03-17 00:19:46 +09:00
laeshiny
6c80cee3ea Add sort, order parameter to Get Request of "project/id/key"
For sorting the list, add parameters to Get Request
- sort: sorting target name
 example) name (or type)

- order: ordering manner
 example) asc (or desc)
2017-03-17 00:18:16 +09:00
laeshiny
dba2a44c39 Add sort, order parameter to Get Request of "project/id/environment"
For sorting the list, add parameters to Get Request
- sort: sorting target name
 example) name

- order: ordering manner
 example) asc (or desc)
2017-03-17 00:09:52 +09:00
laeshiny
fa69fd13d8 Add sort, order parameter to Get Request of "project/id/inventory"
For sorting the list, add parameters to Get Request
- sort: sorting target name
 example) name (or type)

- order: ordering manner
 example) asc (or desc)
2017-03-16 23:55:50 +09:00
laeshiny
b61833d4fb Add missing prefix pt to query 2017-03-16 23:53:38 +09:00
laeshiny
d87ca8b8e3 Add sort, order parameter to Get Request of "project/id/templates"
For sorting the list, add parameters to Get Request
- sort: sorting target name
 example) alias (or playbook or ssh_key or inventory or environment or repository)

- order: ordering manner
 example) asc (or desc)
2017-03-16 23:30:41 +09:00
laeshiny
8c30b75c57 Rearrange list of Task Template, Inventory, Environment, Team in UI
- Add "order by alias (or name)" to query of getting list in Task Template, Inventory, Environment, Team
2017-03-15 00:04:48 +09:00
Matej Kramny
7b457df590 Merge pull request #287 from strangeman/email-alerts
Email alerts
2017-03-13 13:39:49 -07:00
Anton Markelov
1e95790197 made changes from review 2017-03-13 12:30:48 +10:00
Anton Markelov
2a66610d78 english muthafucka do you speak it!? 2017-03-11 17:54:52 +10:00
laeshiny
89fc1f77c8 correct the response content and code
- add an inventory id to the response content
- replace the response code to 201 (Created)
2017-03-11 14:47:26 +09:00
laeshiny
d944f252c7 add content to response of post /project/{project_id}/inventory 2017-03-10 23:56:23 +09:00
Anton Markelov
a436e97511 fix user alerts updating 2017-03-10 19:54:38 +10:00
Anton Markelov
8ada2d0b95 Merge branch 'master' into email-alerts 2017-03-10 16:28:52 +10:00
Anton Markelov
0993a002ea add alert setting for project 2017-03-10 16:25:42 +10:00
Anton Markelov
86100939bd provide NULL instead of empty string, when Extra CLI Arguments was deleted 2017-03-10 10:40:11 +10:00
Anton Markelov
4bbedac795 add alert setting for user and (WIP) project 2017-03-10 10:12:55 +10:00
Anton Markelov
c8cad513e6 use html/template for mail subject and body 2017-03-07 18:45:37 +10:00
Anton Markelov
a9c994cf35 move mail sending logic to util package 2017-03-07 17:15:35 +10:00
Matej Kramny
6c633fdbf2 Merge branch 'master' into develop
# Conflicts:
#	api/auth.go
#	cli/main.go
#	db/Event.go
2017-03-06 11:34:10 -08:00
Anton Markelov
4ee8f80555 Use UTC_TIMESTAMP instead of NOW 2017-02-28 21:46:27 +10:00
Douglas Temple
09dfe7463e Added SSH certificate support 2017-02-23 11:21:18 +00:00
Matej Kramny
2a2b7e8aed merge models -> db 2017-02-22 21:12:16 -08:00
Matej Kramny
3f3da12d37 🎉 gin -> net/http 2017-02-22 15:21:49 -08:00
Matej Kramny
1ddfcd5b5f moar refactor
- c.MustGet( -> context.Get(r,
- c.Get( -> context.GetOk(r,
2017-02-22 14:21:52 -08:00
Matej Kramny
2f16f70e98 begin refactor gin -> net/http 2017-02-22 14:17:36 -08:00
Anton Markelov
31599e01de [WIP] add alerts for failed deploy 2017-02-22 19:06:03 +10:00
Anton Markelov
4cf992c3e9 Add task template name to log too 2017-02-11 21:44:15 +10:00
Anton Markelov
f186fea9eb Add task template names for dashboard 2017-02-11 18:34:57 +10:00
Pavel Kiselev
69d1c4c9b7
Copy-paste fixes 2017-02-08 19:36:44 +07:00
Pavel Kiselev
b7b8db7cfd
It's method, not a function 2017-02-08 19:29:59 +07:00
Pavel Kiselev
beb029dc3d
Use temp path for update repository function 2017-02-08 19:28:07 +07:00
Pavel Kiselev
e0897e87c8
Pass OS environment variables to Ansible 2017-02-08 19:26:15 +07:00
Matej Kramny
eced2a7110 fix #214 - events api 2016-12-21 19:24:27 +09:00
Matej Kramny
f27445e0ae Merge pull request #157 from tokuhirom/galaxy
Added Ansible Galaxy support. Close #150
2016-12-21 17:58:00 +09:00
Matej Kramny
556affc8d8 fix #183 2016-12-21 17:56:38 +09:00
Matej Kramny
324b6c9ee0 fix #193 - auth middleware bug 2016-12-21 17:42:01 +09:00
Matej Kramny
c3fa2b5018 improve runner code 2016-11-21 17:07:00 -08:00
Matej Kramny
8ff4edb4b3 Merge remote-tracking branch 'refs/remotes/knsr/repo-tags'
Conflicts:
	api/tasks/runner.go
2016-11-21 17:01:57 -08:00
gcavalcante8808
ed46338da5 Fixes #188. 2016-11-15 13:44:41 -02:00
KNSR
b24683a6df correct import 2016-10-14 11:30:39 +02:00
KNSR
d40f1d7f09 add support for git repo tags or branches 2016-10-14 10:57:49 +02:00
Alexander
578d36f2ee add missing space
add missing space
2016-08-27 16:41:41 +08:00
Alexander
c818d8bdf2 Update runner.go
add --recursive to support download playbooks which uses git submodule
2016-08-25 21:24:45 +08:00
Matej Kramny
eb543ea5ea Merge pull request #160 from tokuhirom/clear-repository-cache
Clear repository cache after update/delete repository information. Close #159
2016-07-21 15:30:04 +01:00
Matej Kramny
47b1fcebf9 Merge pull request #156 from tokuhirom/dry_run
Added dry_run button. close #152
2016-07-21 15:26:18 +01:00
Tokuhiro Matsuno
0d33a7df5e Clear repository cache after update/delete repository information.
Close #159
2016-06-30 19:54:09 -04:00
Tokuhiro Matsuno
b671531733 Added Ansible Galaxy support. Close #150 2016-06-30 11:34:35 -04:00
Tokuhiro Matsuno
129af0fa17 Added dry_run button. close #152 2016-06-30 10:57:45 -04:00
Tokuhiro Matsuno
df9ef6e3d1 Show repository url in log 2016-06-30 22:22:14 +09:00
Tokuhiro Matsuno
af8d0595d4 Save task executed user's ID in database.
And show user name in task information view.
2016-06-26 07:50:51 +09:00
Matej Kramny
b4cab16fda Improved UI
- Fixes #94
- Fixes admin permissions (needed to manipulate users)
2016-06-17 13:16:46 -07:00
Matej Kramny
d960ec53f0 Update repositories 2016-06-13 19:37:40 -07:00
Matej Kramny
f16b3a57e8 Fix SQL bugs
- Fixes #117
- Fixes #116
2016-06-02 19:26:51 +01:00
Matej Kramny
c58d9ac34f refactoring 2016-05-24 10:55:48 +01:00