Skip to content

Commit

Permalink
Merge branch 'release/20210114.1.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
hswong3i committed Jan 14, 2021
2 parents 6710c57 + 096e034 commit d436f15
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 56 deletions.
12 changes: 8 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,14 @@

### Major Changes

## 20210102.1.0 - 2021-01-02
## 20210114.1.0 - 2021-01-14

### Major Changes

- Debian 15.2 based
- Base box running by [Vagrant Libvirt Provider](https://github.com/vagrant-libvirt/vagrant-libvirt)
- Provision by [Ansible](https://www.ansible.com/) and [Molecule Vagrant Plugin](https://github.com/ansible-community/molecule-vagrant)
- Packaging with [Packer](https://www.packer.io/)
- Minimal [Vagrant base box implementation](https://www.vagrantup.com/docs/boxes/base)
- Support [Vagrant synced folder with rsync](https://www.vagrantup.com/docs/synced-folders/rsync)
- Support [Vagrant provisioner with Ansible](https://www.vagrantup.com/docs/provisioning/ansible)
- Standardize disk partition with GPT
- Standardize file system mount with UUID
- Standardize network interface with `eth0`
81 changes: 29 additions & 52 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,78 +1,55 @@
# Vagrant Box Packaging for Debian

[![Gitlab pipeline status](https://img.shields.io/gitlab/pipeline/alvistack/vagrant-debian/master)](https://gitlab.com/alvistack/vagrant-debian/-/pipelines)
[![GitLab pipeline status](https://img.shields.io/gitlab/pipeline/alvistack/vagrant-debian/master)](https://gitlab.com/alvistack/vagrant-debian/-/pipelines)
[![GitHub release](https://img.shields.io/github/release/alvistack/vagrant-debian.svg)](https://github.com/alvistack/vagrant-debian/releases)
[![GitHub license](https://img.shields.io/github/license/alvistack/vagrant-debian.svg)](https://github.com/alvistack/vagrant-debian/blob/master/LICENSE)
[![Vagrant Box download](https://img.shields.io/vagrant/pulls/alvistack/debian.svg)](https://hub.vagrant.com/r/alvistack/debian/)
[![Vagrant Box download](https://img.shields.io/badge/dynamic/json?label=alvistack%2Fdebian-10&query=%24.boxes%5B%3A1%5D.downloads&url=https%3A%2F%2Fapp.vagrantup.com%2Fapi%2Fv1%2Fsearch%3Fq%3Dalvistack%2Fdebian-10)](https://app.vagrantup.com/alvistack/boxes/debian-10)

GitLab is a complete DevOps platform, delivered as a single application. This makes GitLab unique and makes Concurrent DevOps possible, unlocking your organization from the constraints of a pieced together toolchain. Join us for a live Q\&A to learn how GitLab can give you unmatched visibility and higher levels of efficiency in a single application across the DevOps lifecycle.
Debian is an operating system which is composed primarily of free and open-source software, most of which is under the GNU General Public License, and developed by a group of individuals known as the Debian project. Debian is one of the most popular Linux distributions for personal computers and network servers, and has been used as a base for several other Linux distributions.

Learn more about GitLab: <https://about.gitlab.com/>
Learn more about Debian: <https://debian.org/>

## Supported Boxes and Respective Packer Template Links

- [`alvistack/debian-13.7`](https://app.vagrantup.com/alvistack/boxes/debian-13.7)
- [`libvirt`](https://github.com/alvistack/vagrant-debian/blob/master/packer/libvirt-13.7/packer.json)
- [`virtualbox`](https://github.com/alvistack/vagrant-debian/blob/master/packer/virtualbox-13.7/packer.json)
- [`alvistack/debian-13.6`](https://app.vagrantup.com/alvistack/boxes/debian-13.6)
- [`libvirt`](https://github.com/alvistack/vagrant-debian/blob/master/packer/libvirt-13.6/packer.json)
- [`virtualbox`](https://github.com/alvistack/vagrant-debian/blob/master/packer/virtualbox-13.6/packer.json)
- [`alvistack/debian-10`](https://app.vagrantup.com/alvistack/boxes/debian-10)
- [`packer/libvirt-10/packer.json`](https://github.com/alvistack/vagrant-debian/blob/master/packer/libvirt-10/packer.json)
- [`packer/virtualbox-10/packer.json`](https://github.com/alvistack/vagrant-debian/blob/master/packer/virtualbox-10/packer.json)

## Overview

This Docker container makes it easy to get an instance of Debian up and running.

Based on [Official Debian Docker Image](https://hub.docker.com/_/debian/) with some minor hack:

- Packaging by Packer Docker builder and Ansible provisioner in single layer
- Handle `ENTRYPOINT` with [catatonit](https://github.com/Debian/catatonit)
- Packaging with [Packer](https://www.packer.io/)
- Minimal [Vagrant base box implementation](https://www.vagrantup.com/docs/boxes/base)
- Support [Vagrant synced folder with rsync](https://www.vagrantup.com/docs/synced-folders/rsync)
- Support [Vagrant provisioner with Ansible](https://www.vagrantup.com/docs/provisioning/ansible)
- Standardize disk partition with GPT
- Standardize file system mount with UUID
- Standardize network interface with `eth0`

### Quick Start

For the `VOLUME` directory that is used to store the repository data (amongst other things) we recommend mounting a host directory as a [data volume](https://docs.docker.com/engine/tutorials/dockervolumes/#/data-volumes), or via a named volume if using a docker version \>= 1.9.
Once you have [Vagrant](https://www.vagrantup.com/docs/installation) and [VirtaulBox](https://www.virtualbox.org/) installed, run the following commands under your [project directory](https://learn.hashicorp.com/tutorials/vagrant/getting-started-project-setup?in=vagrant/getting-started):

Start Debian:

# Pull latest image
docker pull alvistack/debian
# Initialize Vagrant
vagrant init alvistack/debian-10

# Run as detach
docker run \
-itd \
--name debian \
--volume /etc/debian:/etc/debian \
--volume /var/run/docker.sock:/var/run/docker.sock \
alvistack/debian

**Success**. Debian is now available.

## Upgrade

To upgrade to a more recent version of Debian you can simply stop the Debian
container and start a new one based on a more recent image:

docker stop debian
docker rm debian
docker run ... (see above)

As your data is stored in the data volume directory on the host, it will still
be available after the upgrade.

Note: Please make sure that you don't accidentally remove the debian container and its volumes using the -v option.

## Backup

For evaluations you can use the built-in database that will store its files in the Debian home directory. In that case it is sufficient to create a backup archive of the directory on the host that is used as a volume (`/var/opt/gitlab` in the example above).
# Start the virtual machine
vagrant up

# SSH into this machine
vagrant ssh

# Terminate the virtual machine
vagrant destroy --force

## Versioning

### `alvistack/debian:latest`
### `alvistack/debian-10:YYYYMMDD.Y.Z`

The `latest` tag matches the most recent [GitHub Release](https://github.com/alvistack/vagrant-debian/releases) of this repository. Thus using `alvistack/debian:latest` or `alvistack/debian` will ensure you are running the most up to date stable version of this image.
Release tags could be find from [GitHub Release](https://github.com/alvistack/vagrant-debian/releases) of this repository. Thus using these tags will ensure you are running the most up to date stable version of this image.

### `alvistack/debian:<version>`
### `alvistack/debian-10:YYYYMMDD.0.0`

The version tags are rolling release rebuild by [Travis](https://travis-ci.com/alvistack/vagrant-debian) in weekly basis. Thus using these tags will ensure you are running the latest packages provided by the base image project.
Version tags ended with `.0.0` are rolling release rebuild by [GitLab pipeline](https://gitlab.com/alvistack/vagrant-debian/-/pipelines) in weekly basis. Thus using these tags will ensure you are running the latest packages provided by the base image project.

## License

Expand Down

0 comments on commit d436f15

Please sign in to comment.