Manage Procfile-based applications

Foreman

Build Status Code Climate Inline docs

Manage Procfile-based applications

Installation

$ gem install foreman

Ruby users should take care not to install foreman in their project's Gemfile. See this wiki article for more details.

Getting Started

Supported Ruby versions

See .travis.yml for a list of Ruby versions against which Foreman is tested.

Documentation

Ports

Authors

Created and maintained by

David Dollar

Patches contributed by

Contributor List

License

Foreman is licensed under the MIT license.

See LICENSE for the full license text.

Comments
  • Kernel Panic on foreman start?

    Kernel Panic on foreman start?

    I got twice a kernel panic right after running foreman start.

    This is my Procfile:

    memcached: memcached
    solr:      sunspot-solr run --data-directory=./solr/data --solr-home=./solr --log-level=FINE
    solrtest:  RAILS_ENV=test sunspot-solr run --data-directory=./solr/test_data/data --solr-home=./solr --log-level=FINE --port=8981
    redit:     /usr/local/bin/redis-server
    

    and if I run them separately they all work great.

    After the foreman start I see te colored output and then it crashes the entire system, so I must restart. This is the crash log I get after the reboot:

    Interval Since Last Panic Report:  1407050 sec
    Panics Since Last Report:          2
    Anonymous UUID:                    B370E883-1267-4351-AB4B-75FABACE6052
    
    Wed Sep 14 12:24:18 2011
    panic(cpu 2 caller 0xffffff8000328ae2): "Negative open count?"@/SourceCache/xnu/xnu-1699.22.81/bsd/miscfs/specfs/spec_vnops.c:1368
    Backtrace (CPU 2), Frame : Return Address
    0xffffff812d6dbc10 : 0xffffff8000220702 
    0xffffff812d6dbc90 : 0xffffff8000328ae2 
    0xffffff812d6dbcd0 : 0xffffff800032c885 
    0xffffff812d6dbd20 : 0xffffff8000318ee4 
    0xffffff812d6dbd60 : 0xffffff80002fd19a 
    0xffffff812d6dbdb0 : 0xffffff80002fce9e 
    0xffffff812d6dbdf0 : 0xffffff80002fe3c1 
    0xffffff812d6dbe20 : 0xffffff8000316a0f 
    0xffffff812d6dbe50 : 0xffffff8000540dc9 
    0xffffff812d6dbec0 : 0xffffff800023b9db 
    0xffffff812d6dbef0 : 0xffffff800023beda 
    0xffffff812d6dbf20 : 0xffffff800023bf70 
    0xffffff812d6dbf50 : 0xffffff800021e0ce 
    0xffffff812d6dbf90 : 0xffffff80002c1caa 
    0xffffff812d6dbfb0 : 0xffffff80002d7a0c 
    
    BSD process name corresponding to current thread: ruby
    
    Mac OS version:
    11B26
    
    Kernel version:
    Darwin Kernel Version 11.1.0: Tue Jul 26 16:07:11 PDT 2011; root:xnu-1699.22.81~1/RELEASE_X86_64
    Kernel UUID: D52AAB80-B2BC-3C6E-BBEA-78BD28064998
    System model name: MacBookPro8,1 (Mac-94245B3640C91C81)
    
    System uptime in nanoseconds: 38215858656
    last loaded kext at 11176272136: com.apple.driver.AppleHWSensor 1.9.4d0 (addr 0xffffff7f81828000, size 28672)
    loaded kexts:
    com.Logitech.Control Center.HID Driver  3.3.0
    com.apple.driver.AppleHWSensor  1.9.4d0
    com.apple.filesystems.autofs    3.0
    com.apple.driver.AppleMikeyHIDDriver    122
    com.apple.driver.AppleTyMCEDriver   1.0.2d2
    com.apple.driver.AppleHDA   2.1.1f12
    com.apple.driver.AppleMikeyDriver   2.1.1f12
    com.apple.driver.AGPM   100.12.40
    com.apple.driver.AudioAUUC  1.59
    com.apple.driver.AppleUpstreamUserClient    3.5.9
    com.apple.driver.AppleMCCSControl   1.0.24
    com.apple.driver.SMCMotionSensor    3.0.1d2
    com.apple.iokit.IOUserEthernet  1.0.0d1
    com.apple.Dont_Steal_Mac_OS_X   7.0.0
    com.apple.driver.AudioIPCDriver 1.2.0
    com.apple.driver.AppleSMCLMU    2.0.1d2
    com.apple.driver.ACPI_SMC_PlatformPlugin    4.7.0b2
    com.apple.driver.AppleLPC   1.5.1
    com.apple.driver.AppleMuxControl    3.0.8
    com.apple.driver.AppleBacklight 170.1.9
    com.apple.driver.AppleIntelHDGraphics   7.0.4
    com.apple.driver.AppleIntelSNBGraphicsFB    7.0.4
    com.apple.driver.AppleUSBTCButtons  220.8
    com.apple.driver.AppleUSBTCKeyEventDriver   220.8
    com.apple.driver.AppleUSBTCKeyboard 220.8
    com.apple.driver.AppleIRController  309
    com.apple.iokit.SCSITaskUserClient  3.0.0
    com.apple.AppleFSCompression.AppleFSCompressionTypeDataless 1.0.0d1
    com.apple.AppleFSCompression.AppleFSCompressionTypeZlib 1.0.0d1
    com.apple.BootCache 32
    com.apple.iokit.IOAHCIBlockStorage  2.0.0
    com.apple.driver.AppleUSBHub    4.4.0
    com.apple.driver.AirPort.Brcm4331   511.20.10
    com.apple.driver.AppleFWOHCI    4.8.6
    com.apple.driver.AppleSmartBatteryManager   161.0.0
    com.apple.driver.AppleEFINVRAM  1.5.0
    com.apple.driver.AppleSDXC  1.1.0
    com.apple.iokit.AppleBCM5701Ethernet    3.0.6b9
    com.apple.driver.AppleAHCIPort  2.1.8
    com.apple.driver.AppleUSBEHCI   4.4.0
    com.apple.driver.AppleUSBUHCI   4.4.0
    com.apple.driver.AppleACPIButtons   1.4
    com.apple.driver.AppleRTC   1.4
    com.apple.driver.AppleHPET  1.6
    com.apple.driver.AppleSMBIOS    1.7
    com.apple.driver.AppleACPIEC    1.4
    com.apple.driver.AppleAPIC  1.5
    com.apple.driver.AppleIntelCPUPowerManagementClient 166.0.0
    com.apple.nke.applicationfirewall   3.0.30
    com.apple.security.quarantine   1
    com.apple.driver.AppleIntelCPUPowerManagement   166.0.0
    com.apple.kext.triggers 1.0
    com.apple.driver.AppleHDAHardwareConfigDriver   2.1.1f12
    com.apple.driver.DspFuncLib 2.1.1f12
    com.apple.driver.AppleAVBAudio  1.0.0d11
    com.apple.driver.AppleSMBusController   1.0.10d0
    com.apple.iokit.IOFireWireIP    2.2.3
    com.apple.iokit.IOSurface   80.0
    com.apple.iokit.IOBluetoothSerialManager    2.5f17
    com.apple.iokit.IOSerialFamily  10.0.5
    com.apple.iokit.IOAVBFamily 1.0.0d22
    com.apple.iokit.IOAudioFamily   1.8.3fc11
    com.apple.kext.OSvKernDSPLib    1.3
    com.apple.driver.AppleHDAController 2.1.1f12
    com.apple.iokit.IOHDAFamily 2.1.1f12
    com.apple.driver.AppleSMC   3.1.1d2
    com.apple.driver.IOPlatformPluginFamily 4.7.0b2
    com.apple.driver.AppleSMBusPCI  1.0.10d0
    com.apple.driver.AppleGraphicsControl   3.0.8
    com.apple.driver.AppleBacklightExpert   1.0.3
    com.apple.driver.AppleThunderboltEDMSink    1.1.1
    com.apple.driver.AppleThunderboltEDMSource  1.1.1
    com.apple.iokit.IONDRVSupport   2.3
    com.apple.iokit.IOGraphicsFamily    2.3
    com.apple.driver.AppleThunderboltDPOutAdapter   1.3.2
    com.apple.driver.AppleThunderboltDPInAdapter    1.3.2
    com.apple.driver.AppleThunderboltDPAdapterFamily    1.3.2
    com.apple.driver.AppleThunderboltPCIDownAdapter 1.1.6
    com.apple.driver.AppleFileSystemDriver  13
    com.apple.driver.BroadcomUSBBluetoothHCIController  2.5f17
    com.apple.driver.AppleUSBBluetoothHCIController 2.5f17
    com.apple.iokit.IOBluetoothFamily   2.5f17
    com.apple.driver.AppleUSBMultitouch 220.23
    com.apple.iokit.IOUSBHIDDriver  4.4.0
    com.apple.driver.AppleUSBMergeNub   4.4.0
    com.apple.driver.AppleUSBComposite  3.9.0
    com.apple.iokit.IOSCSIMultimediaCommandsDevice  3.0.0
    com.apple.iokit.IOBDStorageFamily   1.6
    com.apple.iokit.IODVDStorageFamily  1.6
    com.apple.iokit.IOCDStorageFamily   1.7
    com.apple.iokit.IOAHCISerialATAPI   2.0.0
    com.apple.iokit.IOSCSIArchitectureModelFamily   3.0.0
    com.apple.driver.XsanFilter 403
    com.apple.driver.AppleThunderboltNHI    1.2.6
    com.apple.iokit.IOThunderboltFamily 1.4.9
    com.apple.iokit.IO80211Family   400.40
    com.apple.iokit.IOUSBUserClient 4.4.0
    com.apple.iokit.IOFireWireFamily    4.4.3
    com.apple.iokit.IOEthernetAVBController 1.0.0d5
    com.apple.iokit.IONetworkingFamily  2.0
    com.apple.iokit.IOAHCIFamily    2.0.6
    com.apple.iokit.IOUSBFamily 4.4.0
    com.apple.driver.AppleEFIRuntime    1.5.0
    com.apple.iokit.IOHIDFamily 1.7.0
    com.apple.iokit.IOSMBusFamily   1.1
    com.apple.security.sandbox  165
    com.apple.kext.AppleMatch   1.0.0d1
    com.apple.security.TMSafetyNet  7
    com.apple.driver.DiskImages 326
    com.apple.iokit.IOStorageFamily 1.7
    com.apple.driver.AppleKeyStore  28.18
    com.apple.driver.AppleACPIPlatform  1.4
    com.apple.iokit.IOPCIFamily 2.6.5
    com.apple.iokit.IOACPIFamily    1.4
    Model: MacBookPro8,1, BootROM MBP81.0047.B0E, 2 processors, Intel Core i7, 2.7 GHz, 8 GB, SMC 1.68f96
    Graphics: Intel HD Graphics 3000, Intel HD Graphics 3000, Built-In, 512 MB
    Memory Module: BANK 0/DIMM0, 4 GB, DDR3, 1333 MHz, 0x80AD, 0x484D54333531533642465238432D48392020
    Memory Module: BANK 1/DIMM0, 4 GB, DDR3, 1333 MHz, 0x80AD, 0x484D54333531533642465238432D48392020
    AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0xD6), Broadcom BCM43xx 1.0 (5.100.98.75.10)
    Bluetooth: Version 2.5.0f17, 2 service, 19 devices, 1 incoming serial ports
    Network Service: AirPort, AirPort, en1
    Serial ATA Device: APPLE SSD TS256C, 251 GB
    Serial ATA Device: MATSHITADVD-R   UJ-8A8
    USB Device: FaceTime HD Camera (Built-in), apple_vendor_id, 0x8509, 0xfa200000 / 3
    USB Device: hub_device, 0x0424  (SMSC), 0x2513, 0xfa100000 / 2
    USB Device: Apple Internal Keyboard / Trackpad, apple_vendor_id, 0x0245, 0xfa120000 / 5
    USB Device: BRCM2070 Hub, 0x0a5c  (Broadcom Corp.), 0x4500, 0xfa110000 / 4
    USB Device: Bluetooth USB Host Controller, apple_vendor_id, 0x821a, 0xfa113000 / 7
    USB Device: hub_device, 0x0424  (SMSC), 0x2513, 0xfd100000 / 2
    USB Device: IR Receiver, apple_vendor_id, 0x8242, 0xfd110000 / 3
    
  • Feature Request: ability to put comments in Procfiles

    Feature Request: ability to put comments in Procfiles

    I'd like to add comments to my Procfile, I tried starting a line with "#" but it complained and failed to boot.

    Comments would be great for documentation for team projects.

  • Exported upstart script doesn't seem to always stop correctly?

    Exported upstart script doesn't seem to always stop correctly?

    For example, if there is a procfile line 'clock: source ../.bash_profile; ruby ./scheduler.rb'. (The sourcing is done to use RVM). 'rvmsudo foreman export upstart /etc/init -u brainstem' is used to export. The export command generates a file, brainstem-clock-1.conf, that contains:

    start on starting brainstem-clock stop on stopping brainstem-clock respawn

    exec su - brainstem -c 'cd /home/brainstem/brainstem; export PORT=5200; source ../.bash_profile; ruby ./scheduler.rb >> /var/log/brainstem/clock-1.log 2>&1

    When 'stop brainstem' is run upstart just stops the shell session that is started by su but the child thin processes stick around.

  • Don't clobber HOME env variable

    Don't clobber HOME env variable

    Putting the job's cwd into the HOME environment variable is causing problems for people (see discussion on the commit: https://github.com/ddollar/foreman/commit/c1b57b59cf6051dfd78010688f0da034caab8f0e#commitcomment-1651673), and seems like an inappropriate use of the variable.

    I'm curious what sorts of problems this change was intended to solve, and if there is another way to do it.

  • Foreman start fails on Windows: Bad file descriptor

    Foreman start fails on Windows: Bad file descriptor

    I am having issues running Foreman on Windows using ruby 1.93, standard install, on Windows 8 Pro, installed both directly, i.e. gem install foreman and by building edge foreman manually.

    It seems to actually run the application (a simple python webapp, in this case, but nothing written to stdout is actuall displayed, and it seems to fail silently on other occasions.

    Is this expected behavior? The README lists support for Windows, but it seems to be a non-blocking issue in this version of foreman/ruby.

    I do not believe the Procfile is actually the issue, as it works well on Linux. I made sure that there were not weird line endings, and my ruby path contains no spaces, etc which may trip up paths on Windows.

    Please let me know if there is anything I can do to help, sadly I am not very familiar with Ruby and nonblocking reading on Windows.

    C:\>foreman start
    Bad file descriptor
    C:/ruby193/lib/ruby/gems/1.9.1/gems/foreman-.62.0/lib/foreman/engine.rb:377:inread_nonblock
    C:/ruby193/lib/ruby/gems/1.9.1/gems/foreman-0.62.0/lib/foreman/engine.rb:377:inblock (2 levels) in watch_for_output
    C:/ruby193/lib/ruby/gems/1.9.1/gems/foreman-0.62.0/lib/foreman/engine.rb:373:inloop
    C:/ruby193/lib/ruby/gems/1.9.1/gems/foreman-0.62.0/lib/foreman/engine.rb:373:inblock in watch_for_output
    

    Procfile:

    web: python run.py
    
  • Monit support & cpu/memory process monitoring flags for export

    Monit support & cpu/memory process monitoring flags for export

    This pull request includes two things:

    • monit templates (running off start-stop-daemon)
    • additional CLI options for "export"
          [--alert-on-mem="alpha=150 MB,bar=250 MB" or "200 MB"]    
          [--restart-on-mem="alpha=200 MB,bar=300 MB" or "300 MB"]  
          [--alert-on-cpu="alpha=20%,bar=28%" or "22%"]             
          [--restart-on-cpu="alpha=25%,bar=30%" or "25%"]           
    

    These only do something for monit. I don't know what the equivalent changes are required for bluepill, etc.

  • Upstart export is no executing command with rbenv path of owned user

    Upstart export is no executing command with rbenv path of owned user

    Upgrading to latest version of foreman broke the generated upstart configuration files and upstart is reporting the following error now when trying to start the application server:

    /bin/sh: 1: exec: bundle: not found
    

    My Procfile:

    web: bundle exec puma -p $PORT
    

    My Environment:

    • vagrant VM
    • ubuntu 12.04
    • rbenv

    This regression introduced by commit c039f379ff1b6eb87673aa73a3548ba20d1722e4 as part of #438. Using setuid <%= user %> does not seem to inherit the proper user PATH required for rbenv to execute the target binary. The previous version used exec su - <%= user %> which properly inherited rbenv on the path.

  • SIGTERM not forwarded to wrapped commands in foreman-runner

    SIGTERM not forwarded to wrapped commands in foreman-runner

    When there's a shell script in the Procfile, foreman runs it via foreman-runner, which creates an extra PID. When foreman sends SIGTERM upon Ctrl-C or an exited process, the signal is only sent to the wrapper, but not the shell script itself. This proves problematic for a simple shell script I wrote that starts an upstart script, then traps SIGTERM to stop the upstart script.

  • Added support for ENV variable interpolation

    Added support for ENV variable interpolation

    Sometimes in a .env file you just want to do something like this:

    REDIS_PORT=7080
    REDIS_URL=redis://myhost.com:$REDIS_PORT
    PATH=/my/bins:$PATH
    

    This commit adds support for ENV variable interpolation while running the cli for Foreman.

  • engine: make output Readline-friendly

    engine: make output Readline-friendly

    The motivation behind this commit is to make Foreman respect GNU Readline 1.

    As Foreman is often used with Pry (or at least many people want to), and Pry is dependent on Readline, using these tools together is very problematic 2,3.

    The problem is that when you start Pry by means of Foreman, Foreman supresses output from Pry, so you don't see what you type. The output can only be seen after pressing carriage return. Demonstration (a bit hard to follow, but you may want to try it yourself; clone the Pry repo and execute the same command):

    http://showterm.io/3eb716461d6602ac90b09

    Although this problem was reported by Pry users, any Readline application is affected. This commit uses IRB for tests, because it also depends on Readline, hence it suits for testing perfectly. Other Readline dependent applications that I tested were GHCi, the Lua REPL, Eshell (erlang shell).

    Previously, Pry was using a trick, which allowed us to bypass this problem 4. The fix was featured in Pry v0.9.12.6, but then it was removed by accident. It's been readded on HEAD recently (not released yet). However, the fix we currently have is still not perfect. Although you can see your input immediately, you can't see your output now :D Demo:

    http://showterm.io/f648de27568d96a02f1b3

    The fix breaks correct piping. Now, when you pipe Pry's output, it doesn't output Readline's prompt and user's input. What's being piped is only return values of executed expressions. Demo:

    http://showterm.io/3651389faf1fdc0d18211

    To fix the missing output and pipe everything, including the user's input, we need to set Readline.output correctly. However, if we do that, we break minimal support for Foreman. So when I fixed Pry 5, I figured it would be interesting to try to fix Foreman.

    Now, it's time to talk about the changes here. I'm not very familiar with Foreman, so take the code with a grain of salt. Basically, the whole point of the fix is to read one character at a time and print it immediately, instead of waiting for a newline character. This technique allows us to prepend so-called markers (timestamps, if you wish) to a Readline prompt and display the user's input. It works for all the Readline apps that I mentioned above and doesn't break piping (that is, tee).

    Note. I had to remove $stdout.flush from the output method, because it was causing thread deadlocks with the flush in #handle_io. The deadlock appears when you use Foreman with Pry, pipe the output and trigger SIGINT (control-c press). Example:

    % foreman start -f Procfile | tee log 15:50:05 pryhere.1 | started with pid 26881 15:50:28 pryhere.1 | 1 pry(main)> <CTRL+C><CTRL+D> 15:50:49 pryhere.1 | 2 pry(main)> foreman/engine.rb:323:in `synchronize': deadlock; recursive locking (ThreadError)

    This is probably because of the race condition, when on SIGINT Foreman prints stuff here 6, which flushes $stdout.

  • add logging back into upstart exports.

    add logging back into upstart exports.

    Looks like logging got removed from the last upstart export template. I added it back in, updated the specs, and checked it in real life.

    Was there a reason it was removed? Logging seems to be in the other templates still.

    Please let me know if you have any questions!

  • Rename usage of Dir/File.exists to exist

    Rename usage of Dir/File.exists to exist

    The singular methods were deprecated long ago and finally removed in Ruby 3.2.0.

    See https://github.com/ruby/ruby/commit/bf97415c02b11a8949f715431aca9eeb6311add2

  • When launching rails via foreman, rails asset pipeline errors

    When launching rails via foreman, rails asset pipeline errors

    When running rails server without foreman, everything works. When running rails server from foreman, rails will not load images / css files / javascript files from the asset pipeline with an error like ActionView::Template::Error (The asset "test.png" is not present in the asset pipeline

  • Port 5000 taken by Mac OSX

    Port 5000 taken by Mac OSX

    When starting Rails in using foreman like:

    Procfile

    web: rails server
    

    It defaults to taking port 5000. On newer osx versions this port is now taken by MAC OSX though, so it won't start (or in some cases do start but the requests go to the airport process): https://www.reddit.com/r/webdev/comments/qg8yt9/apple_took_over_port_5000_in_the_latest_macos/

    Of course you can fix this by specifying a -p but I guess the default should be available.

  • Forman doesn't show errors and logs of Procfile commands

    Forman doesn't show errors and logs of Procfile commands

    My Procfile.https look like this: web: thin start --ssl --ssl-key-file server.key --ssl-cert-file server.crt --port 3000 redis: redis-server worker: bundle exec rake resque:work QUEUE='*' scheduler: bundle exec rake resque:scheduler guard: guard -P livereload and I just find out that running the first command - web using forman start -f Procfile.https doesn't show the errors of this command, but when I run this line alone in terminal, I can see the exact errors. Does foreman hide the errors, or maybe he doesn't even get those errors from his child commands

  • Run processes in new process groups, kill process group instead of process

    Run processes in new process groups, kill process group instead of process

    This is https://github.com/ddollar/foreman/pull/723 but rebased against master today. Credit to @davishmcclurg for suggesting those changes in the first place.

    Some processes are getting orphaned when running Foreman with JRuby. Creating a new pgroup allows them all to be killed together.

    I believe the issue is related to how JRuby handles Dir.chdir by creating a shell process: sh -c 'cd /chdir/target; ${command}'. That causes a second process to be created that won't get cleaned up by killing the parent.

    I think this change also addresses #779. It makes Foreman match what Honcho does, and Honcho does not exhibit the problem shown in #779.

    Close #779

    (Some additional background: There was an earlier PR #528 that did half of what this PR does, https://github.com/ddollar/foreman/issues/525 was closed after that was merged, but then the PR was reverted after a few days, could not find the reason for that).

Process manager for Procfile-based applications and tmux
Process manager for Procfile-based applications and tmux

Overmind Overmind is a process manager for Procfile-based applications and tmux. With Overmind, you can easily run several processes from your Procfil

Jan 4, 2023
This vitual os application consist of 3 mini applications embedded in it like weather app , text editor and calculator .

Virtual-Operating-System This vitual os application consist of 3 mini applications embedded in it like weather app , text editor and calculator . APPS

Nov 11, 2021
A bytecode-based virtual machine to implement scripting/filtering support in your golang project.

eval-filter Implementation Scripting Facilities Types Built-In Functions Conditionals Loops Functions Case/Switch Use Cases Security Denial of service

Dec 30, 2022
Create virtual machines and run Linux-based operating systems in Go using Apple Virtualization.framework.

vz - Go binding with Apple Virtualization.framework vz provides the power of the Apple Virtualization.framework in Go.

Jan 9, 2023
Expr – a tiny stack-based virtual machine written in Go

Expr – a tiny stack-based virtual machine written in Go The executor is designed to interpret a simple expression language and it's useful in delegati

Nov 11, 2022
An interpreter written in go for a brainfuck-based language called €*

eurostar-go-interpreter This is an interpreter written in go for a brainfuck-bas

Sep 14, 2022
Process manager for Procfile-based applications

Hivemind Hivemind is a process manager for Procfile-based applications. At the moment, it supports Linux, FreeBSD, and macOS. Procfile is a simple for

Dec 25, 2022
Process manager for Procfile-based applications and tmux
Process manager for Procfile-based applications and tmux

Overmind Overmind is a process manager for Procfile-based applications and tmux. With Overmind, you can easily run several processes from your Procfil

Jan 4, 2023
churro is a cloud-native Extract-Transform-Load (ETL) application designed to build, scale, and manage data pipeline applications.

Churro - ETL for Kubernetes churro is a cloud-native Extract-Transform-Load (ETL) application designed to build, scale, and manage data pipeline appli

Mar 10, 2022
Deploy, manage, and secure applications and resources across multiple clusters using CloudFormation and Shipa

CloudFormation provider Deploy, secure, and manage applications across multiple clusters using CloudFormation and Shipa. Development environment setup

Feb 12, 2022
SigNoz helps developer monitor applications and troubleshoot problems in their deployed applications
SigNoz helps developer monitor applications and troubleshoot problems in their deployed applications

SigNoz helps developers monitor their applications & troubleshoot problems, an open-source alternative to DataDog, NewRelic, etc. ?? ??

Dec 27, 2022
Daemon based on liblxc offering a REST API to manage containers
Daemon based on liblxc offering a REST API to manage containers

LXD LXD is a next generation system container and virtual machine manager. It offers a unified user experience around full Linux systems running insid

Jan 9, 2023
A microservice gateway developed based on golang.With a variety of plug-ins which can be expanded by itself, plug and play. what's more,it can quickly help enterprises manage API services and improve the stability and security of API services.
A microservice gateway developed based on golang.With a variety of plug-ins which can be expanded by itself, plug and play. what's more,it can quickly help enterprises manage API services and improve the stability and security of API services.

Goku API gateway is a microservice gateway developed based on golang. It can achieve the purposes of high-performance HTTP API forwarding, multi tenant management, API access control, etc. it has a powerful custom plug-in system, which can be expanded by itself, and can quickly help enterprises manage API services and improve the stability and security of API services.

Dec 29, 2022
Geocache is an in-memory cache that is suitable for geolocation based applications.
Geocache is an in-memory cache that is suitable for geolocation based applications.

geocache geocache is an in-memory cache that is suitable for geolocation based applications. It uses geolocation as a key for storing items. You can s

Oct 27, 2022
Flamingo Framework and Core Library. Flamingo is a go based framework for pluggable web projects. It is used to build scalable and maintainable (web)applications.
Flamingo Framework and Core Library. Flamingo is a go based framework for pluggable web projects. It is used to build scalable and maintainable (web)applications.

Flamingo Framework Flamingo is a web framework based on Go. It is designed to build pluggable and maintainable web projects. It is production ready, f

Jan 5, 2023
Flamingo Framework and Core Library. Flamingo is a go based framework for pluggable web projects. It is used to build scalable and maintainable (web)applications.
Flamingo Framework and Core Library. Flamingo is a go based framework for pluggable web projects. It is used to build scalable and maintainable (web)applications.

Flamingo Framework Flamingo is a web framework based on Go. It is designed to build pluggable and maintainable web projects. It is production ready, f

Jan 5, 2023
Geocache is an in-memory cache that is suitable for geolocation based applications.
Geocache is an in-memory cache that is suitable for geolocation based applications.

geocache geocache is an in-memory cache that is suitable for geolocation based applications. It uses geolocation as a key for storing items. You can s

Oct 27, 2022
Teardown API for Commandline Based Applications
Teardown API for Commandline Based Applications

Building go build -ldflags "-s -w" -o ./build/api.exe ./ Get the latest XML from https://www.teardowngame.com/modding/api.xml Commands help list searc

Mar 1, 2022
Shfz - Scenario-based fuzzing test execution tool for web applications
Shfz - Scenario-based fuzzing test execution tool for web applications

shfz A scenario-based web application fuzzng tool that supports fuzz generation

Nov 9, 2022
🍍Jeff provides the simplest way to manage web sessions in Go.

jeff A tool for managing login sessions in Go. Motivation I was looking for a simple session management wrapper for Go and from what I could tell ther

Jan 4, 2023