Commit Graph

450 Commits

Author SHA1 Message Date
fiftin
dc9b2c271b feat: add field searchable for intagrations 2024-03-06 22:20:23 +01:00
fiftin
193d57a66c fix(be): add migation 2024-03-06 22:17:34 +01:00
fiftin
ab90e98d3b refactor: rename func param 2024-03-06 15:51:59 +01:00
fiftin
3f8af892e5 feat: remove extractor from openapi docs 2024-03-06 15:02:16 +01:00
fiftin
77c2c87033 feat: remove extractor 2024-03-06 15:02:16 +01:00
fiftin
3a225afd93 fix: is global ignores project id 2024-03-06 13:20:48 +01:00
fiftin
7cd250d4bf fix(integrations): correct extractor list 2024-03-04 19:17:40 +01:00
fiftin
e944cf2db8 fix(integration): return correct value list 2024-03-04 18:39:15 +01:00
fiftin
7b6394ae12 chore(bolt): fix integrations 2024-03-04 14:40:40 +01:00
fiftin
bf20ffb6cf feat(bolt): use project id 2024-03-04 14:39:48 +01:00
fiftin
582a3c91e4 feat(integrations): add project param 2024-03-04 12:36:24 +01:00
fiftin
1ef9012067 feat(integrations): add param 2024-03-04 12:24:47 +01:00
fiftin
ffdf8188ef fix(integrations): sql query 2024-03-03 19:49:00 +01:00
fiftin
cfcfc8ea4a fix(integrations): escape pg keyword 2024-03-03 19:21:50 +01:00
fiftin
a5055ff0be fix(integrations): refs 2024-03-03 18:47:31 +01:00
fiftin
88ef65af49 feat(integrations): use only explicit intergations 2024-03-03 18:01:18 +01:00
fiftin
06cf90770b feat: integration tests 2024-03-03 16:39:18 +01:00
fiftin
251376887a fix: merge conflict 2024-03-03 11:57:39 +01:00
Thomas Boerger
67954b95aa
feat: replace packr and add basic cache headers
Since packr have been deprecated in favor of go:embed for quite some
time now I have replaced it with plain go:embed functionality which
makes it more future proof.

The only downside is that go:embed can use relativ paths only, that's
why I have moved the web/dist folder into api/public.

