Code Monkey home page Code Monkey logo

docs's Introduction

Rundeck

Travis Deb RPM War
Travis CI Download Download Download

Rundeck is an open source automation service with a web console, command line tools and a WebAPI. It lets you easily run automation tasks across a set of nodes.

See the Release Notes for the latest version information.

How To Build:

Primary build is supported with gradle. More info in the wiki.

Requirements: Java 1.8, NodeJs 16

Build with Gradle

Produces: rundeckapp/build/libs/rundeck-X.Y.war

./gradlew build

Docker Build

Uses the war artifact and produces a docker image.

Creates image rundeck/rundeck:SNAPSHOT, you can define -PdockerTags to add additional tags

./gradlew :docker:officialBuild

Documentation

Available online at https://docs.rundeck.com/docs

FAQ: https://github.com/rundeck/rundeck/wiki/FAQ

Development

Refer to the IDE Development Environment to get set up using IntelliJ IDEA or Eclipse/STS.

Do you have changes to contribute? Please see the Development wiki page.

License

Copyright 2023 Rundeck, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

docs's People

Contributors

ahormazabal avatar bproverb avatar brmdias avatar chrismcg14 avatar cwaltherf avatar darwisnarvaezdev avatar ddarby-hike avatar dldrk avatar ehe-pd avatar fdevans avatar fgutierrezz avatar g3nsvrv avatar gschueler avatar jessemarple avatar jesus-osuna-m avatar jgarces-pd avatar jplassnibatt avatar jsboak avatar jtobard avatar l2je avatar lcanavosio avatar ltamaster avatar mcat115 avatar megadrive68k avatar mishingo avatar protip avatar rmeloamaro avatar sjrd218 avatar travisrd avatar wayfaringson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docs's Issues

MS SQL Server setup not in the section with the other databases

The Administrator Guide has a section "Setting up a RDB Datasource", but it doesn't contain the info for SQL Server (which led me to believe it wasn't supported).

http://rundeck.org/docs/administration/setting-up-an-rdb-datasource.html

However - in the Installation Guide, in the "Install on Windows" section, there are instructions for using SQL Server

http://rundeck.org/docs/administration/installation.html#mssql-as-a-backend

I'd suggest moving the info from the Installation guide to the Administrator Guide.

This is in the version 2.11.4 documentation.

Execution fails on new installation project with script resource model source

Issue type: Bug report
My Rundeck detail

  • Rundeck version: 2.7.3-1
  • install type: WAR
  • OS Name/version: CentOS 7.3

Expected Behavior
When Rundeck is installed and a project is defined with a script Resource Model Source, we expect it to be able to run a job in this project right away, loading the execution nodes from the resource model source.

Actual Behavior
When a job is executed in a project after setup as described above, the execution fails with the following error:

com.dtolabs.rundeck.core.NodesetEmptyException: No matched nodes: NodeSet{includes={name=sample-node, dominant=false, }}
at com.dtolabs.rundeck.core.execution.workflow.NodeFirstWorkflowExecutor.validateNodeSet(NodeFirstWorkflowExecutor.java:350)
at com.dtolabs.rundeck.core.execution.workflow.NodeFirstWorkflowExecutor.executeWorkflowImpl(NodeFirstWorkflowExecutor.java:88)
at com.dtolabs.rundeck.core.execution.workflow.BaseWorkflowExecutor.executeWorkflow(BaseWorkflowExecutor.java:317)
at com.dtolabs.rundeck.core.execution.WorkflowExecutionServiceThread.run(WorkflowExecutionServiceThread.java:55)
Exception: class com.dtolabs.rundeck.core.NodesetEmptyException: No matched nodes: NodeSet{includes={name=sample-node, dominant=false, }}
No matched nodes: NodeSet{includes={name=sample-node, dominant=false, }}

However, it seems that even though this execution fails, the nodes are loaded from the script source properly, and the second execution works as expected.

How to reproduce Behavior

  • Install Rundeck
  • Setup a project with a script Resource Model Source that defines some nodes
  • Create a job that executes on one of the defined nodes
  • Run the job

Document create project api supports description

It wasn't clear originally but the API for creating projects supports setting the description. Originally I thought I might be required to set it as a key/value but after testing it does appear that <description>foo</description> in the posted xml appropriately sets the description.

Document what the html log filter actually does

