Coder Social home page Coder Social logo

gantsign / development-environment Goto Github PK

View Code? Open in Web Editor NEW
54.0 4.0 31.0 5.96 MB

A development environment for Java, Python and Node.js built using Vagrant

Home Page: https://gantsign.github.io/development-environment

License: MIT License

Ruby 2.13% Shell 64.93% Jinja 32.94%
vagrant ansible java intellij nodejs molecule vscode maven virtualbox oh-my-zsh

development-environment's Issues

Make Ubuntu Unity the default desktop

While the Xfce4+DockbarX desktop may be more familiar to some, particularly those with little Linux experience, the Ubuntu Unity is the default desktop for Ubuntu.

As the default desktop Unity is a bit more robust, particularly when it comes to integration with third part apps.

Support for Xfce4 should be maintained but Unity should be the default for the development environment.

Implement mandatory license check

To install Oracle Java you must have accepted the "Oracle Binary Code License Agreement
for the Java SE Platform Products and JavaFX".

chmod: cannot access '/etc/systemd/system/docker.service.d/http-proxy.conf': No such file or directory

The machine is booting and everything seems to work just fine, there is just this error message after vagrant up:

...
==> default: Machine booted and ready!
==> default: Configuring proxy for Apt...
==> default: Configuring proxy for Docker...
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

chmod 0644 /etc/systemd/system/docker.service.d/http-proxy.conf

Stdout from the command:



Stderr from the command:

chmod: cannot access '/etc/systemd/system/docker.service.d/http-proxy.conf': No such file or directory

Vagrant 2.2.2, Virtualbox 5.2.4

I have proxy.enabled set to false (as by default)

I see /etc/systemd/system/docker.service.d/proxy.conf referenced in the angstwad.docker_ubuntu role, not http-proxy.conf. Can't find anything related in the main config though, can use some help there

Fix version of Ansible dependencies

Needed to make the VM build more reproducible.

All versions should be fixed apart from the following that should always use the latest:

  • gantsign.gitkraken
  • gantsign.intellij
  • gantsign.visual-studio-code

Move file mirror to persistent storage

Move the home directory file mirror from vagrant shared folder to persistent storage (i.e. a persistent disk mounted using the vagrant-persistent-storage plugin).

The vagrant shared folders are flaky at best:

  • they lack support for file permissions
  • they lack support for users and groups
  • they are sometimes unmounted when the host machine goes to sleep
  • vagrant mounts them during startup so they don't play well with services
  • the mod-dates don't always match the Linux values causing issues with synchronisation
  • they lack inotify support

Switching to persistent storage will provide a more reliable experience.

Improve and document proxy support

While you can currently get the development environment to work behind a proxy using the vagrant-proxyconf plugin, this isn't covered in the documentation for the development environment; also, you still need to manually configure the proxy settings for Gnome so the Google Chrome browser will also be able to use the proxy.

Document the process for using the development behind a proxy, auto install the vagrant-proxyconf plugin, and add support for configuring the Gnome proxy as part of the provisioning.

undefined method `mac?

When I install vagrant plugins,I got errors:
`There was an error loading a Vagrantfile. The file being loaded
and the error message are shown below. This is usually caused by
an invalid or undefined variable.

Path: /Users/tomyli/github/tools/development-environment/Vagrantfile
Line number: 46
Message: undefined method mac?'

What should i do?

Add configuration for timezone

The timezone should be configurable using Nugrant configuration. This will be particularly useful to users in the US.

Upgrade to Ubuntu 16.04

Ubuntu 15.10 support ended on July 28 2016.

Changing to 14.04 LTS would be problematic because it's using old versions of several packages including Python; the Python version is a particular problem as it's pre-SNI support, which breaks many of the Ansible roles. The hardware support for 14.04 LTS is also ending soon which could cause issues with VirtualBox support.

The 16.04 is the latest LTS release, released on July 21, 2016, it will be supported until late 2018. While there have been a number of hurdles for supporting 16.04 it's a good long term solution.

Add tags to Ansible playbook

Ansible tags are a great way of customising the VM by allowing you to turn off the features you don't wan't / need.

Add Ansible tags for "java,maven,nodejs,gui".

Add Molecule for testing Ansible roles

Given this development environment uses so many Ansible roles it'd be nice if it gave a little back by making Ansible roles a little easier to develop.

Ansible fails when you skip tags java or maven

TASK [franklinkim.environment : Remove previous values] ************************
[DEPRECATION WARNING]: Skipping task due to undefined Error, in the future this
will be a fatal error.: {u'IDEA_JDK': u'{{
ansible_local.java.general.java_home }}', u'M2_HOME': u'{{
ansible_local.maven.general.maven_home }}', u'JAVA_HOME': u'{{
ansible_local.java.general.java_home }}', u'LS_COLORS': u'di=1;36;40:ln=35;40:s
o=32;40:pi=33;40:ex=31;40:bd=34;46:cd=34;43:su=0;41:sg=0;46:tw=0;42:ow=0;43:',
u'CDPATH': u'.:/home/vagrant/workspace'}: 'ansible_local' is undefined.
This
feature will be removed in a future release. Deprecation warnings can be
disabled by setting deprecation_warnings=False in ansible.cfg.
fatal: [default]: FAILED! => {"failed": true, "msg": "the field 'args' has an invalid value, which appears to include a variable that is undefined. The error was: 'item' is undefined\n\nThe error appears to have been in '/vagrant/provisioning/roles/franklinkim.environment/tasks/config.yml': line 10, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: Remove previous values\n ^ here\n"}

Add Postman HTTP tool

Postman recently released an app for Linux; since it's such a useful tool for REST API testing it should be installed by default.

Upgrade bento/ubuntu-18.04 to 20.04

Hi Guys,

First of all amazing project! I use it myself. I was wondering if you are planning to switch to 20.04? It has been around for a while now so I guess it would be safe to upgrade?

Thanks

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.