Besides that I have refactored the static asset handling which includes
basic last modification and cache control headers to improve the cache
cache behavior for static assets.
2024-03-01 15:52:30 +01:00
Thomas Boerger
3b7436e22c
feat: upgrade all dependencies
I have updated all dependencies within go.mod by executing `go get -u
./...`, beside that I had to replace the imports for logrus, mergo and
squirrel to match the right names from their modules.
2024-02-27 12:06:05 +01:00
Denis Gukov
c9788f15b2 feat(integration): add auth header 2024-02-12 14:50:01 +05:00
Denis Gukov
3a821b5bd1 feat(integrations): add auth fields to db 2024-02-12 14:45:20 +05:00
Denis Gukov
6957f45897 fix(integrations): params order 2024-02-12 03:39:57 +05:00
Denis Gukov
75d59d0890 fix(integrations): route and sql 2024-02-12 03:27:03 +05:00
Denis Gukov
d434909076 fix(integrations): return code deleted by mistake due to a merge conflict 2024-02-12 02:17:17 +05:00
Denis Gukov
a6e541ed64 Merge branch 'feat-support-integrations' into feat-support-webhooks 2024-02-12 02:03:13 +05:00
Denis Gukov
006d14ac2f refactor(integrations): rename files 2024-02-12 02:02:08 +05:00
Denis Gukov
ae20f7bcbe fix(runners): return webhook name 2024-02-12 01:32:00 +05:00
Denis Gukov
2215fb5c87 fix(webhooks): merge conflict 2024-02-12 01:24:53 +05:00
Denis Gukov
d877277d92 fix(webhooks): merge conflict 2024-02-12 01:22:35 +05:00
Denis Gukov
647501b90b refactor: webhook -> integration 2024-02-12 00:52:14 +05:00
Andreas Marschke
b1177a287a Try to make Webhook API more consistent 2024-02-10 18:18:56 +01:00
samerbahri98
84a3841c80
feat(api): restore 2024-02-07 22:19:23 +01:00
samerbahri98
6a2cfcc3ac
feat(api): backup 2024-02-07 22:19:22 +01:00
Denis Gukov
b361695f68
Add app field to template (#1721)
* feat(be): add template app

* feat(be): add field app to template

* fix(be): add app to sql implementation

* refactor(be): extract AnsibleApp class

* refactor(be): rename LocalJobApp -> LocalApp

* feat(app): default app id = empty string

---------

Co-authored-by: fiftin-quiz <157730881+fiftin-quiz@users.noreply.github.com>
2024-01-30 14:26:11 +05:00
samerbahri98
33917ac757
fix(api), return correct template start_version when using sql 2024-01-28 15:03:42 +01:00
Denis Gukov
84fdfa4623 fix(vault): offset in sql query 2024-01-28 17:18:07 +05:00
Denis Gukov
0a31f76300 refactor(vault): getObjects -> getProjectObjects for sql db 2024-01-28 16:24:37 +05:00
Denis Gukov
36b18a9f74
Merge pull request #1675 from s3lph/fix-1669
fix: #1669
2024-01-26 21:51:16 +05:00
Andreas Marschke
fe83cef1be Update Dredd changes 2024-01-15 22:08:16 +01:00
Andreas Marschke
03c894d45a Updating API to support projectID attachment 2024-01-15 22:08:16 +01:00
Andreas Marschke
d09f416423 Undo changes to getObject calls in sql 2024-01-15 22:08:16 +01:00
Andreas Marschke
7e0d5648d1 Clean up logging in backend 2024-01-15 22:08:16 +01:00
Andreas Marschke
203b169962 Fixup api 2024-01-15 22:08:16 +01:00
Andreas Marschke
183a8536f1 Fix param reception 2024-01-15 22:08:16 +01:00
Andreas Marschke
055ecb8a11 Remove dead code and unused dependency 2024-01-15 22:08:16 +01:00
Andreas Marschke
8d0e39b065 Fix method calls, add is null for globals 2024-01-15 22:08:16 +01:00
Andreas Marschke
54d103105f Webhook Feature implementation 2024-01-15 22:08:16 +01:00
Denis Gukov
0f0587d755 fix(backend): add password to update method 2023-12-25 22:08:47 +05:00
s3lph
244bc7e76f fix: #1669 2023-12-07 23:40:51 +01:00
Denis Gukov
85d9936082 chore(ssh-agent): sock file name 2023-10-01 23:02:32 +02:00
Denis Gukov
43b342b3e8 feat(secrets): use ssh agent for git 2023-09-23 17:47:27 +02:00
Denis Gukov
58850e9129 refactor: create package db_lib 2023-09-23 17:12:35 +02:00
Denis Gukov
cb2bcd8f0b feat(be): create demo project 2023-09-17 21:55:14 +02:00
Denis Gukov
d3923f18b3 feat: admin can all 2023-09-17 16:15:44 +02:00
Denis Gukov
b31033323a feat: restrict manager permissions 2023-09-17 15:17:15 +02:00
Denis Gukov
0b3394c29d refactor(config): remove type DbDriver 2023-09-14 19:55:09 +02:00
Denis Gukov
ff2da94ebf Merge branch 'develop' into config-validation 2023-09-14 13:25:24 +02:00
Denis Gukov
aef7cbca04 feat: add status starting 2023-09-12 20:58:44 +02:00
Denis Gukov
6fa3e50198
Runners (#1477)
* feat(runners): add migartion

* feat(runners): sql implementation
2023-09-11 01:02:10 +02:00
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
1875e82af0 fix(config): merge conflict 2023-09-09 17:10:29 +02:00
Denis Gukov
4a2ff1477b fix(config): merge conflict 2023-09-09 17:07:10 +02:00
Denis Gukov
f981f14d16
Vault cli (#1463)
* feat(be): add cli command vault rekey

* feat(vault): use tx

* feat(vault): docs

* fix(vault): rekey flag
2023-09-09 14:41:41 +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
37e7c4aca1 fix(be): do not panic in boltdb connection 2023-08-28 10:53:49 +02:00
Denis Gukov
b5a99eba7f
Runners (#1439)
* refactor(runners): extract jobs to separate entity
2023-08-27 18:02:51 +02:00
Denis Gukov
690f174168 fix(be): currect manager permissions 2023-08-26 21:13:48 +02:00
Denis Gukov
b522169832 test: check role permissions 2023-08-26 18:48:16 +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
517ad4dc97 feat(ui): add roles to UI 2023-07-22 22:48:10 +02:00
Denis Gukov
0b81623b09 fix(migrations): manager is default role 2023-07-22 22:47:12 +02:00
Denis Gukov
bfa9a3c00b fix(be): migration for bolt 2023-07-09 11:35:52 +02:00
Denis Gukov
93e42b7023 fix(roles): validate user role in project when add or update 2023-07-09 10:24:03 +02:00
Denis Gukov
87d983556f refactor(be): create middleware to check permissions 2023-07-08 23:35:39 +02:00
Denis Gukov
9c9c005955 refactor(be): add struct UserWithProjectRole 2023-07-08 12:41:57 +02:00
Denis Gukov
c1049c8c4c fix(be): column admin -> role in sql request 2023-07-08 11:39:51 +02:00
Denis Gukov
61e43b0da2 fix(be): specify varchat max length 2023-07-08 00:06:43 +02:00
Denis Gukov
07b908f1ef fix(be): update sql query 2023-07-07 23:55:41 +02:00
Denis Gukov
026e5a910b fix(be): sql migration issue 2023-07-07 23:24:56 +02:00
Denis Gukov
49a06d540f feat(be): add migration project__user.admin -> project_user.role 2023-07-07 23:16:43 +02:00
Denis Gukov
23841a240f feat(be): add role based checks 2023-07-07 22:15:16 +02:00
Bjarne Roß
d589598f90
Update Template.go 2023-06-13 12:08:29 +02:00
Bjarne Roß
763bd6e562
Update Template.go 2023-06-13 11:53:37 +02:00
Bjarne Roß
fa9c43decf
Oops 2023-06-13 11:38:00 +02:00
Bjarne Roß
c089ee239a
Update Template.go 2023-06-13 11:35:24 +02: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
0d87d0b736 ci: fix dredd dockerfile 2022-11-19 15:58:46 +05:00
Denis Gukov
07c6860ccb feat(be): support session connection for boltdb 2022-11-19 03:23:30 +05:00
Denis Gukov
1139e35ce1 fix(be): return empty array instead of nil for BoltDB 2022-11-09 23:00:35 +05:00
Denis Gukov
cbd441b6fd fix(be): ignore not found error when deleting task output bucket 2022-11-09 22:50:11 +05:00
Denis Gukov
b2f5d42a6f test: remove date/time pattern from open api 2022-11-09 22:04:35 +05:00
Denis Gukov
579f978ffc feat(be): do not keep connection by BoltDB 2022-11-09 21:30:35 +05:00
Denis Gukov
cd134b04a6 fix(be): token deletion for boltdb 2022-11-09 14:02:48 +05:00
Denis Gukov
1e06957028 feat: ability to delete api token 2022-11-09 13:10:42 +05:00
Denis Gukov
adb57bf524 chore: error message 2022-11-09 12:37:27 +05:00
Denis Gukov
4559b52c4a fix(be): validate user data 2022-10-30 22:18:23 +05:00
Denis Gukov
c66c9482b1 feat(be): remove PAT key type 2022-10-29 15:18:42 +05:00
Denis Gukov
68373c2b33 fix(be): add migariton number 2022-10-28 19:59:50 +05:00
anarchistcat
b27611e565 Diff mode test 2022-10-28 05:05:13 +02:00
Denis Gukov
54ab92b6af fix(be): empty event name for deleted task 2022-10-22 02:36:05 +05:00
Denis Gukov
f70572b484 fix(be): BoltDB issue with deleted user https://github.com/ansible-semaphore/semaphore/issues/1055 2022-10-22 01:56:32 +05:00
Denis Gukov
aa46a392d7 fix(be): adding user to project team for BoltDB 2022-10-22 01:47:43 +05:00
Denis Gukov
fd259a4af4 fix(be): empty env field in environment, https://github.com/ansible-semaphore/semaphore/issues/980 2022-06-30 11:04:51 +05:00
Denis Gukov
2bc9a338d3 fix(be): number of args in sql requst 2022-06-29 22:27:14 +05:00
Denis Gukov
fbe30b25c2 fix(be): merge conflict in migration 2022-06-29 21:50:54 +05:00
Dino Paškvan
0462c89afa Rename migration file 2022-06-24 12:34:35 +02:00
Dino Paskvan
545df6fb87
Merge branch 'ansible-semaphore:develop' into develop 2022-06-24 12:31:30 +02:00
Dino Paškvan
9c5d911e71 Add environment variables to model and provide migrations 2022-06-24 12:30:52 +02:00
Denis Gukov
23c3947e18 feat(be): add migration for new limit option 2022-06-23 20:37:00 +05:00
Denis Gukov
261719137a
Merge pull request #811 from jdhayes/develop
Added ansible limit to API
2022-06-23 17:02:21 +05:00
quantumsheep
d60323ea26
fix(be): set backup id column as primary key 2022-05-24 18:02:12 +02:00
quantumsheep
5761b4e15e
feat: support yaml static inventories 2022-05-24 17:55:20 +02:00
Denis Gukov
0b823804ad feat: do not handle branch for non-git repos 2022-03-31 11:13:02 +05:00
Denis Gukov
6ef0d474bc Merge branch 'xyz' into develop 2022-03-30 20:31:13 +05:00
Denis Gukov
4bfb9bd78e feat(be): support git file:// protocol and local repo 2022-03-30 20:31:00 +05:00
Denis Gukov
f5b66a1d14 fix(be): Change of user password fails when using postgres https://github.com/ansible-semaphore/semaphore/issues/896 2022-03-27 02:55:33 +05:00
jhayes
b3caba78f8 Merge branch 'develop' of github.com:ansible-semaphore/semaphore into develop 2022-03-08 11:04:13 -08: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
Jordan Hayes
d2b9b856c8 Removed runner.go 2022-02-10 11:49:36 -08:00
Denis Gukov
32a6c952ce refactor(be): move some functionality to GitRepository and AnsiblePlaybook classes 2022-02-06 20:37:55 +05:00
Denis Gukov
f9ea2df04e fix(be): bug with deserializing secrets 2022-02-06 17:17:28 +05:00
Denis Gukov
1993a14fb6 fix(be): migration for dropping foreign key 2022-02-06 14:29:56 +05:00
Denis Gukov
c578653f25 style(be): remove unused constants 2022-02-06 01:17:25 +05:00
Denis Gukov
f8d333f0b1 feat: add username (optional) for SSH access key 2022-02-06 00:00:33 +05:00
Denis Gukov
fe9c602c5d fix(be): bug with panic https://github.com/ansible-semaphore/semaphore/issues/855 2022-02-05 22:34:34 +05:00
Denis Gukov
1036af1fc6 fix(be): disable migration for mysql
fix: check refs to template before delete

fix(be): drop breaking foreign key
2022-02-05 13:30:25 +05:00
Denis Gukov
95e891cdd8 fix(be): bug with alert chat id https://github.com/ansible-semaphore/semaphore/issues/853 2022-02-03 23:35:32 +05:00
Denis Gukov
5185fa4067 fix(be): migration for mysql 2022-02-03 23:24:46 +05:00
Denis Gukov
31d667c57c fix(be): migration 2.8.39 2022-02-03 22:37:37 +05:00
Denis Gukov
6d23eff005 fix(ui): resouce usage message 2022-02-03 16:33:25 +05:00
Denis Gukov
02a631fbd6 fix(be): refs for boltdb 2022-02-03 14:22:32 +05:00
Denis Gukov
05dd7c5653 feat: remove soft delete functionality 2022-02-03 12:06:24 +05:00
Denis Gukov
6cc3d0f250 feat(be): remove column from template table 2022-02-01 03:35:13 +05:00
Denis Gukov
8e8ca94126 feat(be): physical delete template from database 2022-02-01 03:16:00 +05:00
Denis Gukov
221454a89f fix(be): migration 2.8.26 for postgres 2022-02-01 02:36:28 +05:00
Denis Gukov
cb5ec3e7dc chore(cli): more human readable error message 2022-02-01 01:16:01 +05:00
Denis Gukov
46a9b5103c fix(be): sql query for schedule updating 2022-01-31 18:04:47 +05:00
Denis Gukov
208e615a6e feat(be): cron task with condition 2022-01-30 22:43:15 +05:00
Denis Gukov
88f4603028 refactor(be): extract git functionality to separate class 2022-01-30 16:22:18 +05:00
Denis Gukov
fa4e13a0f1 refactor(be): remove global vars of task pool and schedule pool 2022-01-29 23:14:36 +05:00
Denis Gukov
8516e31415 fix(be): remove recursive call in BoltDB method 2022-01-29 14:14:42 +05:00
Denis Gukov
db252379c0 Merge branch 'fix_mig' into develop 2022-01-29 14:01:16 +05:00
Denis Gukov
727b6f7326 fix(be): boltdb migration 2022-01-29 14:00:21 +05:00
Denis Gukov
d3d002a818 refactor(be): change params for store method
chore(fe): remove passphrase from key settings because it is not implemented

fix(be): boltdb migration
2022-01-29 13:47:11 +05:00
Denis Gukov
ec39816cf1 feat: add personal access token suport 2022-01-27 19:21:46 +05:00
Denis Gukov
2716a3989b fix(be): clear repository cache if access key changed 2022-01-27 17:55:01 +05:00
Denis Gukov
6799208b62 feat(be): add ability to override template extra args in task https://github.com/ansible-semaphore/semaphore/issues/832 2022-01-27 00:51:20 +05:00
Denis Gukov
a68c64cbaa refactor(be): add method to config 2022-01-26 12:14:56 +05:00
Denis Gukov
4d00ee863f fix(be): use encryption key from env if it is provided 2022-01-25 19:34:52 +05:00