Coder Social home page Coder Social logo

vagrant's Introduction

OSIAM Vagrant

A development environment for OSIAM based on Vagrant.

Usage

  1. Clone this repo and install Vagrant and Virtualbox
  2. Copy example-config.yaml to config.yaml and change it to your needs
  3. Start development VM with vagrant up (don't worry about some red error messages; as long as Vagrant doesn't complain that it couldn't start the VM, everything's alright)
  4. Login in via SSH using vagrant ssh

Installation Details

  • OSIAM current GitHub master

  • OpenJDK 8

  • Flyway 3.2.1

    Configured for installed PostgreSQL database.

  • Tomcat 8

  • PostgreSQL Server 9.4

    Local and host authentication is set to trust, so you can connect from anywhere without using a password.

  • Docker

    Latest version installed by Vagrant. Required for running integration tests from host.

  • Greenmail 1.4.1

    Simple mail server for the self-administration and administration deployed in the tomcat.

  • Maven 3.3.9

  • Git

Upgrading

To upgrade your environment to a new version, you have to destroy the old and create a new one. The provisioning doesn't support multiple runs very well. This issue will be addressed in a future version.

Becoming root

You can become root with $ sudo ... without needing a password. If you ever really need passwords for some accounts, note that the default Vagrant settings are still working, i.e. root:vagrant and vagrant:vagrant.

Mail server

You do not need to change anything if you like to send e-mails via the self-administration or administration. You can get the e-mails on pop3 port 10110. This is helpful if you like to register a user and want to activate him with the generated link which is sent with the e-mail. Here is an example how to get e-mails with telnet:

Login to the greenmail server via telnet

$ telnet localhost 10110

Use the e-mail address of the user

USER e-mail address e.g. [email protected]
PASS e-mail address e.g. [email protected]

List all messages

LIST

Show message with ID 1

RETR 1

vagrant's People

Contributors

dacrome avatar fwilhe avatar tkrille avatar wallner avatar

Stargazers

 avatar  avatar

Watchers

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

vagrant's Issues

Use the supplied SQL scripts of the addons

At this time, a big "setup" SQL script is used so create clients, extension, etc. that are needed by the addons. This is due to issues in the upstream projects, that have been fixed but not released yet. As soon as these fixes have been released we should get rid of the setup_data.sql and directly use the stuff from the addons.

Expose integration-tests ports

If you like to run the integration-tests against the vagrant vm it is useful to expose the ports for tomcat, postgres and mysql. Because the database ports were changed and the tomcat in the docker container listen to a different port, it's easy to run them simultaneously to the installed tomcat and postgres instances.

Provide simple smtp server

To handle the email notification of the self-administration a simple smtp server should be running in the VM. We already using the greenmail webapp to handle this in the integration-tests, maybe this is also a good solution for the vagrant VM? Any other ideas?

Make upgrades easier

The readme states:

To upgrade your environment to a new version, you have to destroy the old and
create a new one. The provisioning doesn't support multiple runs very well. This
issue will be addressed in a future version.

To make upgrades easier, we should somehow make the provisioning idempotent. Most stuff is already safe to be run multiple times. First step would be to identify the non-idempotent parts and then think of a solution for them.

Kernel update breaks Docker

Updating the Kernel does not install the matching Kernel extras package, so Docker won't use AUFS but fall back to devicemapper. This is due to linux-image-generic is not installed on the Vagrant base box.

What should we use to replace the main distribution for initial installation?

As the main distribution has been abandoned, the Vagrant VM has to be changed to use some other source for initial installation. There are several options:

  1. the single distributions
  2. the upstream sources on GitHub
  3. the mounted sources from the user

Each one has significant drawbacks:

  1. Can only install releases. This is the same problem as with the main distribution.
  2. Where should we check them out? There are already the mounted sources from the user, if he chooses to do so. Feels like duplication.
  3. Some users might not clone the sources and mount them, but simply using the Vagrant VM for integration and exploration.

Number 2. works really well in the current Docker images, so I'd vote for this option.

What's your opinion?

Part of: osiam/osiam#93

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.