Creating container images with Ansible (using ansible-bender)

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

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.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • dockerfiles

    Various Docker files for various operations and programs. Inspired by Jessie Frazelle who inspired me to start sharing Dockerfiles :) (by themkat)

  • In the last article, building container images with Ansible was briefly discussed. An external blog article on that very subject was linked to, and if you read it you may have seen a lot of manual steps using Docker- and Buildah-commands. This seems like a lot of boiler plate code just to make container images with Ansible, right? From that idea, ansible-bender was born! Ansible-Bender uses Buildah to build your images, and Podman to handle them (some commands like pushing images, build logs, inspecting images etc. are included into Ansible-Bender). Buildah is a container image builder that does not depend on any external programs, and can build containers for any container runtime. A very big downside is that it's only supported on GNU/Linux-based systems, which is bad news if you are using Mac OS X (or god forbid if you are one of the Windows users, ugh). To combat this issue I made a Docker image that includes Buildah and all dependencies, that can be used to run Ansible-Bender on other platforms. Might be a bit slower than just using it on a GNU/Linux-based system, but beats not being able to use it at all!

  • ansible-bender

    ansible-playbook + buildah = a sweet container image

  • Base images NEEDS to have Python installed. You can do this during runs by turning off gather_facts and installing it during playbook run.

  • 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
  • .emacs.d

    My .emacs.d configuration. Even have a Github Actions pipeline :smirk: (by themkat)

  • --- - name: Emacs setup - Containerized hosts: all vars: ansible_bender: base_image: python:3.9-slim-bullseye target_image: name: myemacs cmd: bash user: themkat working_dir: /home/themkat pre_tasks: - name: Update package archives (Debian-based) apt: update_cache: true cache_valid_time: 7200 when: ansible_os_family == "Debian" tasks: - name: Make sure Emacs and git is installed package: name: - emacs - git state: present - name: Create themkat user user: name: themkat create_home: true state: present # had issues with using the home symbol + become_user here. Might be an issue to look out for - name: Download Emacs config #become_user: themkat git: repo: https://github.com/themkat/.emacs.d.git dest: /home/themkat/.emacs.d - name: Make themkat the owner file: path: /home/themkat/.emacs.d owner: themkat recurse: true state: directory

  • spring-starter-terminal

    Simple script that uses dialog as a terminal UI for creating new Spring application using the Spring Starter / Spring Initializer service.

  • Let's do something slightly different by demonstrating the usage of volumes and Ansible roles during build. It's not unusual to want to package an application into a container, and for simplicity we put it into the same directory as the playbook itself (so we can use the playbook_dir variable). To not make this example too advanced, we simply use a Spring Boot application made from Spring Initializr without any changes (if you prefer a terminal UI, there is one for that too). We'll use geerlingguys java role to setup Java to not boggle down the example with Java setup.

  • initializr

    A quickstart generator for Spring projects

  • Let's do something slightly different by demonstrating the usage of volumes and Ansible roles during build. It's not unusual to want to package an application into a container, and for simplicity we put it into the same directory as the playbook itself (so we can use the playbook_dir variable). To not make this example too advanced, we simply use a Spring Boot application made from Spring Initializr without any changes (if you prefer a terminal UI, there is one for that too). We'll use geerlingguys java role to setup Java to not boggle down the example with Java setup.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
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

  • Show HN: FileKitty – Combine and label text files for LLM prompt contexts

    5 projects | news.ycombinator.com | 1 May 2024
  • Ask HN: Freelancer? Seeking freelancer? (May 2024)

    1 project | news.ycombinator.com | 2 May 2024
  • More Low-Bit LLMs

    2 projects | news.ycombinator.com | 2 May 2024
  • Kolmogorov-Arnold Network for Reinforcement Leaning, Initial Experiments

    1 project | news.ycombinator.com | 2 May 2024
  • Create an AI prototyping environment using Jupyter Lab IDE with Typescript, LangChain.js and Ollama for rapid AI prototyping

    4 projects | dev.to | 2 May 2024