Denis Gukov
a8921e6e82
Runners ( #1458 )
...
* feat(runners): update task status
* feat(config): add remote runner flag
* feat(runners): kill remote job
* feat(runners): update state
2023-09-10 23:18:25 +02:00
Denis Gukov
4a2ff1477b
fix(config): merge conflict
2023-09-09 17:07:10 +02:00
Denis Gukov
cffba6e489
refactor(config): add tags to config fields
2023-09-09 17:01:36 +02:00
Denis Gukov
d1b7ad021e
Runners ( #1444 )
...
* feat(runners): add register endpoint
* feat(runners): add remote runner
* refactor(runners): move functionality TaskRunner -> AnsibleJobRunner
* fix(runners): init job
* chore(runners): remote unused field
* feat(runners): use external logger from AnsibleJobRunner
* refactor(runners): remove status field
* refactor(runners): remove mutation from job
* feat(runners): pass username and verison to task
* test(runners): fix tests
* fix(runners): params for Run
* feat(runners): implement runner selection
* feat(runners): fill required fields
* fix(runners): session block
* feat(runners): kill process
* refactor(runners): rename fields to public
* feat(runners): remote runner functionallity
* refactor(runners): remove unused class
* fix(runners): send json
* feat(runners): runner registration
* feat(runners): logging
* feat(runners): server <-> running communication works
* feat(runners): pass creds to runenr
2023-08-29 00:51:04 +02:00
Denis Gukov
b5a99eba7f
Runners ( #1439 )
...
* refactor(runners): extract jobs to separate entity
2023-08-27 18:02:51 +02:00
Denis Gukov
d32a31f4b6
feat: remove demo mode
2023-08-27 15:00:54 +02:00
AnsibleGuy
07ee77d6db
feat: config-validation - minor fixes
2023-08-06 11:01:24 +02:00
AnsibleGuy
421e862786
feat: added basic config validation, loading all settings from environment-variables, dynamic applying of default-values to settings, tests for config-loading and -validation
2023-08-05 15:56:39 +02:00
Denis Gukov
1145eec9a4
feat(be): add config options
2023-07-24 16:04:03 +02:00
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
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
a68c64cbaa
refactor(be): add method to config
2022-01-26 12:14:56 +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
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
09a2b31eb3
mux != Koa, undo refactor before it gets worse
2019-07-09 19:11:01 +03:00
Stanislav Simovski
23d65ba0c2
Refactored all routes to use native mux Middelware
2019-07-09 16:07:16 +03: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
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
Matej Kramny
38294dd248
remove default setup webhost url
2017-07-03 17:07:59 +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
5bcb34ef62
improvements for #287
2017-04-18 15:36:09 +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
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
4bbedac795
add alert setting for user and (WIP) project
2017-03-10 10:12:55 +10:00
Anton Markelov
31599e01de
[WIP] add alerts for failed deploy
2017-02-22 19:06:03 +10: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
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
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