Giter Club home page Giter Club logo

devopsloft's Introduction

Release

drawing

Detailed prerequisites and instructions for spinning DEV/STAGE/PROD environments

DEV environment

Prerequisites
  • Install Docker (version 19.03.xx or higher)
  • Install Docker Compose (version 1.25.5 or higher)
  • AWS account
  • AWS Profile
  • Create an envfile '.env.dev' from the example '.env.dev.example'
  • Chrome - Allows requests to localhost over HTTPS even when an invalid certificate is presented. `chrome://flags/#allow-insecure-localhost`
Spin DEV environment Execute the following commands:
  1. make up
  2. Browse: https://localhost:8443
Teardown DEV environment Execute the following commands:
  1. ./build/build.sh dev
  2. source .env.dev
  3. docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ${NAMESPACE}/spinner:latest ./spin-docker.py --action destroy
  4. docker image prune -af
  5. docker volume prune -f

STAGE environment

Prerequisites
  • Dockerhub account
  • AWS account
  • AWS Profile
  • Terraform
  • Docker
  • Docker Compose
  • AWS ~/.aws or %UserProfile%\.aws folder
  • subnet ID
  • Security Group with inbound ports for SSH (22), HTTP (80), HTTPS (443), and 8200
  • AWS S3 Bucket
  • Create an envfile '.env.stage' from the example '.env.stage.example'
Spin STAGE environment

Execute the following:

  1. ./build/build.sh stage
  2. source .env.stage
  3. terraform -chdir=deploy init
  4. terraform -chdir=deploy apply --var-file=aws-stage.tfvars
  5. docker run --rm -v $HOME/.aws:/root/.aws -v /var/run/docker.sock:/var/run/docker.sock ${NAMESPACE}/spinner:latest ./spin-docker.py --environment $ENVIRONMENT
  6. Locate the EC2 instance Public DNS: AWS Consule->EC2->Insance->Public DNS (IPv4)
  7. Browse
Teardown STAGE environment

Execute the following:

  1. ./build/build.sh stage
  2. docker run --rm -v ~/.aws:/root/.aws -v /var/run/docker.sock:/var/run/docker.sock ${NAMESPACE}/spinner:latest ./spin-docker.py --environment $ENVIRONMENT --action destroy
  3. docker image prune -af

PROD environment

Prerequisites
  • Dockerhub account
  • AWS account
  • AWS Profile
  • AWS ~/.aws or %UserProfile%\.aws folder
  • keypair
  • subnet ID
  • Security Group with inbound ports for SSH (22), HTTP (80), HTTPS (443), and 8200
  • AWS S3 Bucket
  • Elastic IP Address (EIP)
  • Create an envfile '.env.prod' from the example '.env.prod.example'
Teardown PROD environment

Execute the following:

  1. ./build/build.sh prod
  2. source .env.prod
  3. docker run --rm -v ~/.aws:/root/.aws -v /var/run/docker.sock:/var/run/docker.sock ${NAMESPACE}/spinner:latest ./spin-docker.py --environment $ENVIRONMENT --action destroy
  4. docker image prune -af
Spin PROD environment

Execute the following:

  1. ./build/build.sh prod
  2. terraform -chdir=deploy init
  3. terraform apply -chdir=deploy --var-file=aws-prod.tfvars
  4. docker run --rm -v $HOME/.aws:/root/.aws -v /var/run/docker.sock:/var/run/docker.sock ${NAMESPACE}/spinner:latest ./spin-docker.py --environment $ENVIRONMENT
  5. Browse www.devopsloft.org

devopsloft's People

Contributors

arielgordon123 avatar avishay126 avatar balex3000 avatar barakmerdler avatar bregman-arie avatar cjcj56 avatar dependabot-preview[bot] avatar dependabot[bot] avatar greycat001 avatar guydev1 avatar leonpalo avatar lmilbaum avatar mrgoroz avatar nitishvelu avatar noamgu avatar noamhasingit avatar omribarzik avatar royhershko avatar szabgab avatar vadimsh avatar yaaraha avatar yishaiz avatar ynixon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

