Verificando autenticación…

Skip to main content

Docker Images

  1. Images for pipelines:
  2. Base images for applications
  3. Destination of Application images

Image Characteristics

There are 2 types of images defined at the moment:

Runtime

Base images for applications, containing the necessary tools to execute applications in different programming languages. They are maintained and updated periodically by the ANDES Security Plane.

  • Compilation via krane/erb.
  • Incremental auto-numeric versioning
  • Variations:
    • Redhat UBI 8 and 9.
    • Alpine 3.21
tip

The definition of each image can be found in the repository: https://gitlab.com/latamairlines/tech/infrastructure/delivery-and-devsecops/pipelines/bdi

Pipeline

Images used in Gitlab CI/CD pipelines, containing necessary tools for building, testing, and deploying applications. They are maintained and updated periodically by the ANDES Delivery Plane.

  • Static compilation using docker build args.
  • Incremental auto-numeric versioning.
  • Variations:
    • Alpine 3.21

Images built in Gitlab for gitlab-ci

  • gcloud-sdk
    • Image based on the official Google Cloud SDK image
    • Includes tools to facilitate job operation
      • git
      • yq
      • jq
      • curl
      • wget
      • helm
      • kubectl
  • Shopify-krane
  • eclipse-temurin 8/11/17/21/23
  • nodejs 18/20/22/23/24
  • SonarQube
  • K6 (nodejs 20)
tip

The definition of each image can be found in the repository: https://gitlab.com/latamairlines/config/devops/docker/pipeline-images

Pipeline of Pipelines (PoP)

The Pipeline of Pipelines (PoP) is an automated system that validates and tests changes made to framework-2 components and templates before they are released for general use, executing the new version of the pipeline in other pipelines.

  • We implement changes using Feature Branch1.

  • Each change originates in a branch based on jira [ticket-key]-[title-slug]

  • Changes are reviewed by triggering pipelines in other projects.

Footnotes

  1. Feature Branch is an isolated copy of a project's main code (main/master branch) created to develop a specific feature, fix a bug, or experiment, without affecting the team's stable code until the task is complete and reviewed, facilitating parallel development and secure collaboration.