Giter Site home page Giter Site logo

maestro's People

Contributors

diogomelodantas avatar fagiani avatar fagianijunior avatar haseoboss avatar kauefelipe-finck avatar matheusdemelo avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

maestro's Issues

Build fail with cache enabled

image

#project.toml
[project]
id = "com.meu.site"
name = "site"
version = "1.0"

[build]
builder = "heroku/buildpacks:18"

[[build.buildpacks]]
uri = "heroku/nodejs"

[[build.buildpacks]]
uri = "heroku/ruby"

[[build.buildpacks]]
uri = "heroku/procfile"

#Procfile
web:     bundle exec unicorn -p $PORT -c ./config/unicorn.rb
jobs:    bundle exec sidekiq -C config/sidekiq.yml 
console: bundle exec unicorn -p $PORT -c ./config/unicorn.rb

Improve cache usage

improve the verification of cache variables, don't create and clear cache only if the Codebuild variables value is true.

  • MAESTRO_NO_CACHE
  • MAESTRO_CLEAR_CACHE

Build pull policy should follow cache settings

Currently pack build is hard coded to a --pull-policy if-not-present flag and that would eventually prevent downloading a newer buildpacksio/lyfecycle image when available. While this behavior is useful to expedite builds, if there is a need to update it we currently must remove the image from ECR which is not ideal. Adjusting this flag to follow MAESTRO_NO_CACHE environment variable would allow end users to benefit from it.

Check CS_SERVICE_TASK_PROCESSES syntax

Check the syntax of the ECS_SERVICE_TASK_PROCESSES variable that is used in the codebuild. If possible, issue an alert to warn the user that it is wrong and it will perform the default configuration for it.

Multiple web services for ECS

Implement the feature to create more than one web service on ECS cluster for a workload with it's own target group and ALB (It can be a shared ALB too).

Console task related improvements

Revoke/disable access through AWS CLI to other tasks there are not "Console"

Create a single task for "Console" (created with a command and auto-killed when user exits)

Set maestro environment variable's defaults

We need a comprehensive set of defaults for each environment variable that makes sense. For instance those that have true or false as options and maybe others that could be set to a default in case they are not explicitly set. @HaseoBoss could you please come up with a draft PR of the docs with those defaults considering the way which the majority of our workloads are currently set?

Enable/Disable/Remove Shceduledtasks

Scheduledtask are set through config file added to repository using the following format:

name rate(## minutes)/(cron expression) command

To enable or disable a task it should accept the following format:

name enable/disable rate(## minutes)/(cron expression) command

If a task is removed from file this task must be removed from eventbridge/ecs.

Set Task Size in ScheduledTasks

In some specific cases, use {4096:8192} size isn't a good choice. It's possible set a different size to an individual a task?
For example, change this parameter on config/run_tasks.conf:

ss_my_simple_task{512:1024} rate(20 minutes) bundle exec rake simple_task

ss_my_heavy_task{4096:8192} rate(20 minutes) bundle exec rake heay_task

Allow modifying circuit breaker behavior

Allow modifying circuit breaker behavior during build, so that the default behavior (which currently is enable=true,rollback=true) can be changed to other possible settings.

Auto scaling policies parameters overwritten

Running a new build parameters modified directly on ECS service for auto scaling policies are being overwritten with default values.

E.g.: Scale-out/in coodown period is always set to 300.

Build fails if there is an AS policy manually created

If there is an AS policy manually created build fails with the following error:

"An error occurred (ValidationException) when calling the PutScalingPolicy operation: Only one TargetTrackingScaling policy for a given metric specification is allowed."

Is it the expected behavior?

Override env variable set on secrets manager

In some cases it is required that one or more env variable set on secrets manager be override for a service task definition. This can be really useful for web services sharding strategy to specify specific parameters for each sharding (E.g., separate shardings as app in New Relic or other monitoring system).

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.