devopsloft's Issues

Vagrant up dev broken

==> dev: Running provisioner: shell...
dev: Running: /var/folders/5x/9yyrs73s1xqd9qj0_cg3s88h0000gn/T/vagrant-shell20180912-11610-1a86f1b.sh
dev: Getting updates...
dev: Hit:1 http://archive.ubuntu.com/ubuntu bionic InRelease
dev: Hit:2 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
dev: Hit:3 http://security.ubuntu.com/ubuntu bionic-security InRelease
dev: Hit:4 http://archive.ubuntu.com/ubuntu bionic-backports InRelease
dev: Reading package lists...
dev: Installing Python3...
dev: Reading package lists...
dev: Building dependency tree...
dev:
dev: Reading state information...
dev: python3 is already the newest version (3.6.5-3ubuntu1).
dev: 0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.
dev: Installing pip...
dev: Reading package lists...
dev: Building dependency tree...
dev: Reading state information...
dev: python3-pip is already the newest version (9.0.1-2.3~ubuntu1).
dev: 0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.
dev: Upgrading pip...
dev: Requirement already up-to-date: pip in /usr/local/lib/python3.6/dist-packages (18.0)
dev: Installing virtualenv...
dev: Requirement already satisfied: virtualenv in /usr/local/lib/python3.6/dist-packages (16.0.0)
dev: Setting virtual environment...
dev: Already using interpreter /usr/bin/python3
dev: Using base prefix '/usr'
dev: New python executable in /home/vagrant/venv/bin/python3
dev: Traceback (most recent call last):
dev: File "/usr/local/bin/virtualenv", line 11, in
dev: sys.exit(main())
dev: File "/usr/local/lib/python3.6/dist-packages/virtualenv.py", line 712, in main
dev: symlink=options.symlink)
dev: File "/usr/local/lib/python3.6/dist-packages/virtualenv.py", line 927, in create_environment
dev: site_packages=site_packages, clear=clear, symlink=symlink))
dev: File "/usr/local/lib/python3.6/dist-packages/virtualenv.py", line 1233, in install_python
dev: shutil.copyfile(executable, py_executable)
dev: File "/usr/lib/python3.6/shutil.py", line 121, in copyfile
dev: with open(dst, 'wb') as fdst:
dev: OSError: [Errno 26] Text file busy: '/home/vagrant/venv/bin/python3'
dev: not aws
dev: Installing additional pips from requirements.txt...
dev: Requirement already satisfied: click==6.7 in /home/vagrant/venv/lib/python3.6/site-packages (from -r requirements.txt (line 1)) (6.7)
dev: Requirement already satisfied: configparser==3.5.0 in /home/vagrant/venv/lib/python3.6/site-packages (from -r requirements.txt (line 2)) (3.5.0)
dev: Requirement already satisfied: dominate==2.3.1 in /home/vagrant/venv/lib/python3.6/site-packages (from -r requirements.txt (line 3)) (2.3.1)
dev: Requirement already satisfied: flake8==3.5.0 in /home/vagrant/venv/lib/python3.6/site-packages (from -r requirements.txt (line 4)) (3.5.0)
dev: Requirement already satisfied: Flask==1.0.2 in /home/vagrant/venv/lib/python3.6/site-packages (from -r requirements.txt (line 5)) (1.0.2)
dev: Requirement already satisfied: Flask-Login==0.4.1 in /home/vagrant/venv/lib/python3.6/site-packages (from -r requirements.txt (line 6)) (0.4.1)
dev: Requirement already satisfied: Flask-SQLAlchemy==2.3.2 in /home/vagrant/venv/lib/python3.6/site-packages (from -r requirements.txt (line 7)) (2.3.2)
dev: Requirement already satisfied: Flask-WTF==0.14.2 in /home/vagrant/venv/lib/python3.6/site-packages (from -r requirements.txt (line 8)) (0.14.2)
dev: Requirement already satisfied: itsdangerous==0.24 in /home/vagrant/venv/lib/python3.6/site-packages (from -r requirements.txt (line 9)) (0.24)
dev: Requirement already satisfied: Jinja2==2.10 in /home/vagrant/venv/lib/python3.6/site-packages (from -r requirements.txt (line 10)) (2.10)
dev: Requirement already satisfied: MarkupSafe==1.0 in /home/vagrant/venv/lib/python3.6/site-packages (from -r requirements.txt (line 11)) (1.0)
dev: Requirement already satisfied: mccabe==0.6.1 in /home/vagrant/venv/lib/python3.6/site-packages (from -r requirements.txt (line 12)) (0.6.1)
dev: Requirement already satisfied: pycodestyle==2.3.1 in /home/vagrant/venv/lib/python3.6/site-packages (from -r requirements.txt (line 13)) (2.3.1)
dev: Requirement already satisfied: pyflakes==1.6.0 in /home/vagrant/venv/lib/python3.6/site-packages (from -r requirements.txt (line 14)) (1.6.0)
dev: Requirement already satisfied: SQLAlchemy==1.2.8 in /home/vagrant/venv/lib/python3.6/site-packages (from -r requirements.txt (line 15)) (1.2.8)
dev: Requirement already satisfied: visitor==0.1.3 in /home/vagrant/venv/lib/python3.6/site-packages (from -r requirements.txt (line 16)) (0.1.3)
dev: Requirement already satisfied: Werkzeug==0.14.1 in /home/vagrant/venv/lib/python3.6/site-packages (from -r requirements.txt (line 17)) (0.14.1)
dev: Requirement already satisfied: WTForms==2.2 in /home/vagrant/venv/lib/python3.6/site-packages (from -r requirements.txt (line 18)) (2.2)
dev: Vagrant UP script completed!