The HTML log filter gives the user the impression that it renders the html produced by the step, and this results in a lot of time wasted trying to figure out what's wrong with the html produced by the step, when really the log filter is "sanitizing" it in undocumented ways.

There needs to be clear documentation of what this (and the other) log filters actually do.

Access the encrypted storage keys in NodeExecutor plugin

Issue type: Seek Information

I have encrypted the storage keys using jasypt

rundeck.storage.converter.1.type=jasypt-encryption
rundeck.storage.converter.1.path=keys
rundeck.storage.converter.1.config.encryptorType=custom
rundeck.storage.converter.1.config.passwordSysPropName=encwithaessha256128
rundeck.storage.converter.1.config.algorithm=PBEWITHSHA256AND128BITAES-CBC-BC
rundeck.storage.converter.1.config.provider=BC

I have a customized python script which is used as NodeExecutor (SSH plugin).

Questions

1) How can I access these keys in SSH plugin?

Is it like below:

Node level: ssh-key-storage-path attribute on the Node. Applies only to the target node.
Project level: project.ssh-key-storage-path property in project.properties. Applies to any project node by default.
Rundeck level: framework.ssh-key-storage-path property in framework.properties. Applies to all projects by default.

2) How can I decrypt these keys and use in SSH plugin

My Rundeck detail

Rundeck version: 2.8.1_1
install type: (rpm,deb,war,launcher?) rpm
OS Name/version: Linux
DB Type/version: mysql? postgres? h2?..

OSS repo path and steps

http://rundeck.org/3.0.x-SNAPSHOT/administration/install/ubuntudebian.html
OSS install section should point to "deb https://rundeck.bintray.com/rundeck-deb /", second line is not needed, third and fourth lines do the same action:

echo "deb https://rundeck.bintray.com/rundeck-deb /" | sudo tee -a /etc/apt/sources.list.d/rundeck.list
USE THIS OR THE ONE BELOW curl 'https://bintray.com/user/downloadSubjectPublicKey?username=bintray' | sudo apt-key add -
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 379CE192D401AB61
sudo apt-get update
sudo apt-get install rundeck

announce bintray debian repos

Bug report

My Rundeck detail

  • Rundeck version: any
  • install type: deb (rpm,deb,war,launcher)
  • OS Name/version: Debian Jessie

Expected Behavior

rundeck releases deb Files to bintray (as its done with rpms):
https://bintray.com/rundeck/rundeck-deb
but the documentation never mentions the ability to use those repos.

Actual Behavior

Documentation does not reflect bintray rundeck-deb repos

How to reproduce Behavior

read documentation

Enhancement request

please update the docu or readme so i can tell the voxpupuli people to merge my PR for debian installation:-)
...

Documentation bug - Database JDBC Driver Jar File locations

The documentation for different databases (SQL Server and Oracle) in this case are at odds with each other as to where to put the JDBC JAR file, and neither is correct if you are using the RPM (or DEB) installation method.

SQL Server page says to put it here: Place it under %RDECK_BASE%
Oracle page says to put it here: Copy the downloaded file ojdbc7.jar to the $RDECK_BASE/server/lib

There is no 'server/lib' directory anywhere. RDECK_BASE seems to end up as /var/lib/rundeck, which has no "server" subdirectory.

You can put the JAR in "/var/lib/rundeck/exp/webapp/WEB-INF/lib", or modify the rundeckd script and point to a more central location. What's the preferred method? I'm not a fan of either of them.. but at a minimum I think the docs should be consistent and correct.

result.reason returning Unknown instead of NoMatchedNodes

I created a job with a job reference inside. On the job reference i overridden the filter with another. The filter i entered returns an empty set of nodes. I added a simple error handler to catch the error and print the error reason. In the anvils demo the filter i entered is tags: www+db which returns an empty set. The error handler simply does echo ${result.reason}.

Expected result:

echo ${result.reason} output is NoMatchedNodes

Obtained result:

echo ${result.reason} output Unknown

Samples

