foreman | an application that automates the lifecycle of servers | Infrastructure Automation library

 by   theforeman Ruby Version: 3.7.0-rc3 License: GPL-3.0

kandi X-RAY | foreman Summary

kandi X-RAY | foreman Summary

foreman is a Ruby library typically used in Devops, Infrastructure Automation, Ansible, Docker applications. foreman has no bugs, it has a Strong Copyleft License and it has medium support. However foreman has 19 vulnerabilities. You can download it from GitHub.

Foreman is a free open source project that gives you the power to easily automate repetitive tasks, quickly deploy applications, and proactively manage your servers life cycle, on-premises or in the cloud. From provisioning and configuration to orchestration and monitoring, Foreman integrates with your existing infrastructure to make operations easier. Using Puppet, Ansible, Chef, Salt and Foreman's smart proxy architecture, you can easily automate repetitive tasks, quickly deploy applications, and proactively manage change, both on-premise with VMs and bare-metal or in the cloud. Foreman provides comprehensive, interaction facilities including a web frontend, CLI and RESTful API which enables you to build higher level business logic on top of a solid foundation. Foreman is a mature project, deployed in many organizations, managing from 10s to 10000s of servers. It is used in distributions such as RDO and RHOS (Red Hat OpenStack distribution) and has an extensive library of plugins.

            kandi-support Support

              foreman has a medium active ecosystem.
              It has 2349 star(s) with 968 fork(s). There are 110 watchers for this library.
              It had no major release in the last 6 months.
              foreman has no issues reported. There are 46 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of foreman is 3.7.0-rc3

            kandi-Quality Quality

              foreman has 0 bugs and 0 code smells.

            kandi-Security Security

              foreman has 19 vulnerability issues reported (0 critical, 5 high, 14 medium, 0 low).
              foreman code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              foreman is licensed under the GPL-3.0 License. This license is Strong Copyleft.
              Strong Copyleft licenses enforce sharing, and you can use them when creating open source projects.

            kandi-Reuse Reuse

              foreman releases are not available. You will need to build from source code and install.
              Installation instructions are available. Examples and code snippets are not available.
              It has 136031 lines of code, 7673 functions and 3569 files.
              It has medium code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed foreman and discovered the below as its top functions. This is intended to give you an instant insight into foreman implemented functionality, and help decide if they suit your requirements.
            • Parses all adapters for this adapter
            • Helper method for adding associations
            • Sets up the host for the given host
            • Registers custom metrics for tracing
            • Defines nested accessor methods
            • Finds a resource with default scope
            • Send notification .
            • Fetches the system manager .
            • Fetch all information about the information for this table
            • Gets all audit values in the audit type .
            Get all kandi verified functions for this library.

            foreman Key Features

            No Key Features are available at this moment for foreman.

            foreman Examples and Code Snippets

            No Code Snippets are available at this moment for foreman.

            Community Discussions


            how to traverse through each line of a text file in ansible
            Asked 2022-Mar-22 at 06:49

            I have to traverse through package list file which contains list of packages with their architecture. How can I feed those input to my playbook file? I found a way to get the package names alone but architecture version is not coming. This is my package_list file



            Answered 2022-Mar-22 at 06:37


            how to read all lines from a file in ansible playbook
            Asked 2022-Mar-11 at 10:21

            I have a file called packages.txt which contains a list of packages. I have to read each line of that package.txt through my ansible file rpm.yml. Here is my code



            Answered 2022-Mar-11 at 10:21

            You will need an additional task to read the file. The simplest way would be to cat the file and register into a variable. Then this variable can be used for the next task.

            Something like:



            With docker-compose, how do I keep a container running even if the "command" fails?
            Asked 2022-Feb-14 at 22:07

            I’m using docker 20.10.12 on Mac Big Sur. I have the following snippet in my docker-compose file



            Answered 2022-Feb-14 at 22:07

            There are some possibilities. Basically you just want to wait indefinitely (or long enough for you to exec in to the container) after your main command failed. Here are some examples:

            • command: /bin/sh -c "foreman start -f myprocfile || sleep 2073600”
            • command: /bin/sh -c "foreman start -f myprocfile || tail -f /dev/null”
            • command: /bin/sh -c "foreman start -f myprocfile || while :; do sleep 2073600; done"

            Obviously it's a dirty hack that blocks cpu cycles so it should only be used for local debugging.

            EDIT: You might want to replace || with ; in case your command doesn't actually fail but just exits successfully.



            How do I run two commands as part of a single docker-compose "command"?
            Asked 2022-Jan-27 at 17:59

            I’m using Docker v. 20.10.12. I have set up this container in my docker-compose file …



            Answered 2022-Jan-27 at 16:59

            Try to put all your commands inside an external sh file. in docker-compose use

            command: /bin/sh -c ""



            Is there a way to use a generic hostname that will work in both Docker and localhost?
            Asked 2022-Jan-25 at 23:43

            I’m on Mac OS Big Sur and running the following Docker versions



            Answered 2022-Jan-25 at 23:43

            You can use ERB markup in the database.yml file, which lets you use an environment variable here. In general I'd suggest making default values for things be whatever default will work in a plain non-Docker development environment.



            How to get rid of keys and values ​while leaving some keys and values ​in a multidimensional array
            Asked 2022-Jan-07 at 14:42

            So I have a multidimensional array like this:



            Answered 2022-Jan-07 at 14:42

            Providing a similar but slightly different solution



            why does yarn --watch exit (send SIGTERM)
            Asked 2022-Jan-04 at 12:21

            I have a Docker installation that I would like to start with docker compose up (and not have to run 2 extra ttys ) so I added a looking like this



            Answered 2022-Jan-04 at 12:21

            Allow me to give credit to they who deserve it!! The correct answer was provided by earlopain in this issue on rails/rails

            It's actually an almost embarrassingly easy fix - once you know it :)

            Add tty: true to your docker-compose.yml - like this



            How to use foreman between 2 repo?
            Asked 2021-Dec-17 at 10:13

            I have a project. Although it is the same website, the front and back ends are divided into 2 repo(s), which are made by React and Ruby on Rails respectively. Therefore, every time I want to start a website locally, I must open 2 Ubuntu terminal windows.

            I heard that foreman can start both at once. Are there any examples to learn from? Thanks!



            Answered 2021-Dec-17 at 10:13

            You could just add foreman gem to you Gemfile and create file in your root directory.

            Inside of it, you add all of the processes you want to launch. So, it could be something like this:



            Redis caused Action Cable error and the local server was automatically shut down
            Asked 2021-Dec-02 at 16:03

            I have a Rails project in which the Action Cable uses Redis. The PC environment is Windows 10 + Ubuntu 18. Since I installed Docker and caused Ubuntu to fail to run normally, I removed and reinstalled Ubuntu. Since then, I have been unable to make this Rails project run on a local server (via "rails s" or "foreman s").

            Since I edited "redis.service" and "sysctl.conf" several times and still failed to solve the problem of Redis can't set maximum open files, I chose to remove Redis and install it again.

            After that, although the project can be activated temporarily (via "rails s" or "foreman s"), once I click on the hyperlink in the project (any web page other than Device), the server will automatically shut down. Through the log, I found that the same error message will appear 5 times before the automatic shutdown is as follows:



            Answered 2021-Dec-02 at 16:03

            Instead of using Redis inside Docker, you might want to check out Memurai: it's native Windows port of Redis.

            Disclaimer: I work in Memurai.



            Why do "hostname" and "hostname -f" return each other's value?
            Asked 2021-Nov-04 at 12:00

            I'm using a Centos8 VM to learn puppet. At first, I only set a short hostname for my VM -- puppet-mst. After some failure-- someone told me puppet needs FQDN to proceed. So I set a long hostname for my vm --



            Answered 2021-Nov-04 at 12:00

            After some research, I found it's due to /etc/hosts.

            When it's --


            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            In Foreman it was discovered that the delete compute resource operation, when executed from the Foreman API, leads to the disclosure of the plaintext password or token for the affected compute resource. A malicious user with the "delete_compute_resource" permission can use this flaw to take control over compute resources managed by foreman. Versions before 1.20.3, 1.21.1, 1.22.0 are vulnerable.
            A flaw was found in foreman before 1.16.1. The issue allows users with limited permissions for powering oVirt/RHV hosts on and off to discover the username and password used to connect to the compute resource.
            An input sanitization flaw was found in the id field in the dashboard controller of Foreman before 1.16.1. A user could use this flaw to perform an SQL injection attack on the back end database.
            An authentication bypass flaw was found in the smart_proxy_dynflow component used by Foreman. A malicious attacker can use this flaw to remotely execute arbitrary commands on machines managed by vulnerable Foreman instances, in a highly privileged context.
            foreman before version 1.16.0 is vulnerable to a stored XSS in organizations/locations assignment to hosts. Exploiting this requires a user to actively assign hosts to an organization that contains html in its name which is visible to the user prior to taking action.
            Foreman since version 1.5 is vulnerable to an incorrect authorization check due to which users with user management permission who are assigned to some organization(s) can do all operations granted by these permissions on all administrator user object outside of their scope, such as editing global admin accounts including changing their passwords.
            A flaw was found in foreman before version 1.15 in the logging of adding and registering images. An attacker with access to the foreman log file would be able to view passwords for provisioned systems in the log file, allowing them to access those systems.
            foreman-debug before version 1.15.0 is vulnerable to a flaw in foreman-debug's logging. An attacker with access to the foreman log file would be able to view passwords, allowing them to access those systems.
            It was found that foreman before 1.13.0 is vulnerable to a stored XSS via an organization or location name. This could allow an attacker with privileges to set the organization or location name to display arbitrary HTML including scripting code within the web interface.
            A vulnerability was found in foreman 1.14.0. When creating an organization or location in Foreman, if the name contains HTML then the second step of the wizard (/organizations/id/step2) will render the HTML. This occurs in the alertbox on the page. The result is a stored XSS attack if an organization/location with HTML in the name is created, then a user is linked directly to this URL.
            A flaw was found in foreman 1.5.1. The remote execution plugin runs commands on hosts over SSH from the Foreman web UI. When a job is submitted that contains HTML tags, the console output shown in the web UI does not escape the output causing any HTML or JavaScript to run in the user's browser. The output of the job is stored, making this a stored XSS vulnerability.

            Install foreman

            Read the quickstart section of the manual. If you know your setup has some specific needs, read the installation scenarios section.


            Our main documentation reference is the Foreman manual. If you find some gaps you would like to fill in the manual, please contribute in this repo.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • HTTPS


          • CLI

            gh repo clone theforeman/foreman

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Consider Popular Infrastructure Automation Libraries


            by hashicorp


            by saltstack


            by pulumi


            by GoogleCloudPlatform

            Try Top Libraries by theforeman


            by theforemanRuby


            by theforemanRuby


            by theforemanShell


            by theforemanHTML


            by theforemanHTML