semaphoreui / semaphore Goto Github PK
View Code? Open in Web Editor NEWModern UI for Ansible, Terraform, OpenTofu, Bash, Pulumi.
Home Page: https://semaphoreui.com
License: MIT License
Modern UI for Ansible, Terraform, OpenTofu, Bash, Pulumi.
Home Page: https://semaphoreui.com
License: MIT License
To go with #19
Hi,
I have just installed Semaphore under Ubuntu following the readme instructions but I am unable to login with the default credentials. The Semaphore login page comes up fine at localhost but entering the credentials just redirects to the login page again. UMongo tells me the user '[email protected]' is in the database.
Log says:
GET / 304 8.508 ms - -
GET /view/auth/login 304 7.786 ms - -
POST /auth/password 201 75.863 ms - 7
GET / 304 7.934 ms - -
GET /view/auth/login 304 12.306 ms - -
Any advice on how to correct this?
I use host specific ssh keys. Looks like semaphore doesn't support this yet?
I have the playbook in path caps-sps/jenkins_mesos/ansible/jenkins_ansible.yml
I added the same in Semaphore Jobs section, but seeing the below error. Can you please suggest?
runner.js:241
Starting play caps-sps/jenkins_mesos/ansible/jenkins_ansible.yml.
runner.js:241 ERROR! the playbook: caps-sps/jenkins_mesos/ansible/jenkins_ansible.yml could not be found
runner.js:216 done. 1
Hi,
I'm getting semaphore to crash when running a playbook.
Steps to reproduce:
If you could also a HOWTO for a test playbook flow, that would help the end user use this. Thanks
Thinking of starting up a piwik instance and giving Anonymous read access for anyone interested.
I want to ask what the users think of this.
It would be opt-in. You would get a dialog when its introduced, asking if you want to enable anonymous data collection and a link where the aggregates can be viewed.
Couple of points regarding privacy:
What would be collected:
It would help analyse how semaphore is used.
Just ran through the quickstart installation and it doesn't appear to be working...
Version information:
OS: OSX 10.10.2 (newest)
vagrant: 1.7.2
vagrant up
runs perfectly fine, all steps are run with no issues but http://localhost:3000 doesn't serve up anything. What are some steps to figure out what is going on here?
Thanks
I use aws with ansible, so dynamic inventory is used instead of adding hosts manually. Is this possible with semaphore?
Documentation for running playbooks from local machine? I am not able see the documentation for running test playbooks with git repo, if I have missed it, can you point the documentation.
Repro:
JS Console will balk, citing Error: No such state 'playbook.view'
.
Originates from public/js/controllers/playbook/edit.js:21
$state.transitionTo('playbook.view', {
playbook_id: data._id
});
Hey, first off: thank you for Semaphore!
I'm working on an Ansible role to get Semaphore rolled out to SmartOS zones.
Unfortunately I'm hitting some issues getting Semaphore up and running.
When running grunt serve
, it gets to 'starting node lib/app.js
', and crashes with:
Fatal error: watch ENOENT
Warning: Use --force to continue.
Aborted due to warnings.
Here's the output from grunt --verbose serve
.
A lot easier to read if you use the following:
cat < <(curl -L https://gist.github.com/cmacrae/210efa232968a6d7591d/raw/2bd4fcf31b18bd180226ae609acb12ddb0506278/semaphore.log)
I'm running node v0.10.33. Could this be the problem? I see that your requirements state node.js >= 0.11.x
If that is likely the case, feel free to tell me where to go, and I'll try and hack on.
I've never worked with node before, or javascript for that matter, so please let me know if there are further debugging steps I can take to help narrow down the problem.
Thanks in advance
Hi All,
I added a new user using Users > Add screen. After i added the users with the details, i am not able to login with that user. It always says "Nope. Incorrect Credentials!". I tried adding couple other accounts but still got the same error. Any thoughts?
[16/Mar/2016:20:38:36 +0000] "POST /auth/password HTTP/1.1" 400 42 "http://96.119.243.254/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:39.0) Gecko/20100101 Firefox/39.0"
[16/Mar/2016:20:38:38 +0000] "POST /auth/password HTTP/1.1" 400 42 "http://96.119.243.254/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:39.0) Gecko/20100101 Firefox/39.0"
Let me know if any details required. Thanks.
Be able to enable/disable jobs for a job
This will enable better control over what happens when the job runs
Can you guys take the info from this article: http://code-complete.com/code/?p=40
(or your own experience) and provide setup details for deploying semphore on
a plain old Linux server with Node running? Among other things, that might
help people who want to understand the article interaction a bit better. Thanks!
Hi,
This project is amazing, please keep up with the good work :).
Reading the README file, I've encounter a section that is not very clear to me, specifically it is the "Note to Ansible guys" one.
Thanks very much for making Ansible, and Ansible Tower. It is a great tool!. Your UI is pretty horrible though, and so we'd be happy if you could learn and use parts of this tool in your Tower.
Who did the previou affirmation? Where? When?
It would be amazing if this could be your Community Edition of Ansible Tower.
Is this a response or a second part of the same sentence?
Hello @matejkramny ! Do you develop this project or it's needed to fork this repo?
Default admin user gets recreated even if deleted from panel
https://github.com/ansible-semaphore/semaphore/blob/master/lib/config.js#L66
Trying to run a playbook that references a role I get the following error:
Starting play run.yml.
ERROR: cannot find role in /root/playbook_5605429dd87177010043a335/roles/achaussier.apache or /root/playbook_5605429dd87177010043a335/achaussier.apache or /etc/ansible/roles/achaussier.apache
/etc/ansible/roles/achaussier.apache exists on the semaphore host.
I included a roles directory in my unusable-apache reposthat the job is calling and the job ran successfully.
My playbook contains:
- hosts: all
remote_user: mick
sudo: yes
remote_user: mick
roles:
- achaussier.apache
What is the correct way to reference that role in semaphore so I don’t have to duplicate roles in each playbook repository?
Glad to see this alternative to Tower... great work....
Before I dive in, was wondering if this worked with roles and/or with Ansible's standard project/folder structures... so if the Github repo has playbooks which reference roles that are also stored in that repo?
Thanks
Hi,
I have just installed Semaphore under vagrant following the readme instructions but I am unable to login with the default credentials. The Semaphore login page comes up fine at localhost:3000 but then I get this:
0 Request Failed. Try again later.
Any advice on how to correct this?
At version e8ce2a7, seeing the following error after starting semaphore as 'nodemon bin/semaphore'
app.js:110 Semaphore listening on port 50000
../node_modules/bugsnag/lib/logger.js:29 Bugsnag: Error: spawn ENOENT
at errnoException (child_process.js:1011:11)
at Process.ChildProcess._handle.onexit (child_process.js:802:34)
This is probably not an issue, but need help debugging this. I don't know where to start.
I am trying to understand why bugsnag is a dependency. I reviewed bugsnag and they don't seem to have a free plan. They have a free trial plan, but after the current 30 day limit the bugsnag dependency will cause issues.
It would be nice if the dependency were ignored when the configuration was not supplied in the credentials.json file.
After running node bin/semaphore.js , i get the error
root@puppetmaster:/home/sateam/semaphore-master# node bin/semaphore.js
[trace] app.js:110 Semaphore listening on port 5000
[trace] app.js:47 Mongodb connection established
GET / 304 487.081 ms - -
LESS File error : '../vendor/fontawesome/less/font-awesome.less' wasn't found. Tried - /home/sateam/semaphore-master/public/vendor/fontawesome/less/font-awesome.less,../vendor/fontawesome/less/font-awesome.less
LESS File : /home/sateam/semaphore-master/public/css/semaphore.less 13:0
GET /vendor/requirejs/require.js 304 73.432 ms - -
Error: '../vendor/fontawesome/less/font-awesome.less' wasn't found. Tried - /home/sateam/semaphore-master/public/vendor/fontawesome/less/font-awesome.less,../vendor/fontawesome/less/font-awesome.less
At the browser end i am able to see only * Loading... * text
Hi. I tried to run any job that has been created, but I did. Added a deploy key, the same that I synced my semaphore-host with Github, put an address of my repo, added group, which name is the same that in /etc/ansible/hosts, but job is failed.
Task output: Updating SSH Keys; SSH Keys Updated.
Checked this issue in Google, but nobody forced with it. Screenshots of my semaphore is below, if I didn`t explained clear.
Using the current docker image running iojs 3.x.x, fails during installation of hiredis node module.
The problem is linked to an issue with hiredis 0.4.0 & nan.
redis/hiredis-node#95
redis/hiredis-node#96
It doesn't look like the hiredis fix has been merged into master yet.
It's great that this can be run via Vagrant, but is it possible to get a way to run it via Docker as well?
It will be really nice to keep group_vars in the db (and also the ability of editing them)
It will be great if in the host form we had the chance of creating group_vars which would be stored in DB.
latter in the runner Those group_vars would be retrieved and stored under group_vars/group
Task spec:
Hi, while trying to change default users password, I have deleted the admin user. Now I can not recreate one or login. I believe the UI should not let user to delete admin user ;-)
BTW, when this happens, how do I create a new admin user? Directly in MongoDB?
thank you
Hi!
Ansible 2.0 has arrived http://www.ansible.com/blog/ansible-2.0-launch ! Can you rebuild docker image with new version? Ansible 2.0 is avalible with pip install
Thank!
I've been having issues similar to issue 23 except I get the bugsnag ENOENT when semaphore goes to execute the playbook.
I've tried running it with debug logs as well as strace but can't tell why I'm getting the spawn error on ansible-playbook.
I've confirmed that I can run the ansible-playbook command manually against the downloaded playbook. Git is installed and semaphore connects to git just fine and downloads the playbook.
I tried debugging the runner.js but I'm no whiz at javascript and I couldn't find anything out of place and I'm guessing it's either an issue with my vault key or the fact that I'm using winrm?
Here's the basic error -
node /srv/semaphore/bin/semaphore.js
app.js:110 Semaphore listening on port 80
app.js:47 Mongodb connection established
express deprecated res.send(status): Use res.sendStatus(status) instead ../srv/semaphore/lib/routes/task/tasks.js:79:6
::ffff:10.10.0.50 - - [22/Dec/2015:14:54:13 +0000] "POST /playbook/56787e7e389c472a006f0d6c/job/56787ece389c472a006f0d6d/run HTTP/1.1" 201 7 "http://semaphore-host.example.com/playbook/56787e7e389c472a006f0d6c/jobs" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36"
runner.js:240 Updating SSH Keys
runner.js:240 SSH Keys Updated.
runner.js:240
Downloading Playbook.
runner.js:240 Cloning into 'playbook_56787e7e389c472a006f0d6c'...
runner.js:240
Playbook Downloaded.
runner.js:240
Set up Ansible Hosts file with contents:
[windows]
192.168.1.10
runner.js:240
Starting play config/2012/Base.yml.
../node_modules/bugsnag/lib/logger.js:29 Bugsnag: Error: spawn ansible-playbook ENOENT
at exports._errnoException (util.js:746:11)
at Process.ChildProcess._handle.onexit (child_process.js:1054:32)
at child_process.js:1145:20
at process._tickDomainCallback (node.js:381:11)
I've attached more detailed logs (strace and node-debug) as well as my customized Dockerfile if you want to try and reproduce. I needed a later ansible to get some of the newer win_modules.
This is nodejs v0.12.9
I've been playing with semaphore for a while now. Good alternative if Ansible Tower isn't an option.
One feature that I'd like to see is a REST API so that it would be possible to fire off playbooks via an API. Would this be possible / been looked at?
Cheers.
Any design input welcome!
I think this is an enhancement instead of an issue.
Think about host being globals:
The functionality at this point is great, the only thing that prevents me from using it is that I can't specify passwords for privilege escalation (or I must allow paswordless-sudo escalation, which is a non-starter). Is this on the roadmap?
Hello,
I need help installing without docker and without vagrant .
I have a production server with Ansible and only wish to apply the web layer " semaphore" . You can help with installation?
Regards
What are the requirements to run with OpenShift? Is this is a Node.js with Mongo application?
Please support the --tags and --skip-tags feature of ansible playbooks.
Description:
please add two optional fields to the GUI:
To make it more complete, both fields could be type of multi-select and the options should be populated by running the ''ansible-playbook x.yml --list-tags"
The docker image contains two fully installed application instances,
one in /srv/semaphore
and the other in /usr/src/app/
.
This is because of the nature of the iojs:onbuild image. It uses ONBUILD directives that both copy and install the application dependencies at /usr/src/app
as the first steps in a dockerfile that choose it as a parent. This can be seen at the top of the build output.
Sending build context to Docker daemon
Step 0 : FROM iojs:onbuild
# Executing 3 build triggers
Trigger 0, COPY package.json /usr/src/app/
Step 0 : COPY package.json /usr/src/app/
Trigger 1, RUN npm install
Step 0 : RUN npm install
---> lots of npm
Trigger 2, COPY . /usr/src/app
Step 0 : COPY . /usr/src/app
---> d6bb6ad37b43
Afterwards, the semaphore docker file does the same, but at /srv/semaphore
.
Recommend either shifting away from the :onbuild
tag to :1.6
or changing the expected app root to the one assumed by the onbuild image.
Hey guys.
I wasn't familiar with nodejs before attempting to run this project. Unfortunately the project isn't thoroughly documented on how to get it started for users new to the platform.
Anyhow, I downloaded the files, ran npm installs against dependencies, and as I see on other guides of nodejs apps, I downloaded supervisor and pm2 in order to run the tool.
Unfortunately both seem to fail.
[root@me bin]# supervisor semaphore.js
Running node-supervisor with
program 'semaphore.js'
--watch '.'
--extensions 'node,js'
--exec 'node'
Starting child process with 'node semaphore.js'
Watching directory '/home/ameen/semaphore-master/bin' for changes.
Press rs for restarting the process.
/home/ameen/semaphore-master/node_modules/bindings/bindings.js:91
throw err
^
Error: Could not locate the bindings file. Tried:
→ /home/ameen/semaphore-master/node_modules/bcrypt/build/bcrypt_lib.node
→ /home/ameen/semaphore-master/node_modules/bcrypt/build/Debug/bcrypt_lib.node
→ /home/ameen/semaphore-master/node_modules/bcrypt/build/Release/bcrypt_lib.node
→ /home/ameen/semaphore-master/node_modules/bcrypt/out/Debug/bcrypt_lib.node
→ /home/ameen/semaphore-master/node_modules/bcrypt/Debug/bcrypt_lib.node
→ /home/ameen/semaphore-master/node_modules/bcrypt/out/Release/bcrypt_lib.node
→ /home/ameen/semaphore-master/node_modules/bcrypt/Release/bcrypt_lib.node
→ /home/ameen/semaphore-master/node_modules/bcrypt/build/default/bcrypt_lib.node
→ /home/ameen/semaphore-master/node_modules/bcrypt/compiled/0.10.36/linux/x64/bcrypt_lib.node
at bindings (/home/ameen/semaphore-master/node_modules/bindings/bindings.js:88:9)
at Object.<anonymous> (/home/ameen/semaphore-master/node_modules/bcrypt/bcrypt.js:3:35)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/home/ameen/semaphore-master/lib/models/User.js:1:76)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at /home/ameen/semaphore-master/lib/models/index.js:12:26
Program node semaphore.js exited with code 8
pm2 isn't any better, it just shows (errored).
I noticed from various files in the project that you run redis and other stuff. Do I need to run these things separately first or it should be automagically ran through your bin file?
Details on how can I kick things off would be much appreciated.
Thanks!
It would be really good if semaphore can also play playbooks from a local server in my n/w or on the host machine where I 've installed semaphore. I might not keep all my ansible code in github for various reasons.
Please suggest if this can be released in future or it's not feasible at all.
Hello, I'm also writing a ansible based management tool, but now found back-end rq worker processes do not directly on the background, don't know for backend worker program, how is your side
My English is not very good, please forgive me. Thanks
The app is hard to deploy and host because you have to deal with a JSON config file that you don't want checked in but needs to be on the server. It would make sense for the config object to try to read from ENV and fall back to defaults. This would make it easier to deal with and deploy.
When creating a new playbook, the identity is not saved in database.
Hi,
I really like semaphore, but the problem is that I don't run my infrastructure in docker and I don't want to run semaphore as root
user.
It would be great if we could run semaphore as a normal user eg. semaphore
.
Hi,
I'm currently trying to install semaphore in my corporation network.
The main goal is to test ansible and semaphore for a day-to-day use, to distribute some django web applications for LAN and for the web.
I'm currently working behind a corporate proxy (which is a NTLM one behind a cntlm authentication proxy for linux boxes). The proxy works perfectly... proxy address is like http://<proxy_address>:3128/
I'm trying to setup semaphore's vagrant image, but it does not work due to this proxy. There are multiple areas where proxy is blocking install requests :
Each of those requests are blocked by the proxy...
I'm a really beginner in ansible tech, I've took a look at playbooks, hack a bit into them, and I'm not a vagrant fan. Is there a simple way to install semaphore
Thanks for your help !
PS : commit a little bit speedy at first attempt...
I don't know what I'm doing wrong, but I'm on Ubuntu 14.04 with docker version 1.5.0, build a8a31ef
.
I've followed the basic installed but I'm getting a 500 on the CSS file located at http://domain/css/semaphore.css
which means the interface never loads. I get a 500 error.
css/semaphore.less
does exist however and that loads fine.
What am I doing wrong?
How can I get access for bash-shell inside container? Standard way with docker exec
does not work.
$ docker exec -it semaphore bash
no such file or directory
Thanks!
I followed the instructions in the README.md for Docker Quick Start. After getting the three containers up and running I see this in the logs for semaphore:
Mongodb Connection Error: { [MongoError: connect EHOSTUNREACH 172.17.0.25:27017]
name: 'MongoError',
message: 'connect EHOSTUNREACH 172.17.0.25:27017' }
For the Mongo container I see this in the logs:
2015-09-07T15:21:35.814+0000 I NETWORK [initandlisten] waiting for connections on port 27017
I tried just using -p 27017:27017 for mongo, thinking maybe it was only listening on localhost but same results in logs.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.