No nodes matched for the filters: NodeSet{includes={tags=www+db, dominant=false, }}
Failed dispatching to node app1.anvils.com: com.dtolabs.rundeck.core.execution.workflow.steps.StepException: No nodes matched for the filters: NodeSet{includes={tags=www+db, dominant=false, }}
Unknown
Execution failed: 4: [Workflow result: , step failures: {1=Dispatch failed on 1 nodes: [app1.anvils.com: Unknown: com.dtolabs.rundeck.core.execution.workflow.steps.StepException: No nodes matched for the filters: NodeSet{includes={tags=www+db, dominant=false, }}]}, Node failures: {app1.anvils.com=[Unknown: com.dtolabs.rundeck.core.execution.workflow.steps.StepException: No nodes matched for the filters: NodeSet{includes={tags=www+db, dominant=false, }}]}, flow control: Continue, status: failed]

Countercheck

I did also a test to check if the my usage of ${result.reason} variable is correct. the error handler remained the same and inserted a correct filter on the called job. The called job executes an exit 1, so is an always failing job. In this case the value of ${result.reason} correctly becomes JobFailed.

Countercheck sample output:

Remote command failed with exit status 1
Failed: NonZeroResultCode: Remote command failed with exit status 1
Failed: JobFailed: Job [TEST/failing job] failed
JobFailed
Execution failed: 6: [Workflow result: , step failures: {1=Dispatch failed on 1 nodes: [app1.anvils.com: JobFailed: Job [TEST/failing job] failed]}, Node failures: {app1.anvils.com=[JobFailed: Job [TEST/failing job] failed]}, flow control: Continue, status: failed]

Sample jobs

These are the jobs i created on anvils-demo. You can import and run immediately to check the issue.

fc5429cb-5ec9-4f49-bd37-30a140be6a92.yaml.txt
896799cb-1990-42f2-b17c-fb762f4b1f0a.yaml.txt

Document how terminal works with workflow steps/new CLI tools

Documentation Request

When installing a new feature on Rundeck, such as a new command-line tool (in this case, rbenv), it seems that a restart of rundeck is required in order to get that tool to be recognized when used in an ad-hoc command or locally executed job step. It should be documented that this is the case - I kinda went down a rabbit hole trying to figure out why it worked when I had an SSH session to the rundeck app server but not with an adhoc command.

My Rundeck detail

  • Rundeck version: 2.6.7-1
  • install type: rpm
  • OS Name/version: RHEL-6.8

Expected Behavior

n/a

Actual Behavior

Need to restart rundeck to access newly installed command-line tools.

How to reproduce Behavior

Install a new tool (for example, rbenv) on the rundeck app server, and then try using this tool from the Rundeck app through an adhoc command executed locally on the rundeck app server. (It should fail with something like "command not found".)

Launcher: Allow configuring embedded jetty threadpool

Bug report

My Rundeck detail

  • Rundeck version: 2.7.1
  • install type: launcher (rpm,deb,war,launcher)
  • OS Name/version: Solaris 11 sparc

I tried to upgrade from 2.6.3 and installing from scratch with the usual :
/usr/jdk/instances/jdk1.8.0/jre/bin/java -jar rundeck-launcher-2.7.1.jar

rundeck start but every http request stuck forever.
I run with "-Dorg.eclipse.jetty.LEVEL=DEBUG" and I see that the connection is accepted :

2017-01-14 23:41:39.595:DBUG:oeji.SelectorManager:qtp1888420238-270-acceptor-0-ServerConnector@2f4ba1ae{HTTP/1.1}{0.0.0.0:4440}: Queued change org.eclipse.jetty.io.SelectorManager$ManagedSelector$Accept@570ff27f

but it gets timed out as if the browser didn't send anything :

2017-01-14 23:41:39.660:DBUG:oeji.SelectorManager:qtp1888420238-37-selector-0: Selector loop waiting on select

[after a while]

2017-01-14 23:42:09.605:DBUG:oeji.IdleTimeout:Scheduler-71843125: SelectChannelEndPoint@72b3e839{/192.168.56.98:47407/192.168.56.98:4440,o=true,is=false,os=false,fi=FillInterest@47339d2e{false,null},wf=WriteFlusher@200b33cb{IDLE},it=30000}{HttpConnection@3903b3cd{INTERESTED},g=HttpGenerator{s=START},p=HttpParser{s=START,0 of 0}}{io=0,kio=0,kro=1} idle timeout check, elapsed: 29946 ms, remaining: 54 ms


Actual Behavior


How to reproduce Behavior


Enhancement request

(For enhancements: Please search the existing Issues and look at the Trello board for your idea before posting.)

...

