diff --git a/CHANGELOG.md b/CHANGELOG.md index 5074c63..067a570 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 - - Fedora 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 0f9d8b5..7b525fc 100644 --- a/README.md +++ b/README.md @@ -1,78 +1,55 @@ # Vagrant Box Packaging for Fedora -[![Gitlab pipeline status](https://img.shields.io/gitlab/pipeline/alvistack/vagrant-fedora/master)](https://gitlab.com/alvistack/vagrant-fedora/-/pipelines) +[![GitLab pipeline status](https://img.shields.io/gitlab/pipeline/alvistack/vagrant-fedora/master)](https://gitlab.com/alvistack/vagrant-fedora/-/pipelines) [![GitHub release](https://img.shields.io/github/release/alvistack/vagrant-fedora.svg)](https://github.com/alvistack/vagrant-fedora/releases) [![GitHub license](https://img.shields.io/github/license/alvistack/vagrant-fedora.svg)](https://github.com/alvistack/vagrant-fedora/blob/master/LICENSE) -[![Vagrant Box download](https://img.shields.io/vagrant/pulls/alvistack/fedora.svg)](https://hub.vagrant.com/r/alvistack/fedora/) +[![Vagrant Box download](https://img.shields.io/badge/dynamic/json?label=alvistack%2Ffedora-33&query=%24.boxes%5B%3A1%5D.downloads&url=https%3A%2F%2Fapp.vagrantup.com%2Fapi%2Fv1%2Fsearch%3Fq%3Dalvistack%2Ffedora-33)](https://app.vagrantup.com/alvistack/boxes/fedora-33) -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. +Fedora is a Linux distribution developed by the community-supported Fedora Project which is sponsored primarily by Red Hat, a subsidiary of IBM, with additional support from other companies. Fedora contains software distributed under various free and open-source licenses and aims to be on the leading edge of free technologies. Fedora is the upstream source of the commercial Red Hat Enterprise Linux distribution, and subsequently CentOS as well. -Learn more about GitLab: +Learn more about Fedora: ## Supported Boxes and Respective Packer Template Links - - [`alvistack/fedora-13.7`](https://app.vagrantup.com/alvistack/boxes/fedora-13.7) - - [`libvirt`](https://github.com/alvistack/vagrant-fedora/blob/master/packer/libvirt-13.7/packer.json) - - [`virtualbox`](https://github.com/alvistack/vagrant-fedora/blob/master/packer/virtualbox-13.7/packer.json) - - [`alvistack/fedora-13.6`](https://app.vagrantup.com/alvistack/boxes/fedora-13.6) - - [`libvirt`](https://github.com/alvistack/vagrant-fedora/blob/master/packer/libvirt-13.6/packer.json) - - [`virtualbox`](https://github.com/alvistack/vagrant-fedora/blob/master/packer/virtualbox-13.6/packer.json) + - [`alvistack/fedora-33`](https://app.vagrantup.com/alvistack/boxes/fedora-33) + - [`packer/libvirt-33/packer.json`](https://github.com/alvistack/vagrant-fedora/blob/master/packer/libvirt-33/packer.json) + - [`packer/virtualbox-33/packer.json`](https://github.com/alvistack/vagrant-fedora/blob/master/packer/virtualbox-33/packer.json) ## Overview -This Docker container makes it easy to get an instance of Fedora up and running. - -Based on [Official Fedora Docker Image](https://hub.docker.com/_/fedora/) with some minor hack: - - - Packaging by Packer Docker builder and Ansible provisioner in single layer - - Handle `ENTRYPOINT` with [catatonit](https://github.com/Fedora/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 Fedora: - - # Pull latest image - docker pull alvistack/fedora + # Initialize Vagrant + vagrant init alvistack/fedora-33 - # Run as detach - docker run \ - -itd \ - --name fedora \ - --volume /etc/fedora:/etc/fedora \ - --volume /var/run/docker.sock:/var/run/docker.sock \ - alvistack/fedora - -**Success**. Fedora is now available. - -## Upgrade - -To upgrade to a more recent version of Fedora you can simply stop the Fedora -container and start a new one based on a more recent image: - - docker stop fedora - docker rm fedora - 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 fedora 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 Fedora 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/fedora:latest` +### `alvistack/fedora-33:YYYYMMDD.Y.Z` -The `latest` tag matches the most recent [GitHub Release](https://github.com/alvistack/vagrant-fedora/releases) of this repository. Thus using `alvistack/fedora:latest` or `alvistack/fedora` 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-fedora/releases) of this repository. Thus using these tags will ensure you are running the most up to date stable version of this image. -### `alvistack/fedora:` +### `alvistack/fedora-33:YYYYMMDD.0.0` -The version tags are rolling release rebuild by [Travis](https://travis-ci.com/alvistack/vagrant-fedora) 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-fedora/-/pipelines) in weekly basis. Thus using these tags will ensure you are running the latest packages provided by the base image project. ## License