Commit Graph

525 Commits

Author SHA1 Message Date
fiftin
224fe10d2f
feat: support http protocol 2024-05-23 19:56:39 +02:00
fiftin
09cf43e126
fix(inventory): optional repo 2024-05-22 19:10:32 +02:00
Denis Gukov
00140cb8ab
Inventory repo (#2040)
* feat: add repo for inventory

* feat: add inventory repo

* feat: cloning inventory repo

* fix: error message for inventory path

* fix: error message for inventory path
2024-05-22 19:00:28 +02:00
fiftin
c970625d50
fix: integration -> integration id 2024-05-21 18:13:31 +02:00
fiftin
3157397665
fix: merge conflict 2024-05-21 16:06:30 +02:00
fiftin
737a1a5ef7
chore: change integration field to integration id 2024-05-21 16:05:38 +02:00
Denis Gukov
a3a4a1ca69
Merge branch 'develop' into develop 2024-05-20 15:46:18 +02:00
fiftin
599cd15ab3
test: fix test 2024-05-20 14:07:28 +02:00
fiftin
7efee5ead0
test: fix survey vars 2024-05-20 12:38:29 +02:00
fiftin
56e1b307a1
feat(ui): survey vars emum 2024-05-19 21:32:16 +02:00
Andreas Marschke
27e9fb1aa2 fix(integrations): Use payload instead of re-reading closed Body 2024-05-03 14:14:52 +02:00
fiftin
85f7d75720
fix(be): SSH connecting with wrong username https://github.com/semaphoreui/semaphore/issues/1964 2024-04-28 22:50:14 +05:00
fiftin
eed4586af1
Merge branch 'develop' of github.com:semaphoreui/semaphore into develop 2024-04-28 22:34:27 +05:00
guangwu
d7005bc153
fix: close dir 2024-04-28 10:42:25 +08:00
fiftin
3282bc7711
feat(be): add method GetUserCount 2024-04-25 16:28:28 +05:00
fiftin
f4593c6c4d
chore: remove extra switch 2024-04-22 15:25:32 +05:00
fiftin
269baf09fc
chore: limit list of projects to 200 2024-04-22 13:22:23 +05:00
fiftin
5a0c9b8e8b
chore: limit list of projects to 200 2024-04-22 13:15:32 +05:00
fiftin
15ad753e8e
chore: limit list of projects to 200 2024-04-22 12:48:40 +05:00
fiftin
d8ab83a0d7
fix(be): setting option in db 2024-04-22 01:38:12 +05:00
fiftin
a156eb90ca
feat: change option value length 2024-04-22 01:35:27 +05:00
fiftin
7fdcf63f13
fix: use app instead of type for validating template 2024-04-19 22:24:46 +05:00
Denis Gukov
f93969f340
feat: allow null for template's inventory (#1953)
* feat: allow null for template's inventory

* fix(web): show - if no inventory or environment provided

* test: fix tests

* test: fix tests

* test: fix tests

* fix: compile dredd test
2024-04-19 21:47:08 +05:00
Christian Kröger
72522b5b9b add url for task page to semaphore_vars 2024-04-19 15:05:35 +02:00
Denis Gukov
576344aa04
Merge pull request #1929 from tboerger/remove-lib-package
Get rid of lib package, use non-generic package names
2024-04-15 12:35:13 +05:00
yudrywet
94cf1e3270 chore: fix some typos in comments
Signed-off-by: yudrywet <yudeyao@yeah.net>
2024-04-14 20:22:07 +08:00
Thomas Boerger
d9d149fbc3
feat: move task logger into dedicated package 2024-04-12 12:32:54 +02:00
Thomas Boerger
1d7244a8c4
feat: move sshagent to separate package, update log interface 2024-04-12 12:21:05 +02:00
Denis Gukov
3d571c0319
Use Stdin to pass secrets to ansible-playbook (#1911)
* feat: pass secrets via stdin

* feat: use pty

* feat(pty): logs

* feat(secrets): works

* fix(secrets): use correct ask flag of ansible playbook

* test(secrets): change tests
2024-04-05 14:36:04 +02:00
fiftin
fa5752344c
fix(sql): escape table name 2024-04-03 00:09:43 +02:00
fiftin
dafc6590df
fix(users): update task log for admins 2024-04-02 23:50:52 +02:00
Denis Gukov
49cd47e8f8
fix(templates): delete template -> delete schedule (#1889)
* fix(templates): delete template -> delete schedule

* fix(templates): reset build temlate id and version if type is task
2024-04-02 19:43:49 +02:00
fiftin
ec036fd0c2 fix(sql): do not check of affected rows bacause it can return incorrect number 2024-03-31 12:34:05 +02:00
fiftin
c20a70e3a6 feat: empty env for new projects 2024-03-25 01:24:04 +01:00
fiftin
8964689383 feat(notifications): add emoji to messages 2024-03-23 20:33:48 +01:00
fiftin
8f9b9a74fe feat(integrations): add global alias 2024-03-23 13:37:15 +01:00
fiftin
194a889957 feat(integrations): github auth method 2024-03-22 23:01:32 +01:00
fiftin
d725fbca81 fix(integrations): auth check 2024-03-22 21:44:15 +01:00
fiftin
18c071e050 feat(integrations): use gojsonq instead of jsonq 2024-03-22 18:34:03 +01:00
fiftin
d3c81c6992 fix(integrations): boltdb support 2024-03-21 11:21:21 +01:00
fiftin
fd7896ff6b refactor(integrations): use deleteObject method 2024-03-21 10:56:17 +01:00
fiftin
b7c4339171 feat(integrations): support searchable integrations 2024-03-21 00:53:54 +01:00
fiftin
6f4ec9ac8f fix(integrations): public url 2024-03-21 00:23:55 +01:00
fiftin
94b418fb56 Revert "feat: remove searchable"
This reverts commit 5757aab5b2.
2024-03-21 00:17:34 +01:00
fiftin
fb1ef576b5 Revert "fix: remove ? from query"
This reverts commit ac284b5f4d.
2024-03-21 00:17:34 +01:00
fiftin
ac284b5f4d fix: remove ? from query 2024-03-20 23:59:53 +01:00
fiftin
5757aab5b2 feat: remove searchable 2024-03-20 23:47:18 +01:00
fiftin
02e13c7314 feat(integrations): allow multiple indices 2024-03-20 22:35:47 +01:00
fiftin
cfe279c6dc feat(integrations): implement alias gen/regen/remove 2024-03-20 16:30:55 +01:00
fiftin
dc799809a1 feat(integrations): add alias manipulations methods for sql 2024-03-20 14:55:47 +01:00
fiftin
65d7a467fa feat(integrations): add alias management endpoints 2024-03-20 14:01:52 +01:00
tothakos-code
21f9b50b66 feat: add secret survey field type 2024-03-19 09:49:33 +01:00
fiftin
5551cd1a1e feat: validate repo before save 2024-03-18 15:37:40 +01:00
fiftin
6e5bac8130 fix: validate inventory before save 2024-03-18 15:33:40 +01:00
fiftin
8486b43380 fix(be0: set null instead of cascade for holder_id 2024-03-11 23:12:57 +01:00
fiftin
0704828119 fix(be): save project type 2024-03-11 01:04:47 +01:00
fiftin
4c8312bc9b feat(be): add none inventory type 2024-03-10 22:58:35 +01:00
fiftin
8a6d5821f8 Revert "feat: make inventory optional for template"
This reverts commit f6f3e4228f.
2024-03-10 22:56:58 +01:00
fiftin
8aafae1417 Merge branch 'develop' of github.com:ansible-semaphore/semaphore into develop 2024-03-10 22:51:37 +01:00
fiftin
f6f3e4228f feat: make inventory optional for template 2024-03-10 22:51:28 +01:00
Denis Gukov
f4edc70f08
Merge pull request #1818 from NikitaDef/feature/fix_deprecation
Fix deprecation io/ioutil
2024-03-10 20:50:45 +01:00
gavrilov.nikita
741a6748fd Fix deprecation io/ioutil 2024-03-10 22:07:19 +03:00
fiftin
51c4a95268 feat: implement options for sql 2024-03-10 19:14:08 +01:00
fiftin
522513b375 feat(be): implement options for boltdb 2024-03-10 19:00:15 +01:00
fiftin
710c7df275 feat: implement options for boltdb 2024-03-10 18:55:42 +01:00
fiftin
a90b270dc5 feat(be): add fields to the models 2024-03-10 13:13:44 +01:00
fiftin
2bdcc8b043 feat: add fields to migrations 2024-03-10 13:08:45 +01:00
fiftin
479eb889f8 refactor: add type InventoryType 2024-03-09 20:23:38 +01:00
fiftin
84f7dae074 feat: remove type for inventory :) 2024-03-09 20:05:12 +01:00
fiftin
1951e8ebb2 feat: add type for inventory 2024-03-09 20:03:19 +01:00
fiftin
60976d1afb fix(bolt): return not nil 2024-03-08 18:13:16 +01:00
fiftin
b1396dcae2 feat: add project type 2024-03-07 19:50:48 +01:00
fiftin
13e1cac83e feat(integrations): manipulation by aliases in boltdb 2024-03-07 11:06:12 +01:00
fiftin
2c2e7df311 feat(integrations): add alias methods 2024-03-07 10:32:25 +01:00
fiftin
3e052de57f feat(integrations): add alias table 2024-03-07 09:49:34 +01:00
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