Commit Graph

230 Commits

Author SHA1 Message Date
Denis Gukov
9457bf1c02 chore: rename config param 2023-07-23 16:26:36 +02:00
Denis Gukov
e2df7758a1 refactor(be): config struct 2023-07-23 16:18:02 +02:00
Denis Gukov
4f12b70375
Merge pull request #1213 from s3lph/feat-oidc-auth
Implement OIDC authentication
2023-07-08 20:07:50 +02:00
Denis Gukov
81dd70ae1f fix: replace config flag use_external_git to option git_client 2023-04-25 20:04:03 +02:00
s3lph
2896dc72d9 feat(oidc): add config option to manually configure provider endpoints 2023-04-17 22:57:50 +02:00
s3lph
c3cd04fdce feat: implement oidc authentication 2023-04-16 23:57:56 +02:00
Denis Gukov
5b4adb3cea feat: add config flag use_external_git 2023-03-12 21:45:46 +01:00
Denis Gukov
668c81a991 fix(be): use DbConfig getter method instead of direct access to fields 2023-01-28 03:25:25 +04:00
Denis Gukov
d6e1315db7 feat(be): use env vars for db options 2023-01-27 22:59:19 +04:00
Denis Gukov
7bf59cf234 refactor(be): move printing db info to separate method 2022-11-20 01:20:00 +05:00
Loïc Tosser
13af56c031
Merge branch 'develop' into slack-alerts 2022-07-14 10:21:13 +04:00
steadfasterX
9160ddf8a4
systemd: debian: add reload action to service 2022-05-11 13:14:48 +02:00
Loïc Tosser
e72a5a6ee6 Slack alerts 2022-04-11 12:29:48 +04:00
Denis Gukov
b127e054d8 feat(be): add max parallel tasks to project settings and ability to suppress success alerts for tasks 2022-02-14 16:52:28 +05:00
Denis Gukov
2716a3989b fix(be): clear repository cache if access key changed 2022-01-27 17:55:01 +05:00
Denis Gukov
a68c64cbaa refactor(be): add method to config 2022-01-26 12:14:56 +05:00
Denis Gukov
5823bd8a7c fix(be): use correct command for running semaphore server 2022-01-24 22:22:10 +05:00
Denis Gukov
9cf52616ec fix(cli): bug with config path parameter 2022-01-24 01:19:22 +05:00
Denis Gukov
315dba69fb feat(be): passing to ansible new variable semaphore_vars 2022-01-20 03:07:30 +05:00
Denis Gukov
1ce8da11e7 chore(fe): remove incomplete ui elements 2022-01-19 03:00:31 +05:00
Denis Gukov
6be09da63c feat: REMOVE PLACEHOLDER USER FUNCTIONALITY 2022-01-19 02:26:48 +05:00
Denis Gukov
4c706f5876 feat(be): add migration for new template and schedule fields 2022-01-19 02:09:42 +05:00
Denis Gukov
458ee316ba feat(be): placeholder user 2021-12-18 18:16:34 +05:00
Denis Gukov
2554afa792 docs(be): comments for config class 2021-12-17 01:56:01 +05:00
Denis Gukov
b839c95573 test(be): register new user tests 2021-12-17 01:44:07 +05:00
Denis Gukov
bee21e34e6 fix(be): postgres password issue 2021-11-02 23:43:56 +05:00
Denis Gukov
89240737a0 feat(fe): ui docs 2021-10-18 17:41:54 +05:00
Denis Gukov
191c6ed438 feat(be): passing semaphore vars via extra vars 2021-10-15 00:14:21 +05:00
Denis Gukov
74b75fca13 refactor(be): add field 'options' for database config 2021-09-22 17:18:40 +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
749291a690 feat(be): pass ansible_user/password to ansible-playbook via file 2021-09-12 03:18:26 +05:00
Denis Gukov
7443671059 feat(be): add access key encryption 2021-08-31 04:02:41 +05:00
Denis Gukov
cb5f27d9ed fix(be): migrations for mysql and postgres 2021-08-30 20:11:08 +05:00
Denis Gukov
0b3b56620c refactor(config): add field dialect 2021-08-28 22:03:34 +05:00
Denis Gukov
31a71abf4a refactor(be): add field dialect to config file 2021-08-28 17:04:56 +05:00
Denis Gukov
22e422e15a feat(cli): add user management commands 2021-08-28 16:44:41 +05:00
Denis Gukov
a5a9f0cf0f feat(cli): add env variable SEMAPHORE_CONFIG_PATH 2021-08-28 00:14:20 +05:00
Denis Gukov
d34478499f fix: goss.yaml 2021-08-26 14:39:31 +05:00
Denis Gukov
d27c89790b fix: goss.yaml 2021-08-26 14:38:34 +05:00
Denis Gukov
ddea297ef1 fix(ci): script for docker 2021-08-26 10:24:55 +05:00
Denis Gukov
4c3e2f4383 feat(cli): support arg -config for back compatibility 2021-08-26 01:36:04 +05:00
Denis Gukov
f7f23f999f feat(cli): use cobra library 2021-08-26 01:12:19 +05:00
Denis Gukov
63a4a32ac1 feat: refactor to support postgres 2021-08-24 20:20:34 +05:00
Denis Gukov
8d5c57ea5c feat: support Postgres dialect 2021-08-24 15:51:21 +05:00
Denis Gukov
8d21d8eb20 fix(be): mysql connection string without database name 2021-08-20 10:28:42 +05:00
Denis Gukov
27eab684c2 feat(cli): add arg -useradd for adding user via command line 2021-08-16 02:35:44 +05:00
zeroZshadow
56a7a4132d Move interactive setup to own package
Remove reflex installation for windows
2021-07-15 21:23:59 +01:00
Denis Gukov
b60e927fc6 fix(be): correct sorting for boltdb 2021-06-25 00:53:36 +05:00
Denis Gukov
c607b20b26 feat: remove old ui 2021-05-15 17:59:06 +05:00
Denis Gukov
c0a0e71417 refactor(be): rename db tables prop objects 2021-05-14 00:45:54 +05:00
Denis Gukov
3d6d194d2e feat(be): add Web root URL option description 2021-03-13 01:44:25 +05:00
Denis Gukov
d754eefeae chore(be): remove sqlite 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
d09fc1d26c feat(be): support sqlite 2020-12-01 21:37:29 +05:00
Denis Gukov
bcfaca5149 feat(web2): support web2 by backend and go-task 2020-11-05 13:59:14 +05:00
Stanislav Simovski
4d28a61b96 Added some comments because linter complained 2019-07-09 20:49:17 +03:00
Stanislav Simovski
5ccae272d4 Remove mulekick, move functions to util 2019-07-09 20:45:27 +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
Denix
9ddaa92075
Adding service file for debian based systemd
To make it work,
- sudo cp semaphore.service.debian /etc/systemd/system/semaphore.service
- sudo systemctl daemon-reload
- sudo service semaphore start
2019-05-04 00:57:26 +02:00
tom whiston
373f3d1e8e add interface variable to settings 2018-05-14 19:43:33 +00: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
0316fbc607 bugfix for error scopes in config checking 2018-03-26 11:58:06 +00:00
tom whiston
dd32d8de74 fix port : prefix issues when building config data 2018-03-20 00:28:59 +00:00
Tom Whiston
dd27aba6df Change setup function and config loading
Adds setup question asking where to output config. Defaults to cwd, and if getting cwd produces an error falls back to /etc/semaphore
Make docker autostart default for config
Show default for playbook path
rename semaphore_config.json to config.json
fix pathname for circle
2018-03-15 00:31:27 +01:00
Tom Whiston
3f241054ab add version code generator 2018-03-11 00:05:45 +00:00
Tom Whiston
be97a6a324 remove the need for config init function in bindata and refactor to function called by main 2018-03-05 18:06:24 +01:00
Denis
80a5bff77c Add binaries to gitignore and remove binddata.go 2018-02-28 11:51:28 +05:00
Tom Whiston
2373a4df54 update bindata for current develop branch 2018-02-27 21:06:55 +01:00
Matej Kramny
cccc0b6d26
Merge branch 'develop' of https://github.com/fernandezvara/semaphore into fernandezvara-develop 2017-08-19 10:00:25 +01:00
Matej Kramny
56f22f9673
gofmt 2017-08-19 09:45:01 +01:00
Matej Kramny
27d2e3778a
Merge branch 'develop' of https://github.com/TeliaSweden/semaphore into TeliaSweden-develop 2017-08-16 22:50:59 +01:00
Antonio Fernandez Vara
43ff59333c Scroll enabled Task Log. Fixes #353 2017-07-11 15:57:08 +02:00
Matej Kramny
9a44c48640
update changelog, bump version to 2.4.1 2017-07-03 17:40:43 +09:00
Matej Kramny
38294dd248
remove default setup webhost url 2017-07-03 17:07:59 +09:00
Matej Kramny
12fd522b1a update changelog, bump version to 2.4.0 2017-06-29 18:57:19 +09: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
624f2c3527 fix for base paths 2017-05-20 16:25:41 +02:00
Matej Kramny
68c5c49fdc base path resources
fixes #350
2017-05-20 16:14:36 +02:00
Matej Kramny
4cc04ac088 update changelog, bump version to 2.3.0 2017-04-19 20:10:42 +01:00
Matej Kramny
4858aad205 fix tests 2017-04-18 17:06:58 +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
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
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
65dc565bd0 make go vet happy 2017-03-27 16:57:31 +10:00
Anton Markelov
09edee808e mispell 2017-03-27 16:11:09 +10:00
Anton Markelov
902187167b add ldap settings to the setup process 2017-03-27 15:08:41 +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
d95491d05d add config generation for telegram alerting 2017-03-22 18:44:37 +10:00
Anton Markelov
90d7708647 add basic telegram alerting 2017-03-22 17:22:09 +10: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
Anton Markelov
1e95790197 made changes from review 2017-03-13 12:30:48 +10:00
Anton Markelov
ff31d42cca add new config parameters to the setup procedure 2017-03-10 16:59:29 +10:00
Anton Markelov
8ada2d0b95 Merge branch 'master' into email-alerts 2017-03-10 16:28:52 +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
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
2f16f70e98 begin refactor gin -> net/http 2017-02-22 14:17:36 -08:00
Matej Kramny
80a34026e3 bump version to 2.2.0 2017-02-22 13:30:05 -08:00
Anton Markelov
31599e01de [WIP] add alerts for failed deploy 2017-02-22 19:06:03 +10:00
julian
245a033456
fix api breaking of google/go-github
google/go-github broke the api of their functions with 23d6cb9cac
This commit adds the context `context.TODO()` to the call of `gh.Repositories.ListReleases` which is meant to be used "when it's unclear which Context to use or it is not yet available (because the surrounding function has not yet been extended to accept a Context parameter)" (citing https://godoc.org/context)

Signed-off-by: julian <dev@jneureuther.de>
2017-02-21 20:44:35 +01:00
Matej Kramny
79954131b1 bump version 2.1.0 2016-12-22 03:50:59 +09:00
gcavalcante8808
e567d20c41 Alias field was not created on the DB. Corrected: added version 1.9.0. 2016-11-17 20:16:28 -02:00
Matej Kramny
1f565eb668 Bump version 2016-06-28 19:26:00 +01:00
Matej Kramny
6680763e2c Bump version 2016-06-25 02:19:22 +01:00
Matej Kramny
c179b38d10 Fix #136 2016-06-25 02:04:24 +01:00
Matej Kramny
c58d9ac34f refactoring 2016-05-24 10:55:48 +01:00
Matej Kramny
2597f41618 Bump version, fix CI build 2016-05-23 21:08:28 +01:00
Matej Kramny
489eb7a7a0 Bump version 2016-05-20 23:29:12 +01:00
Matej Kramny
47a6fe51f1 improve setup
- fix bug with -setup not accepting spaces
- fix pointless panic while decoding cookies
- fix bug generating secure hashes for cookies during setup
2016-05-17 21:17:17 +01:00
Matej Kramny
4ca05800ee Upgrade from the UI
yay 👏
2016-05-17 16:18:26 +01:00
Matej Kramny
b2eb39d605 🎉 remove redis dependency
- Remove mandrill
- Remove redis
- Sessions & more transparency into who's logged into your user
- Session is stored in cookies (map of two integers.)
- Encrypted sessions, configurable keys (auto-generated)
2016-04-30 14:28:47 +02:00
Matej Kramny
8fd27ee16b Improved setup formatting 2016-04-30 09:52:33 +02:00
Matej Kramny
4787df9ee5 Bump version 2016-04-29 14:07:33 +02:00
Matej Kramny
697e456802 Upgrade 2016-04-26 19:18:28 +01:00
Matej Kramny
98210da21d Improve setup 2016-04-24 19:11:43 +01:00
Matej Kramny
ab3a33e763 Interactive setup 2016-04-18 01:58:29 +01:00
Matej Kramny
5354d0a645 Print example configuration 2016-04-11 11:30:31 +01:00
Matej Kramny
2e1ad91e7a Running tasks
- Link models with tables
- Basic API to fetch everything
2016-04-07 13:49:34 +01:00
Matej Kramny
ad860ef236 Login working 2016-03-18 23:23:03 +00:00
Matej Kramny
252b4fbe50 Use proper github path 2016-03-16 21:49:43 +00:00
Matej Kramny
90f9295505 Initial v2 work 2016-01-05 00:32:53 +01:00