Improve SSL configuration documentation, instructions for using existing pem certificate

Issue type: Bug report/Enhancement Request

My Rundeck detail

  • Rundeck version: 2.8.2-1
  • install type: (rpm,deb,war,launcher?) deb
  • OS Name/version: ubuntu xenial
  • DB Type/version: mysql? postgres? h2?.. mysql

Expected Behavior
The documentation for configuring SSL only has detail about generating a self-signed certificate. I've burned countless hours trying to get it to be accepted as valid SSL by chrome using komodo certs.
I finally got it working by putting my private key in private.key, my cert and ca_bundle together in combined.pem, then exporting to pkcs12 format with
openssl pkcs12 -export -name rundeck.mydomain.com -in combined.pem  -inkey  private.key  -out keystore.p12
specify the key.password you want to use, then import to keystore with:
keytool -importkeystore -destkeystore keystore -srckeystore keystore.p12 -srcstoretype pkcs12 -alias rundeck.mydomain.com
and copy keystore to truststore, and put both in /etc/rundeck/ssl/ and edit ssl.properties in that directory with the appropriate key.password and keystore.password and matching truststore.password.

Now I have the green "Secure" badge in my Chrome browser, but I still have another issue which may be related, ec2 plugin is complaining about "com.amazonaws.AmazonClientException: Unable to execute HTTP request: peer not authenticated"

Actual Behavior

How to reproduce Behavior

After 3.0 upgrade, threadCount setting in rundeck-configuration.properties ignored

After upgrade

in /etc/rundeck-configuation.properties:
org.quartz.threadPool.threadCount = 50

System Report page constantly displays:
"Quartz Scheduler thread usage is currently at 100%: 10/10 Threads in use.
Job and Ad-hoc executions will be queued until previous executions complete."

APIVERSION : 25
BASE : /var/lib/rundeck
BUILD : 3.0.0-20180727
BUILDGIT : v3.0.0-0-gb18732d
NODE : localhost
SERVERUUID :
VERSION : 3.0.0-20180727

76 Active Threads at the moment. The backlog is too high now. We are making some changes to job architecture to reduce this demand (fewer jobs waiting for input), but we'd like to have control.

Multiple reboots, no change.

This is on Fedora 27 with everything up to date.

Short of a fresh build on a clean platform, what should I try?

Default value definition for JSON based job option for referenced job

Issue type: Bug report

My Rundeck detail

  • Rundeck version: 2.5.0-1
  • install type: war
  • OS Name/version: Red Hat EL 6.6

Expected Behavior
JSON based job option definition allows it to define a default value, because default values are mandatory for referenced job execution, if the calling job does not define the option for the referenced job.

Actual Behavior
If a job with not defined options calls a referenced job with his own defined option, this works only, if the option has a default value. This works fine, if I define the default value manually in the option field.
But if the option value are read from a URL based JSON file, how can I define the default value in JSON syntax?
The following examples do not work:
[
{"name":"slave1-json-option", "value":"slave1-json-option", "defaultValue": true}
]
[
{"name":"slave1-json-option", "value":"slave1-json-option", "default": true}
]
[
{"name":"slave1-json-option", "value":"slave1-json-option", "selected": true}
]

I couldn't found any details for that topic in the Rundeck documentation, the examples above are based on issue 1189.

How to reproduce Behavior
Define a JSON based option and do not define the option field "Default Value"

Windows service throws error for the missing license

I have installed rundeckpro-windows-3.0.6-20180917, installed service, but it fails to start.
Is there any place I can put the license as I can't get to the next step for UI?

2018-09-19 15:33:27.409  INFO --- [           main] rundeckapp.BootStrap                     : Rundeck startup finished in 1164ms
Grails application running at http://xyz:4440 in environment: production
2018-09-19 15:33:35.778 ERROR --- [pool-2-thread-1] rundeckpro.license.LicenseService        : RundeckPRO License: Not Installed

Documentation bug

The security role section of the 3.0 documentation (Rundeck Documentation (3.0.0) | Administrator Guide | Security | Authenticating Users) still references "RPM/debian install path: /var/lib/rundeck/exp/webapp/WEB-INF/web.xml". However, after a fresh RPM install on RHEL7, the /var/lib/rundeck/exp/webapp is blank. Where do we set the default security role (especially for changing to LDAP authentication)?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.