Skip to content
/ scalsun Public

Free and Open Source. Tool for auto-scaling of upsun projects. DISCLAIMER: This is not an official Upsun product and does not qualify for Upsun support.

License

Notifications You must be signed in to change notification settings

upsun/scalsun

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ScalSun

This tool provide simple auto horizontal scaling on upsun project for your application containers.

Caution

This project is owned by the Upsun Advocacy team. It is in early stage of development [experimental] and only intended to be used with caution by Upsun customers/community.

This project is not supported by Upsun and does not qualify for Support plans. Use this repository at your own risks, it is provided without guarantee or warranty!

PS: if you have downloaded that binary and appreciated it, I kindly ask you to let us know on Discord (you can then later discuss with one of our Product manager to share your feedback on it).

Usage/install

Deploy the scalsun and Upsun CLI binary into your project

On .upsun/config
Add to build hook :

    hook:
        build: |
            curl -fsS https://raw.githubusercontent.com/upsun/snippets/main/src/install-upsun-tool.sh | bash /dev/stdin "scalsun"

Add cron task every minute :

    crons:
        autoscaller:
            spec: "*/1 * * * *"
            commands:
                start: |
                    if [ "$PLATFORM_ENVIRONMENT_TYPE" = "production" ]; then
                        /app/bin/scalsun --silent --max_host_count=${H_SCALING_HOST_MAX:-3}
                    fi

On Upsun console,
Add a environment variables with your token :

env:UPSUN_CLI_TOKEN

Syntax

Usage of scalsun:
      --name string                     Apps or Service name
      --min_host_count: int             Minimum host count (default 1)
      --max_host_count int              Maximum host count (default 3)
      --min_cpu_usage_upscale float     Minimum CPU usage in % (for upscale event only) (default 75)
      --max_cpu_usage_downscale float   Maximum CPU usage in % (for downscale event only) (default 60)
      --min_mem_usage_upscale float     Minimum memory usage in % (for upscale event only) (default 80)
      --max_mem_usage_downscale float   Maximum memory usage in % (for downscale event only) (default 20)
  -v, --verbose                         Enable verbose mode
  -s, --silent                          Enable silent mode
      --pathLog string                  Define Path of Log file (default "/var/log/")

Samples

  • Auto-scale all app/service
    scalsun --silent --max_host_count=${H_SCALING_HOST_MAX:-3}
  • Auto-scale only specific app (if app name is web)
    scalsun --silent --max_host_count=${H_SCALING_HOST_MAX:-3} --name=web

About

Free and Open Source. Tool for auto-scaling of upsun projects. DISCLAIMER: This is not an official Upsun product and does not qualify for Upsun support.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages