theodore86 / vagrantenv Goto Github PK
View Code? Open in Web Editor NEW(as Code) SandBox, (reproducible) local development environment
License: MIT License
(as Code) SandBox, (reproducible) local development environment
License: MIT License
Setup an non-root user for the CI Dockerfile, currently the default user is the root
Introduce yq ansible role for provisioning
Currently the project is only supports static code analysis / linting through the tox/pre-commit combo, unit or integration testing of the project libraries is a pending task but some parts of the project (e.g. ansible filter plugins) are unit tested (e.g pytest framework).
Purpose of this task is to integrate pytest testing framework into tox.ini
. Will not be part of the pre-commit framework
(limited to linting activities). In the future a nice feature will be to abstract the ruby
or python
testing activities through an common tool which will be triggered again through the tox automation project.
Remove the suffix _e2e
from all task variables
Migrate CI to Github Actions.
Based on GH Dockerfile docs i need to rewrite the Dockerfile
to set root
as default user and install all the packages inside the root workspace, moreover i WORKDIR
is not working as expected with the GITHUB_WORKSPACE
as a result:
circleCI
for CI purposesIntroduce github action to build, tag and publish (to dockerhub) the docker image for the circleCI process.
As a docker image tag the COMMIT_ID
will be used
Update the existing ansible docker role to include the docker-desktop
Script to tag and release the software starting from the v2.0.4
version (semantic).
Example:
tox -e release -- -v v2.0.5
The [testenv:release]
environment will execute an python or bash script to release the software with an new release tag.
Ansible role to include the istioctl
command line utility
Update Dockerfile, move bundler installation as root, set BUNDLE_PATH
, BUNDLE_BIN
Ansible role to provision allure2 command line
Introduce new ansible role (kubespy) in the kubernetes parent role
Purpose of this task is to upgrade the vagrant.box
to ubuntu-22.04
Possible issues:
Need to clean python2.7, support only for python3+
22.04
Currently python2.7 is being used for provisioning purposes, development or testing on the sandbox can be made using python3
In order to proceed with this issue the installation of the ansible will be made by:
shell
provisioner (bootstrap.sh
) will bring up the ansible cm tool.
python3-pip
python3-dev
, python3-setuptools
and ansible
(through requirements.txt)local ansible
provisioner will be used only for the actual ansible playbook execution.Requirement for ansible provisioner:
It seems that the Dockerfile is not support on linux/arm64
.
Setup the Dockerfile to support platform agnostic building.
Introduce ansible role for the kubectl aliases
Purpose of this task is to migrate to the latest vagrant version: 2.2.19
tools/linux
tools/windows/
vagrant
ansible provisionerUpdate kubernetes tooling with kube-shell, new role is required to be made in order to make the install of the kube-shell available
Requires an new package-ecosystem
for handle the ruby Gemfile/Gemfile.lock
Purpose of this issue is to create dependabot to track down project dependencies
Create an provisioning bash script under tools/linux to install the virtualbox and vagrant packages - OS-agnostic.
Script can be verified and tested in the respective linux containers.
References:
How to install pacapt:
$ sudo wget -O /usr/local/bin/pacapt https://github.com/icy/pacapt/raw/ng/pacapt
$ sudo chmod 755 /usr/local/bin/pacapt
$ sudo ln -sv /usr/local/bin/pacapt /usr/local/bin/pacman || true
Ansible provisioner task,var files for hadolint
Instructions on have to provision the aws cliv2
Prerequisites:
aws/cli/v1
roleStudy and integrate of Github CI workflow
Introduce of kube-ps1 script as a ansible role
.pip.conf
.gitlab
Update the dependabot.yml
to include Docker
dependencies: how to
A nice kubernetes manifest manipulation tool Kyml, ansible role to automate the installation
Integrate project with the circleci
Purpose of this issue is to change the :tags:
option in vagrant.yaml
to :skip_tags:
, better to exclude rather than include tasks per tag, seems that the existing list of tools is getting bigger, readability issue in vagrant,yaml
.
Enable ansible role to install the kubecolor
Purpose of this task is to create an ansible role to install terraform
Another way to install terraform is through the pre-compiled binary
Purpose of this task/issue is to separate the docker linter wrapper between macosx and linux
Ansible role/task file for helm provisioning, required for chart deployments along side with kubectl
Update Dockfile base image version to ubuntu:22.04
JammyJellyfish
0.1.5
0.1.5
Execute project linters using the Dockerfile
for CI. Until now only tox -e linters
can be performed which requires tox
to be installed on the host or guest machine, using the Dockerfile we can achieve better portability.
docker run --rm -v $PWD:/app \
-e PRE_COMMIT_HOME:/app/.cache
-w /app theodore86:vagrantenv-ci:0.0.4 tox
Bind mounts sets the permissions of the user host inside the container, in such case we need to adjust the permissions before and after the mounting of project inside the container.
When provisioning the virtualbox and vagrant on linux/Ubuntu the curl
package is missing, is required before any other action is performed
ArgoCD CLI - v2.3.4, ansible role
Create unit/integration tests for tools written in BASH using the bats framework
Update vagrant to the latest version (2.3.1)
Issue will not be implemented ~ will be left for the future
Add new kubernetes role for: kubefwd tool
Purpose of this task is to convert the existing ansible provisioner tasks to ansible roles, re-organize the existing directory layout, create roles instead of variable and task files, better scalability in the future whenever an new provisioning tool is needed to be added.
if docker version 18.09
then { "features": { "buildkit": true } }
in /etc/docker/daemon.json
Release project to the next minor, patch version, continue project release process from where we left - v2.0.4
Purpose of this task is to create: travis-ci
New ansible role for provisioning of terragrunt
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.