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 b5a6781 + ae9fb7d commit 0724a6d
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

- 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`
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 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: <https://about.gitlab.com/>
Learn more about Fedora: <https://getfedora.org/>

## 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:<version>`
### `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

Expand Down

0 comments on commit 0724a6d

Please sign in to comment.