Skip to content
This repository has been archived by the owner on Jun 22, 2024. It is now read-only.
/ helot Public archive

Base development Docker image

License

Notifications You must be signed in to change notification settings

logisparte/helot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

helot

Lire en Français

Base development Docker images

Note

This repository is no longer maintained. Users are encouraged to migrate to docker-env for containerized development environments.

About

Greek: Εἵλωτες, phonetic: Heílôtes

The helots were a native population of Laconia and Messenia subjugated by the Spartans. They were responsible for farming the land and accomplishing domestic chores so that Spartan men could dedicate themselves to military training

It's essential to automate work that does not create value

Continuous integration (CI) and continuous delivery (CD) are the first automated workflows any engineering team should put in place when beginning a project. In that regard, the best strategy is to use a common shareable development environment that ensures deterministic code execution for all engineers and bots. This repository contains Ubuntu-based Docker images that can play this role. They contain basic tools for general development and CI/CD automation (see the Dockerfile for more details)

The default image is based on Ubuntu 22.04. Images based on other Ubuntu versions are suffixed with the version number. All images support AMD64 and AMR64 architectures. These are the currently supported versions:

  • ghcr.io/logisparte/helot
  • ghcr.io/logisparte/helot-22.04
  • ghcr.io/logisparte/helot-20.04

License

helot is distributed under the terms of the Apache 2.0 license

Users

Installation

To use locally:

docker pull ghcr.io/logisparte/helot

To use in a Dockerfile:

FROM ghcr.io/logisparte/helot

...

Configuration

Some utilities must be configured before their first use in a container

GitHub

To configure local git and GitHub credentials :

kano dockered configure_github "$NAME" "$EMAIL" "$PERSONAL_ACCESS_TOKEN"

AWS

To configure AWS credentials, simply mount a user .aws directory or run the container with these environment variables:

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY
  • AWS_DEFAULT_REGION
  • AWS_DEFAULT_OUTPUT

See AWS CLI's documentation for more information

Defaults

These values are configured by default in the image:

  • User: docker (passwordless sudo)
  • Shell: /bin/sh -e -c
  • Command: /bin/sh
  • Timezone: UTC (configurable through --build-arg TIMEZONE)
  • Editor: vim

Contributors

See kano's builtin docker task documentation for more information on the following tasks

Build

To build the development image from Ubuntu 22.04:

kano docker build

To build the development image from another Ubuntu version:

kano docker build --build-arg UBUNTU_VERSION="20.04"

Test

To test that the image was built correctly:

kano dockered test

Release

This should normally be done by the CI/CD pipeline. To build and release the images to the registry:

kano dockered release "$REGISTRY" "$VERSION"