跳转到主要内容

Idem的GCP云提供商

项目描述

Made with pop, a Python implementation of Plugin Oriented Programming Made with idem, a Python implementation of Plugin Oriented Programming Documentation is published with Sphinx on docs.idemproject.io Made with Python

GCP Cloud Provider for Idem.

关于

idem-gcp帮助管理GCP和idem

什么是POP?

本项目使用pop构建,它是Python实现的面向插件编程(POP)。POP旨在以新的方式结合计算机历史中的概念和智慧来解决现代计算机问题。

更多信息

什么是Idem?

本项目使用idem构建,idem是一种用Python编写的幂等、命令执行、声明式编程语言。本项目扩展了idem!

更多信息

入门

先决条件

  • Python 3.8+

  • git (如果从源安装,或为项目做出贡献)

  • Idem

安装

从 PyPI 安装

您可以从 PyPI、源仓库或本地目录安装 idem-gcp

在安装 idem-gcp 之前,请确保您与 pyproject.toml 文件位于同一目录下。您可以使用 --directory=DIRECTORY (-C) 选项指定包含 pyproject.toml 文件的目录。

从 PyPI 安装

要从 PyPI 安装 idem-gcp,请运行以下命令

poetry add idem-gcp

从源安装

您还可以直接从源仓库安装 idem-gcp

poetry add git+https://gitlab.com/vmware/idem/idem-gcp.git

如果您未指定分支,Poetry 将使用 master 分支的最新提交。

从本地目录安装

克隆 idem-gcp 仓库。然后运行以下命令从克隆的目录安装

poetry add ~/path/to/idem-gcp

设置

安装完成后,GCP Idem 提供器和状态模块将对 pop hub 可用。为了使用它们,我们需要设置我们的凭据。

创建一个名为 credentials.yaml 的新文件,并用您的凭据配置文件填充它。

要在文件中提供您的 GCP 凭据,请使用“gcp”提供者密钥。在该密钥下,根据需要添加不同的配置文件。配置文件指定了 GCP 的身份验证参数。默认配置文件将由 idem 自动使用,但其他配置文件可以在每次运行或 SLS 文件中明确指定。这是通过 idem–acct-profile 命令行标志或 acct_profile SLS 属性完成的。

idem-gcp 支持的当前 GCP 身份验证机制是提供服务帐户密钥。以下示例给出了期望的身份验证参数格式的总体结构。

credentials.yaml

gcp:
  default:
    type: service_account
    project_id: “<project>”
    private_key_id: “<key_id>”
    private_key: "-----BEGIN PRIVATE KEY-----\n<private_key>\n-----END PRIVATE KEY-----\n"
    client_email: “<service_account_email>“
    client_id: “<client_id>”
    auth_uri: https://#/o/oauth2/auth
    token_uri: https://oauth2.googleapis.com/token
    auth_provider_x509_cert_url: https://www.googleapis.com/oauth2/v1/certs
    client_x509_cert_url: “<certificate_url>“
    universe_domain: googleapis.com
  <other_profile_name>:
    ...

这些参数的值可以在创建服务帐户并在 GCP 控制台中生成 JSON 格式的服务帐户密钥后获得。请确保为服务帐户分配适当的角色,以便它有权访问和管理所需资源。为了更好的安全性,遵循最小权限原则,不要使用拥有过多权限的服务帐户。有关使用的身份验证参数的更多信息,请参阅凭据文档。

加密创建的凭据文件

acct encrypt credentials.yaml

此命令的输出是需要安全存储的 ACCT_KEY。工作目录中还将创建一个加密的 credentials.yaml.fernet 文件,其路径应用作 ACCT_FILE。这些可以通过环境变量或直接作为 idem 运行参数提供给 idem。

设置环境变量

export ACCT_KEY="<ACCT_KEY>"
export ACCT_FILE=$PWD/credentials.yaml.fernet

向 idem 运行提供 acct 参数

idem <subcommand> --acct-key "<ACCT_KEY>" --acct-file "$PWD/credentials.yaml.fernet" --acct-profile "<profile_name>"

在 SLS 文件中指定帐户配置文件

ensure_resource:
  gcp.<service>.<resource>.present:
    - acct_profile: <profile_name>
    - name: resource_name
    - kwarg1: val1

有关 Idem ACCT 身份验证管理子系统的更多信息,请参阅以下资源

项目详细信息


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

idem_gcp-2.2.4.tar.gz (191.1 kB 查看哈希值)

上传时间

构建分发

idem_gcp-2.2.4-py3-none-any.whl (283.8 kB 查看哈希值)

上传时间 Python 3

由以下提供支持