Project Icon

engine

开源云部署抽象层 快速简化多云应用管理

Qovery Engine作为开源云部署抽象层,支持AWS、GCP、Azure等多个云平台,大大简化了应用部署流程。它整合了Terraform、Helm、Kubectl和Docker等主流工具,并提供CLI和Web操作界面。通过自动化基础设施管理,Qovery Engine让开发团队能够更加专注于核心业务,提高了云环境下的开发效率和灵活性。

Qovery标志

在云端部署应用的最简单方式

只需几秒钟即可在任何云服务提供商上部署您的应用 ⚡

进行中徽章 功能测试 Discord


Qovery在Kubernetes和云服务提供商之上的技术栈

Qovery引擎是一个开源抽象层库,能够在几分钟内轻松地在AWSGCPAzure和其他云服务提供商上部署应用程序。Qovery引擎使用Rust编写,并利用TerraformHelmKubectlDocker来管理资源。

请注意:我们非常重视Qovery的安全性和用户的信任。如果您认为在Qovery中发现了安全问题,请通过联系security@qovery.com负责任地披露。

✨ 特性

  • **零基础设施管理:**Qovery引擎为您初始化、配置和管理您的云账户。
  • **多云支持:**Qovery引擎旨在适用于AWS、GCP、Azure和任何云服务提供商。
  • **基于Kubernetes:**Qovery引擎在更高抽象层次上利用Kubernetes的强大功能。
  • **使用Terraform和Helm:**Qovery引擎使用Terraform和Helm文件来管理基础设施和应用部署。
  • **强大的CLI:**使用提供的Qovery引擎CLI,无缝地在您的云账户上部署应用。
  • **Web界面:**Qovery通过qovery.com提供Web界面。

🔌 插件

Qovery引擎工作流程

Qovery引擎支持多种不同的插件,以组合您自己的部署流程:

  • 云服务提供商:AWS、Scaleway(测试版)、Azure(投票)、GCP(投票
  • 构建平台:Qovery CI、Circle CI(投票)、Gitlab CI(投票)、GitHub Actions(投票
  • **容器注册表:**AWS ECR、DockerHub、ACR、Scaleway容器注册表
  • **DNS提供商:**Cloudflare
  • **监控服务:**Datadog(投票)、Newrelic(投票

在我们的网站上查看更多信息

演示

以下是使用Qovery引擎的Qovery CLI演示。

Qovery CLI

入门

安装

将Qovery引擎作为Cargo依赖项使用。

qovery-engine = { git = "https://github.com/Qovery/engine", branch="main" }

使用方法

Rust 库

在 AWS 上初始化 EKS (AWS Kubernetes) 和 ECR (AWS 容器注册表)

let engine = Engine::new(
    context, // 参数
    local_docker, // 初始化 Docker 作为构建平台
    ecr, // 初始化弹性容器注册表
    aws, // 初始化 AWS 账户
    cloudflare, // 初始化 Cloudflare 作为 DNS 名称服务器
);

let session = match engine.session() {
    Ok(session) => session, // 获取会话
    Err(config_error) => panic!("配置错误 {:?}", config_error),
};

let mut tx = session.transaction();

// 创建 EKS (AWS 托管的 Kubernetes 集群)
tx.create_kubernetes(&eks);

// 创建基础设施并等待结果
match tx.commit() { 
    TransactionResult::Ok => println!("成功"),
    TransactionResult::Rollback(commit_err) => println!("错误但回滚成功"), 
    TransactionResult::UnrecoverableError(commit_err, rollback_err) => println!("致命错误")
};

在 AWS 上从 Github 仓库部署应用

// 先创建一个会话
//------------------------

let mut environment = Environment {...};

let app = Application {
    id: "app-id-1".to_string(),
    name: "app-name-1".to_string(),
    action: Action::Create, // 创建应用,你也可以执行其他操作
    git_url: "https://github.com/Qovery/node-simple-example.git".to_string(),
    git_credentials: GitCredentials {
        login: "github-login".to_string(), // 如果是私有仓库,则使用凭据
        access_token: "github-access-token".to_string(),
        expired_at: Utc::now(), // 由 Github API 提供
    },
    branch: "main".to_string(),
    commit_id: "238f7f0454783defa4946613bc17ebbf4ccc514a".to_string(),
    dockerfile_path: "Dockerfile".to_string(),
    private_port: Some(3000),
    total_cpus: "1".to_string(),
    cpu_burst: "1.5".to_string(),
    total_ram_in_mib: 256,
    min_instances: 1,
    max_instances: 4,
    storage: vec![], // 你可以在这里添加持久存储
    environment_variables: vec![], // 你可以在这里包含环境变量
};

// 将应用添加到我们想要部署的环境中
environment.applications.push(app);

// 开启一个事务
let mut tx = session.transaction();

// 请求部署环境
tx.deploy_environment(&EnvironmentAction::Environment(environment));

// 提交并部署环境
tx.commit();

注意:仓库根目录需要有一个 Dockerfile。

文档

完整、全面的文档可在 Qovery 网站上获取:https://docs.qovery.com

贡献

在向项目提交拉取请求之前,请阅读我们的贡献指南

社区支持

要获得使用 Qovery Engine 的一般帮助,请参阅官方 Qovery Engine 文档。如需额外帮助,你可以使用以下渠道提问:

  • Discord(与社区和 Qovery 团队进行实时讨论)
  • GitHub(错误报告,贡献)
  • 路线图(路线图,功能请求)
  • Twitter(快速获取新闻)

路线图

查看我们的路线图以了解最新发布的功能和即将推出的功能。你也可以为我们提供见解并为特定功能投票。

常见问题

Qovery 为什么存在?

在 Qovery,我们相信云必须比现在更简单。我们的目标是整合云生态系统,使其对任何开发人员、DevOps 和公司都可访问。Qovery 帮助人们专注于他们正在构建的东西,而不是浪费时间做管道工作。

Qovery 和 Qovery Engine 有什么区别?

Qovery 是面向开发人员的容器即服务平台。它结合了 Heroku 的简单性、AWS 的可靠性和 Kubernetes 的强大功能。它使开发人员和 DevOps 的生活更轻松,可以部署复杂的应用程序。

Qovery Engine 是 Qovery 使用的开源抽象层,用于在任何云提供商上抽象容器和数据库的部署。

为什么 Qovery Engine 用 Rust 编写?

Rust 在云行业中被低估了。在 Qovery,我们相信 Rust 可以帮助构建弹性、高效和高性能的产品。Qovery 希望为 Rust 在未来 10 年成为云行业的重要参与者做出贡献。

为什么使用 Terraform、Helm 和 Kubectl 二进制文件?

Qovery Engine 被设计为以管理员身份运行,并根据二进制文件、服务、API 等的输出做出决策。Qovery 使用市场上最高效的工具来管理资源。

许可证

有关许可信息,请参阅 LICENSE 文件。

Qovery

Qovery 是 CNCFLinux 基金会 的银牌会员。

CNCF 银牌会员标志
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号