¡El complemento Artifactory Terrafrom está aquí!

Prefacio
Con la popularidad de los entornos de múltiples nubes y DevOps, cada vez más ingenieros de DevOps se enfrentan al problema de la gestión automatizada de recursos dentro y fuera de la nube. Como proveedor líder mundial de software de gestión de artefactos, Artifactory de JFrog también ha sido adoptado por muchas empresas reconocidas y se ha convertido en una de las herramientas devops más populares. Entonces, ¿mediante qué método podemos implementar rápidamente un conjunto de Artifactory en nuestro entorno de nube? Creo que todos pensarán inmediatamente en otra conocida herramienta de terraform de IaC. JFrog proporciona oficialmente el complemento terraform, que le permite implementar rápidamente Artifactory a través de IaC.
Terraform agrega el complemento Artifactory

Terraform es una herramienta de infraestructura como código proporcionada por HashiCorp que se puede utilizar para construir, cambiar y administrar la infraestructura de una manera segura y repetible. Utilizando un lenguaje de configuración llamado lenguaje de configuración HashiCorp (HCL), los operadores y los equipos de infraestructura pueden administrar el entorno a través de una implementación automatizada fácil de entender.

Artifactory Provider de Terraform es un complemento gratuito que amplía HCL para poder crear instancias de Artifactory. Permite a los administradores de infraestructura configurar el repositorio, los permisos, etc. de Artifactory a través de scripts de Terraform.

Una vez que la configuración de Artifactory se puede completar automáticamente, estas configuraciones se pueden copiar de manera confiable en múltiples instancias de Artifactory o cientos de instancias de Artifactory.

La carga de la configuración de Artifacotry a través de Terraform Provider
puede habilitar el complemento en el script de Terraform agregando el siguiente fragmento de código al archivo .tf. La instrucción required_providers cargará automáticamente complementos desde el registro de Terraform.

terraform {
required_providers {
artifactory = {
source = "jfrog / artifactory"
version = "2.2.4"
}
}
}

variable "artifactory_url" {
description = "La URL base de la implementación de Artifactory"
type = string
}
variable "artifactory_username" {
description = "El nombre de usuario para el administrador de Artifactory"
tipo = string
}
variable "artifactory_password" {
descripción = "La contraseña para el administrador de Artifactory "
type = string
}

proveedor "artifactory" {

Opciones de configuración

url = "$ {var.artifactory_url}"
username = "$ {var.artifactory_username}"
contraseña = "$ {var.artifactory_password}"
}

Cabe señalar que el archivo de configuración anterior almacena la información de inicio de sesión de Artifacotry en texto plano, por lo que se recomienda establecer el rango de lectura del usuario mediante permisos para el archivo de configuración del proveedor. Además, también puede consultar el siguiente artículo sobre el método oficial para manejar información secreta en terraform ( https://blog.gruntwork.io/a-comprehensive-guide-to-managing-secrets-in-your-terraform-code-1d586955ace1#4df5 )
y Además de usar nombre de usuario / contraseña, también se puede acceder a Artifactory usando la clave API o el token de acceso.

Crea repositorios a través del método de recursos.
Después de usar el complemento terraform artifactory, puedes definir un repositorio Artifacotry en el campo de recursos. Este también es un objeto de sintaxis estándar terraform, que no cambia los hábitos de uso de los jugadores terraform.

Crea un nuevo repositorio

recurso "artifactory_local_repository" "pypi-libs" {
key = "terraform-pypi-libs"
package_type = "pypi"
repo_layout_ref = "simple-default"
description = "Un repositorio de pypi para paquetes de python"
}

Aquí hemos creado un repositorio de Python llamado terraform-pypi-libs. De manera similar, este complemento de aritfactory también puede crear repositorios remotos y virtuales a través del método de recursos.

Configurar usuarios, grupos y permisos de Artifactory a través de recursos

También puede agregar recursos a los scripts de Terraform para configurar usuarios y grupos que pueden acceder al repositorio de Artifactory con permisos específicos. Por ejemplo, puede escribir un script para crear un grupo de usuarios para un equipo de desarrolladores de aplicaciones para el usuario que pueden acceder al repositorio que creó.

Crea un nuevo grupo de artefactos para el equipo

recurso "artifactory_group" "fe-group" {
name = "fe-dev"
description = "Equipo de desarrollo de front-end"
admin_privileges = false
}

Crear nuevos usuarios de Artifactory para el equipo.

recurso "artifactory_user" "fe-user-lead" {
nombre = "aliyahm"
email = "[email protected]"
groups = ["usuarios registrados", "lectores", "fe-dev"]
contraseña = $ {var.artifactory_default_pw}
}
recurso "artifactory_user" "fe-user-dev1" {
name = "sanjayr"
email = "[email protected]"
groups = ["usuarios registrados", "lectores", "fe- dev ”]
contraseña = $ {var.artifactory_default_pw}
}
recurso" artifactory_user "" fe-user-dev2 "{
name =" ericb "
email =" [email protected] "
groups = [" usuarios registrados "," lectores ","Fe-dev"]
contraseña = $ {var.artifactory_default_pw}
}

Cree un nuevo destino de permiso de Artifactory llamado fe-perm

recurso "artifactory_permission_target" "fe-perm" {
nombre = "fe-perm"

repositorio {
includes_pattern = ["foo / "]
excludes_pattern = ["bar /
"]
repositories = ["terraform-pypi-libs"]

actions {
  users {
    name        = "markz"
    permissions = ["read", "write"]
  }

  groups {
    name        = “fe-dev”
    permissions = ["read", "write"]
  }
}

}
}

Además de administrar repositorios y credenciales, Artifactory Terraform Provider también admite lo siguiente:

Configuración de la
replicación Puede crear y administrar la replicación del repositorio de Artifactory a través del proveedor. La función se puede utilizar para configuraciones de replicación de múltiples sitios o replicación de un solo artefacto.

Certificados
Los recursos de certificados de Artifactory se pueden utilizar para crear y administrar certificados de Artifactory para la autenticación de clientes en repositorios remotos.

La fuente de
datos permite extraer o calcular datos para su uso en cualquier otro lugar de la configuración de Terraform. Artifactory Provider proporciona una fuente de datos utilizable para los metadatos de los archivos del repositorio de Artifactory y los archivos almacenados en el repositorio de Artifactory.

Finalmente, si desea conocer todos los recursos del proveedor de terraform de Artifacotry, puede consultar la guía oficial de terraform: https://registry.terraform.io/providers/jfrog/artifactory/latest/docs

Supongo que te gusta

Origin blog.51cto.com/jfrogchina/2562981
Recomendado
Clasificación