vagrant up stage - broken

Lioras-Air:devopsloft liora$ vagrant up stage
Bringing machine ‘stage’ up with ‘virtualbox’ provider...
==> stage: Box ‘dummy’ could not be found. Attempting to find and install...
stage: Box Provider: virtualbox
stage: Box Version: >= 0
==> stage: Box file was not detected as metadata. Adding it directly...
==> stage: Adding box ‘dummy’ (v0) for provider: virtualbox
stage: Downloading: dummy
An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.

Couldn’t open file /Users/liora/git/devopsloft/devopsloft/dummy

Syllabus

Linux for beginners
bash for beginners
git for beginners

workshop - scripts

Home page

Home should include our logo and tag line

Move all AWS resources to new account

Create a user in devopsloft AWS account for @eleyal
Elastic Beanstalk - New Application (devopsloft) & New Environment (devopsloft-prod)
Rerouting Route 53 devopsloft.io A record to new production environment

mailing list

use two social media groups to manage the community:
Facebook group
MeetUp group

The communication options in both groups are limited. Facebook changed the exposure policies. It limits the exposure of FB group posts to its members timelines. (the group is not using financed campaign to boost posts exposure)
Meetup is intended for managing meet ups only.

Therefore, keeping a mailing list of the community members will allow us to share important communications.

A subscription form can be used to gather subscribers.
The data can be stored in a CSV file.

The information we want to gather is:
Name
Family Name
email
Newbie or Master

500 Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.

The following issue occurred recently on the website.
10/4/2018

Community Members Management

Community Users should be managed and tracked.
We can not relay on Facebook group members or any other social media channel.

parent of #42

[Members Management] Subscription

This story is part of the User Management epic: #27
User story:
As an admin for DevOpsLoft I want to be able to add a User to the application.
A User is an entity whihc should have the following initial set of properties:

  • username

  • password

  • email

parent of #73, parent of #79, parent of #80, parent of #81, parent of #82, parent of #91

Monitoring System

Like nagios, zabbix

Pingdome is a SaaS offering which is not free

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.