{"id":13482501,"url":"https://github.com/blox/blox","last_synced_at":"2025-03-27T13:32:09.036Z","repository":{"id":97292949,"uuid":"74169960","full_name":"blox/blox","owner":"blox","description":"Open source tools for building custom schedulers on Amazon ECS","archived":true,"fork":false,"pushed_at":"2018-03-14T21:54:22.000Z","size":5805,"stargazers_count":944,"open_issues_count":34,"forks_count":80,"subscribers_count":53,"default_branch":"dev","last_synced_at":"2024-08-01T17:32:29.547Z","etag":null,"topics":["amazon-ecs","aws","blox","container-management"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-11-18T22:04:45.000Z","updated_at":"2024-05-10T12:53:47.000Z","dependencies_parsed_at":"2023-03-07T21:30:46.763Z","dependency_job_id":null,"html_url":"https://github.com/blox/blox","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blox%2Fblox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blox%2Fblox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blox%2Fblox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blox%2Fblox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blox","download_url":"https://codeload.github.com/blox/blox/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222262326,"owners_count":16957559,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amazon-ecs","aws","blox","container-management"],"created_at":"2024-07-31T17:01:02.623Z","updated_at":"2024-10-30T16:31:10.948Z","avatar_url":"https://github.com/blox.png","language":"Java","funding_links":[],"categories":["Java","Serverless","Open Source Repos","Workload Orchestration \u0026 Scheduling"],"sub_categories":["Elastic Container Service"],"readme":"# ![Logo](blox-logo.png)\n\n# Blox: Open Source schedulers for Amazon ECS\n\n[![Build Status](https://travis-ci.org/blox/blox.svg?branch=master)](https://travis-ci.org/blox/blox)\n\nBlox provides open source schedulers optimized for running applications on Amazon ECS. Developers now have greater control over how their applications are deployed across clusters of resources, run and scale in production, and can take advantage of powerful placement capabilities of Amazon ECS.\nBlox is being delivered as a managed service via the Amazon ECS Console, API and CLIs. Blox v1.0 provides daemon scheduling for Amazon ECS. We will continue to add additional schedulers as part of this project.\nBlox schedulers are built using AWS primitives, and the Blox designs and code are open source. If you are interested in learning more or collaborating on the designs, please read the [design](docs/daemon_design.md).\nIf you are currently using Blox v0.3, please read the [FAQ](FAQ.md).\n\n### Project structure\nFor an overview of the components of Blox, run:\n\n```\n./gradlew projects\n```\n\n### Testing\nTo run the full unit test suite, run:\n\n```\n./gradlew check\n```\n\nThis will run the same tests that we run in the Travis CI build.\n\n### Deploying\nFirst, take a look at what Blox will put in your personal stack by running the\n`showStackConfig` task:\n\n```\n$ ./gradlew showStackConfig\n\n\u003e Task :showStackConfig\nBlox deployment stack configuration:\n\n  Default resource name         (blox.name): blox-\u003cusername\u003e-alpha-us-west-2 (default)\n  API Gateway stage            (blox.stage): alpha (default)\n  Stack prefix                (blox.prefix): \u003cusername\u003e-alpha (default)\n  AWS Region                  (blox.region): us-west-2 (default)\n  AWS Credential Profile     (blox.profile): blox-\u003cusername\u003e-alpha-us-west-2 (default)\n  Cloudformation stack name (blox.cfnStack): blox-\u003cusername\u003e-alpha-us-west-2 (default)\n  Deployment S3 bucket name (blox.s3Bucket): blox-\u003cusername\u003e-alpha-us-west-2 (default)\n\nTo customize these values, modify ~/.gradle/gradle.properties to override the property listed.\n\nAWS CLI configuration for profile blox-\u003cusername\u003e-alpha-us-west-2:\n\nThe config profile (blox-\u003cusername\u003e-alpha-us-west-2) could not be found\n```\n\nIf you wish to customize any of these values, you can do so by overriding the\nproperty in parentheses using [any of the supported ways to override Gradle\nproperties](https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_properties_and_system_properties).\nThe easiest way is to override it for your user in `~/.gradle/gradle.properties`:\n\n```\nblox.profile=default\nblox.region=us-east-1\n```\n\nNext, in order to deploy your personal stack:\n- install the [official AWS CLI](https://aws.amazon.com/cli/)\n- create an IAM user with the following permissions:\n\n    ```json\n    {\n        \"Version\":\"2012-10-17\",\n        \"Statement\":[{\n            \"Effect\":\"Allow\",\n            \"Action\":[\n                \"s3:*\",\n                \"lambda:*\",\n                \"apigateway:*\",\n                \"cloudformation:*\",\n                \"iam:*\",\n                \"execute-api:*\",\n                \"events:DescribeRule\"\n            ],\n            \"Resource\":\"*\"\n        }]\n    }\n\n    ```\n\n  These permissions are pretty broad, so we recommend you use a separate, test account.\n\n- configure the AWS Credential Profile shown in the `showStackOutput` task with\n  the AWS credentials for the user you created above:\n\n    ```\n    aws configure --profile blox-\u003cusername\u003e-alpha-us-west-2 set region us-west-2\n    aws configure --profile blox-\u003cusername\u003e-alpha-us-west-2\n    ```\n\n- create an S3 bucket where all resources (code, cloudformation templates, etc) to be deployed will be stored:\n\n    ```\n    ./gradlew createBucket\n    ```\n\n- deploy the Blox stack:\n\n    ```\n    ./gradlew deploy\n    ```\n\n### End to end testing\nOnce you have a stack deployed, you can test it with:\n\n```\n./gradlew testEndToEnd\n```\n\n\n### Contact\n\n* [Gitter](https://gitter.im/blox)\n* [Planning/Roadmap](https://github.com/blox/blox/milestones)\n* [Issues](https://github.com/blox/blox/issues)\n\n### License\nAll projects under Blox are released under Apache 2.0 and contributions are accepted under individual Apache Contributor Agreements.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblox%2Fblox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblox%2Fblox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblox%2Fblox/lists"}