用于创建基础结构和spinnaker管道的工具。

foremast的Python项目详细描述


https://travis-ci.org/foremast/foremast.svg?branch=masterJoin the chat at https://gitter.im/gogoair/foremasthttps://badge.fury.io/py/foremast.svg

Foremast是一个Spinnaker管道和基础设施配置 模板工具。只需创建几个json配置文件,然后 手动创建spinnaker管道已成为过去。

https://s3.amazonaws.com/gogo-oss-logos/Foremast/Foremast+Logo-text-300.png

为什么是Foremast?

  • 在spinnaker用户界面中没有手动创建管道
  • 可复制和版本化的Spinnaker管道
  • 适用于特殊需要的标准化柔性管线<

使用foremast,开发人员为每个应用程序创建两个简单的json配置。 这些配置提供特定于 应用程序的需要。前桅拿着那些配置,呈现出一些Jinja2 模板,然后充当spinnaker gate api的客户端。前桅来了 使用用于创建简单管道的通用模板,但它也可以指向 适合任何工作流的自定义管道的外部模板。

前导功能

  • 基于json配置动态生成spinnaker管道
  • 通过外部Jinja2模板的可自定义管道,请参见Foremast templates以获取示例
  • 基于管道配置动态生成aws基础设施
  • 设置在spinnaker中未定义的资源,如s3存储桶和iam角色
  • 支持AWS Lambda管道

开始

查看quick start guide快速介绍如何使用 前桅。

我们还有一篇博客文章可以帮助您开始:Automate Spinnaker Pipeline Creation

文件

所有文档都可以在Read the Docs上查看。你可以找到所有 配置选项、代码信息和更好的示例。

发展

有关代码样式、贡献和 测试。

获得帮助

有关问题、支持或友好对话,您可以在Gitter上找到我们。

更多详细信息

安装

为了方便起见,安装该包将提供cli命令。

virtualenv -p python3 venv
source venv/bin/activate
pip install foremast

入口点

foremast有几个易于使用的cli端点。

  • foremast-pipeline-创建应用程序和管道微调器
  • foremast-infrastructure-设置aws基础设施,如s3、iam、elb, 和安全组
  • foremast-pipeline-onetime-生成用于部署到一个的管道 特定账户
  • foremast-scaling-policy-创建缩放策略并将其附加到 应用程序服务器组。
  • foremast-pipeline-rebuild-更改后重新生成管道 制造

您可以从命令行运行这些条目点中的任何一个。他们依赖 环境变量,非常适合在Jenkins工作中运行

PROJECT=forrest GIT_REPO=core RUNWAY_DIR=path/to/pipeline_configs foremast-pipeline

前桅结构

位于{pwd}/.foremast/foremast.cfg~/.foremast/foremast.cfg的文件,或 为了运行前行,需要存在{TT8}$。

[base]domain= example.com
envs= dev,stage,prod
regions= us-east-1
gate_api_url= http://gate.example.com:8084

跑道配置文件

要开始使用foremast,必须定义几个json配置文件 对于每个应用程序

管道.json

每个应用程序都需要此文件。foremast有很多缺点 在pipeline.json中,查看pipeline.json文档 所有选项。

最小值

{"deployment":"spinnaker"}

示例部署环境覆盖

自定义部署环境顺序和选择可以在 env键。如果缺少,则提供的默认值为{"env": ["stage", "prod"]}。在这里,订单和管道将在给定的 命令。

{"deployment":"spinnaker","env":["prod"]}

应用程序母版-{env}.json

pipeline.json文件中指定的每个部署环境都需要 在同一目录中附带的application-master-{env}.json文件。

“application master-{env}文件有许多公开的值 默认值。请查看所有选项的application.json文档。

application master-{env}.json示例

{"security_group":{"description":"something useful","elb_extras":["sg_offices"],"ingress":{},"egress":"0.0.0.0/0"},"app":{"instance_type":"t2.small","app_description":"Edge Forrest Demo application","instance_profile":"forrest_edge_profile"},"elb":{"subnet_purpose":"internal","target":"TCP:8080","ports":[{"loadbalancer":"HTTP:80","instance":"HTTP:8080"}]},"asg":{"subnet_purpose":"internal","min_inst":1,"max_inst":1,"scaling_policy":{"metric":"CPUUtilization","threshold":90,"period_minutes":10,"statistic":"Average"}},"regions":["us-east-1"],"dns":{"ttl":120}}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
HTTP标头的java InputStream未终止   java测试SpringWebListener   具有定义的替换编号Java的regex ReplaceAll   在java中使用contains()方法   java在选择查询中使用JoinColumn字段   具有用户的java Start-stop demon不是以给定用户启动   java glBufferData生成GL\u无效\u操作   java中循环代码的循环   Java位无符号移位(>>>>)会产生奇怪的结果   java HQL使用点分隔符从select获取结果   条纹、弹簧、玩耍(或?):使用哪种高性能Java框架?   广播接收机中的java停止服务   java回收器视图占据整个屏幕。不在上面显示我的UI元素   java使MySQL查询更快   java MappedByteBuffer查询   java递归算法问题