From 096e03436d99bc1a3df94433fae0823fce6c8712 Mon Sep 17 00:00:00 2001 From: Wong Hoi Sing Edison Date: Thu, 14 Jan 2021 12:38:45 +0800 Subject: [PATCH] refine doc --- CHANGELOG.md | 12 +++++--- README.md | 81 +++++++++++++++++++--------------------------------- 2 files changed, 37 insertions(+), 56 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 89b7ecb..00e997b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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` diff --git a/README.md b/README.md index 56d9f13..c9ed1e7 100644 --- a/README.md +++ b/README.md @@ -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: +Learn more about Debian: ## 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:` +### `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