Structure Testing for Docker Containers

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • container-structure-test

    validate the structure of your container images

  • Container Structure Tests (CST) is a container-testing tool developed by Google and open-sourced with the Apache 2.0 license. CST comes with a predefined set of tests for looking at what’s actually inside a container image.

  • rubygems

    Library packaging and distribution for Ruby.

  • schemaVersion: 2.0.0 commandTests: - name: "Ruby is installed" command: "which" args: ["ruby"] expectedOutput: ["/usr/local/bin/ruby"] - name: "Ruby version is correct" command: "/usr/local/bin/ruby" args: ["--version"] expectedOutput: ["ruby 2.7.*"] - name: "Ruby binary checksum" setup: [["apt-get", "update"], ["apt-get","install","-y","shatag"]] command: "sha512sum" args: ["/usr/local/bin/ruby"] expectedOutput: ["df2fb393261ab88e5f991b96d958363f5e5185b51f1af319375be0d8b9ed6c27097ac8bfab399798497909c3e9e2bcc6d715a1e514f13fe5b7365344af555c7e /usr/local/bin/rub"] - name: "Bundle is installed" command: "which" args: ["bundle"] expectedOutput: ["/usr/local/bin/bundle"] - name: "Bundler version is correct" command: "/usr/local/bin/bundle" args: ["--version"] expectedOutput: ["Bundler version 2.1.*"] fileExistenceTests: - name: 'app.rb exists and has correct permissions' path: '/app/app.rb' shouldExist: true permissions: '-rw-rw-r--' uid: 0 gid: 0 - name: 'spec/ directory should not exist' path: '/app/spec' shouldExist: false fileContentTests: - name: 'Gemfile remote is rubygems.org' path: '/app/Gemfile.lock' expectedContents: ['remote: https://rubygems.org/'] metadataTest: env: - key: APP_HOME value: /app - key: RUBY_VERSION value: 2.7.4 exposedPorts: ["4567"] cmd: ["bundle", "exec", "rackup", "--host", "0.0.0.0", "-p", "4567"] workdir: "/app" entrypoint: [] volumes: []

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • semaphore-demo-ruby-kubernetes

    A Semaphore demo CI/CD pipeline for Kubernetes.

  • View on GitHub

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts