Giter Site home page Giter Site logo

home's Introduction

home

Codacy Badge Ansible Lint Packer VyOS Rolling Update Notify

This is my home environment.

Diagram

Network

home

Requirements

Software Version Description
ESXi >= 7.0
VMware Ovf Tool >= 4.3
python >= 3.7
packer >= 1.7
terraform >= 0.15
ansible >= 3.3
rke >= 1.2
vagrant >= 2.2 Optional

Usage

Preparation

ESXi

Clone this repository

git clone [email protected]:ymmmtym/home.git
cd home

Set environment vars like .sample.env

create .env for your environment. and source .env

cp .sample.env .env
vi .env
. .env

Decrypt encrypted files(by searching following command) by ansible-vault

grep -r "ANSIBLE_VAULT" inventories/*

(Optional) Encrypt secret files by ansible-vault

echo "<your vault password>" > .vault_password
ansible-vault encrypt ${YOUR_SECRET_FILE_PATH}

Fix vars for your environment

Ansible

See inventories directory recursively. Then, fix inventories/base.yml and group_vars, host_vars for your environment.

Terraform

Create terraform/terraform.tfvars like following text.

ESXI_HOSTNAME = "<IP Address of your ESXi>"
ESXI_USERNAME = "<Username for ESXi login>"
ESXI_PASSWORD = "<Password for ESXi login>"
Packer

Fix packer/vairables.json for your environment.

Setup

Create Template VMs by Packer

Exec following command at current directory.

packer build packer/templates.json -var-file=packer/variables.json

If you want more template images, you need to add template config to packer/templates.json.

Exec terraform apply

Activate ansible environment.

ex)

python3 -m venv --clear .venv
. .venv/bin/activate
pip install -r requirements.txt

Add route to public network.

ip r add 192.168.100.0/24 via 192.168.0.4

Exec terraform apply.

cd terraform
terraform apply

home's People

Contributors

codacy-badger avatar dependabot[bot] avatar renovate-bot avatar ymmmtym avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

home's Issues

arrange ansible dir

  • create "ansible" dir and move files to dirt
  • fix trigger actions of ansible lint when only ansible dir is changed

Action Required: Fix Renovate Configuration

There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.

Location: renovate.json
Error type: Invalid JSON (parsing failed)
Message: Syntax error: expecting String near ],
// "s

Deploy argocd

Deploy argocd for home cluster with Terraform kubernetes provider.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Rate-Limited

These updates are currently rate-limited. Click on a checkbox below to force their creation now.

  • Update Terraform remote to v0.0.25
  • Update dependency colorama to v0.4.5
  • Update dependency paramiko to v2.10.5
  • Update Terraform helm to v2.6.0
  • Update Terraform kubernetes to v2.13.1
  • Update Terraform remote to v0.1.0
  • Update dependency paramiko to v2.11.0
  • Update Helm release argo-cd to v5
  • Update dependency Jinja2 to v3
  • Update dependency MarkupSafe to v2
  • Update dependency PyYAML to v6
  • Update dependency ansible to v6
  • Update dependency ansible-lint to v6
  • Update dependency bcrypt to v4
  • Update dependency cryptography to v38
  • Update dependency packaging to v21
  • Update dependency pyparsing to v3
  • Update dependency rich to v12
  • Update dependency tenacity to v8
  • Update dependency typing-extensions to v4
  • Update peter-evans/create-pull-request action to v4
  • ๐Ÿ” Create all rate-limited PRs at once ๐Ÿ”

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/ansible.yml
  • actions/checkout v3
.github/workflows/packer.yml
  • actions/checkout v3
.github/workflows/vyos-rolling-update-notify.yml
  • actions/checkout v3
  • peter-evans/create-pull-request v3
pip_requirements
requirements.txt
  • ansible ==4.10.0
  • ansible-base ==2.10.17
  • ansible-lint ==5.0.12
  • bcrypt ==3.2.2
  • bracex ==2.1.1
  • cffi ==1.14.6
  • colorama ==0.4.4
  • commonmark ==0.9.1
  • cryptography ==3.4.8
  • enrich ==1.2.7
  • Jinja2 ==2.11.3
  • MarkupSafe ==1.1.1
  • netaddr ==0.8.0
  • packaging ==20.9
  • paramiko ==2.10.4
  • pycparser ==2.20
  • Pygments ==2.9.0
  • PyNaCl ==1.4.0
  • pyparsing ==2.4.7
  • PyYAML ==5.4.1
  • rich ==10.1.0
  • ruamel.yaml ==0.17.21
  • ruamel.yaml.clib ==0.2.6
  • six ==1.16.0
  • tenacity ==7.0.0
  • typing-extensions ==3.10.0.2
  • wcmatch ==8.1.2
terraform
terraform/guest-rke2.tf
  • argo-cd 4.5.11
terraform/provider.tf
terraform/terraform.tf
  • esxi 1.10.2
  • remote 0.0.23
  • kubernetes 2.11.0
  • helm 2.5.1

  • Check this box to trigger a request for Renovate to run again on this repository

convert roles to submodules

To Do

arrange roles

  • dev,homebrew -> ansible-role-dev
  • growi -> growi-install(archived)
  • keywoo -> keywoo-install(archived)
  • web_server -> DEPRECIATED

add molecure to each role

  • ansible-role-dev

Create Makefile

  • esxi ssh setting... (optional)
  • install requirements for develop terminal(ansible-playbook site.yml -l dev)
  • packer build
  • terraform apply

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.