phusion / open-vagrant-boxes Goto Github PK
View Code? Open in Web Editor NEWDocker-compatible Vagrant base boxes
License: Other
Docker-compatible Vagrant base boxes
License: Other
In the latest version of the 14.04 Ubuntu box, Puppet 3 has some known bugs where it doesn't like file()
syntax:
# file exists at modules/nginx/files/nginx.conf
file { 'nginx_config':
# ...
content => file('nginx/nginx.conf')
}
The above code fails, while the below code doesn't:
# template exists at modules/nginx/templates/nginx.conf
file { 'nginx_config':
# ...
content => template('nginx/nginx.conf')
}
Simply updating Puppet to the latest version fixes this bug. On all of my boxes based on the 14.04 box, I have to run a shell provisioner which updates to the latest Puppet before running the Puppet provisioner to avoid this problem.
Can/should I use this box with Vagrant 1.6? I tried following http://www.vagrantup.com/blog/feature-preview-vagrant-1-6-docker-dev-environments.html with the Phusion box, but this resulted in:
The box you're attempting to add doesn't support the provider you requested.
Please find an alternate box or use an alternate provider.
Double-check your requested provider to verify you didn't simply misspell it.
Name: phusion/ubuntu-14.04-amd64
Address: https://vagrantcloud.com/phusion/ubuntu-14.04-amd64
Requested provider: [:docker]
It's not clear what license this code is released under (BSD, GPL, MIT, etc...). Could you please add licensing information?
Hi,
Since late morning vagrant up --provision
doesn't work on our different systems.
We have made no changes to our VagrantFile.
We use: phusion/ubuntu-14.04-amd64
The error output is:
DEBUG ssh: Re-using SSH connection.
INFO ssh: Execute: chmod +x '/tmp/vagrant-shell' && /tmp/vagrant-shell (sudo=true)
DEBUG ssh: stderr: /tmp/vagrant-shell: line 1: docker: command not found
INFO interface: info: /tmp/vagrant-shell: line 1: docker: command not found
INFO interface: info: ==> dev: /tmp/vagrant-shell: line 1: docker: command not found
==> dev: /tmp/vagrant-shell: line 1: docker: command not found
DEBUG ssh: stderr: /tmp/vagrant-shell: line 1: docker: command not found
INFO interface: info: /tmp/vagrant-shell: line 1: docker: command not found
INFO interface: info: ==> dev: /tmp/vagrant-shell: line 1: docker: command not found
==> dev: /tmp/vagrant-shell: line 1: docker: command not found
DEBUG ssh: Exit status: 127
ERROR warden: Error occurred: The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.
I don't see any changes to the image so I'm wondering what could possibly cause this?
Here is the section of the VagrantFile causing the problem:
# Dev box with mounted data volume overlaying the code
config.vm.define "dev", primary: true do |dev|
ENV['FORCE_AUTH'] ||= ''
ENV['BETA'] ||= ''
dev.vm.network "forwarded_port", guest: 80, host: 8080
dev.vm.provision "docker" do |d|
d.pull_images "memcached"
d.build_image "/vagrant/sa_site", args: "-t sportarc/sa_site"
d.run "memcached"
d.run "sportarc/sa_site",
args: "-p 80:80 --env-file=/vagrant/.env.dev " +
"-e ENVIRONMENT=dev " +
"-e FORCE_AUTH=" + ENV['FORCE_AUTH'] + " " +
"-e BETA=" + ENV['BETA'] + " " +
"-e MEMCACHED_ENDPOINT='memcached' " +
"--link memcached:memcached " +
"-v /var/tmp/logs/sa_site:/var/log/sa_site " +
"-v /var/tmp/logs/apache2:/var/log/apache2 " +
"-v /var/tmp/logs/php5:/var/log/php5 " +
"-v /vagrant/sa_site/sa_site_v2:/opt/sa_site " +
"-v /vagrant/.git:/.git"
end
dev.vm.provision "shell", inline: "cd /vagrant/sa_site && ./dev.sh"
dev.vm.provision "shell", inline: "echo \"SUCCESS: Vagrant provisioned.\""
end
Please advise if you have any idea what could be causing this?
thank you
I got the link to your boxes off http://vagrantbox.es; I was hoping to use Puppet to provision the new 14.04LTS release of Ubuntu - however I soon noticed it to be missing. which puppet
prints nothing on the 14.04 box while, on 12.04, it prints /usr/bin/puppet/
. Is keeping Puppet out of the newer VM image intentional?
How about Hyper-V variant, as I couldn't see any other at https://oss-binaries.phusionpassenger.com/vagrant/boxes/latest/?
There also should be one for Ubuntu 20.02.
Attempting to use this box via vagrant cloud results in an error when running vagrant up
:
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "phusion/ubuntu-12.04-amd64"
end
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'phusion/ubuntu-12.04-amd64' could not be found. Attempting to find and install...
default: Box Provider: virtualbox
default: Box Version: >= 0
==> default: Loading metadata for box 'phusion/ubuntu-12.04-amd64'
default: URL: https://vagrantcloud.com/phusion/ubuntu-12.04-amd64
/Applications/Vagrant/embedded/lib/ruby/2.0.0/rubygems/version.rb:191:in `initialize': Malformed version number string 2014-02-01 (ArgumentError)
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/box_metadata.rb:34:in `new'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/box_metadata.rb:34:in `block in initialize'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/box_metadata.rb:33:in `map'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/box_metadata.rb:33:in `initialize'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/builtin/box_add.rb:174:in `new'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/builtin/box_add.rb:174:in `block in add_from_metadata'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/builtin/box_add.rb:173:in `open'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/builtin/box_add.rb:173:in `add_from_metadata'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/builtin/box_add.rb:103:in `call'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/warden.rb:34:in `call'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/builder.rb:116:in `call'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/runner.rb:69:in `block in run'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/util/busy.rb:19:in `busy'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/runner.rb:69:in `run'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/builtin/handle_box.rb:75:in `handle_box'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/builtin/handle_box.rb:42:in `block in call'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/builtin/handle_box.rb:36:in `synchronize'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/builtin/handle_box.rb:36:in `call'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/warden.rb:34:in `call'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/warden.rb:34:in `call'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/warden.rb:34:in `call'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/builder.rb:116:in `call'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/runner.rb:69:in `block in run'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/util/busy.rb:19:in `busy'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/runner.rb:69:in `run'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/builtin/call.rb:51:in `call'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/warden.rb:34:in `call'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/plugins/providers/virtualbox/action/check_virtualbox.rb:17:in `call'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/warden.rb:34:in `call'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/builder.rb:116:in `call'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/runner.rb:69:in `block in run'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/util/busy.rb:19:in `busy'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/runner.rb:69:in `run'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/machine.rb:157:in `action'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/batch_action.rb:72:in `block (2 levels) in run'
Running the latest version of Vagrant (1.5.1) and VirtualBox (4.3.10) on OS X Mountain Lion.
Full path: /Users/dmarr/src/open-vagrant-boxes/iso/ubuntu-12.04.3-server-amd64.iso
There was an error downloading http://releases.ubuntu.com/12.04/ubuntu-12.04.3-server-amd64.iso:
404 Not Found
This is the Vagrantfile for my docker host running via VirtualBox:
Vagrant.configure(2) do |config|
config.vm.box = 'phusion/ubuntu-14.04-amd64'
config.vm.provider 'virtualbox' do |provider|
provider.customize ['modifyvm', :id, '--memory', 4096]
provider.customize ['modifyvm', :id, '--acpi', 'on']
provider.customize ['modifyvm', :id, '--cpus', 2]
provider.customize ['modifyvm', :id, '--cpuexecutioncap', '100']
provider.customize ['modifyvm', :id, '--natdnshostresolver1', 'on']
provider.customize ['modifyvm', :id, '--natdnsproxy1', 'on']
end
['vmware_fusion', 'vmware_workstation'].each do |vmware|
config.vm.provider vmware do |provider|
provider.vmx['numvcpus'] = 2
provider.vmx['memsize'] = 4096
end
end
if Dir.glob("#{File.dirname(__FILE__)}/.vagrant/machines/default/*/id").empty?
pkg_cmd = "wget -q -O - https://get.docker.io/gpg | apt-key add -;" \
"echo deb http://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list;" \
"apt-get update -qq; apt-get install -q -y --force-yes lxc-docker; "
pkg_cmd << "usermod -a -G docker vagrant; "
config.vm.provision :shell, :inline => pkg_cmd
end
end
When running this, Vagrant throws this error after Docker was installed on the VM:
A Docker command executed by Vagrant didn't complete successfully!
The command run along with the output from the command is shown
below.
Command: "docker" "ps" "-a" "-q" "--no-trunc"
Stderr: 2014/06/01 18:10:58 Get http:///var/run/docker.sock/v1.11/containers/json?all=1: dial unix /var/run/docker.sock: permission denied
Stdout:
Any idea why this happens and/or how I can fix it? Thanks a lot!
It seems that VMWare's HGFS driver often crashes the 3.8 kernel, while such crashes do not seem to occur on the trusty kernel.
Are you guys planning to release a 16.04 base box?
We used this box: https://oss-binaries.phusionpassenger.com/vagrant/boxes/latest/ubuntu-14.04-amd64-vbox.box and installed git onto the machine, just a regular sudo apt-get install git
. For whatever reason, when a developer does a commit for our private project from within the VM, it comes up as the following user: @bluekvirus. Is there a reason for this? Should I be concerned about something?
Thanks!
I'm trying to use the Virtual Box box and I'm getting an error when trying to up
a machine using it. VBox complains that there's an invalid attachment defined in the OVF. Specifically, it seems to not like the image attached in the IDE Controller.
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
Command: ["import", "/Users/dev/.vagrant.d/boxes/ubuntu-12.04.3-amd64/virtualbox/box.ovf"]
Stderr: 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Interpreting /Users/dev/.vagrant.d/boxes/ubuntu-12.04.3-amd64/virtualbox/box.ovf...
OK.
0%...
Progress state: NS_ERROR_FAILURE
VBoxManage: error: Appliance import failed
VBoxManage: error: <vbox:Machine> element in OVF contains a medium attachment for the disk image e91b970d-f0b2-4ebe-b22c-a5d0e9b35f49 but the OVF describes no such image
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component Appliance, interface IAppliance
VBoxManage: error: Context: "int handleImportAppliance(HandlerArg*)" at line 781 of file VBoxManageAppliance.cpp
If I remove the following snippet from the OVF file, everything seems to work fine and the box comes up.
<StorageController name="IDE Controller" type="PIIX4" PortCount="2" useHostIOCache="true" Bootable="true">
<AttachedDevice passthrough="false" type="DVD" port="0" device="0"/>
<AttachedDevice passthrough="false" type="DVD" port="1" device="0">
<Image uuid="{e91b970d-f0b2-4ebe-b22c-a5d0e9b35f49}"/>
</AttachedDevice>
</StorageController>
bundle exec rake virtualbox:ubuntu-14.04-amd64:all
.
.
.
There was an error downloading http://releases.ubuntu.com/14.04/ubuntu-14.04-server-amd64.iso: 404 Not Found
http://releases.ubuntu.com/14.04/ seems to promote usage of 14.04.3 instead.
The iso url in ubuntu-12.04-amd64-vbox is also currently a 404
Can you please add boxes for Parallels for Mac?
Hi, I am using Docker (Docker version 1.3.0, build c78088f
) in a Vagrant VM (Vagrant 1.6.5
, Vagrant Box is phusion/ubuntu-14.04-amd64
), I have a container with a volume that no longer works after the upgrade. When ever I start the container (e.g. via docker run -it --rm -v /test/:/srv/www/vhosts/ apache2 /bin/bash
the directory /test
will be created (if it does not exist) but it will not be shared with the running container.
This is the output of a call to mount
inside the container.
vagrant@ubuntu-14:~$ docker run --rm -it -v /test:/srv/www/vhosts/ apache2 /bin/bash
root@8cf5318098ac:/# mount
none on / type aufs (rw,relatime,si=e9d61a059bedad97)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev type tmpfs (rw,nosuid,mode=755)
shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=65536k)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=666)
sysfs on /sys type sysfs (ro,nosuid,nodev,noexec,relatime)
/dev/mapper/vg0-root on /etc/resolv.conf type ext4 (rw,relatime,errors=remount-ro,data=ordered)
/dev/mapper/vg0-root on /etc/hostname type ext4 (rw,relatime,errors=remount-ro,data=ordered)
/dev/mapper/vg0-root on /etc/hosts type ext4 (rw,relatime,errors=remount-ro,data=ordered)
/dev/mapper/vg0-root on /srv/www/vhosts/ type ext4 (rw,relatime,errors=remount-ro,data=ordered)
/dev/mapper/vg0-root on /srv/www/vhosts/ type ext4 (rw,relatime,errors=remount-ro,data=ordered)
devpts on /dev/console type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
proc on /proc/sys type proc (ro,nosuid,nodev,noexec,relatime)
proc on /proc/sysrq-trigger type proc (ro,nosuid,nodev,noexec,relatime)
proc on /proc/irq type proc (ro,nosuid,nodev,noexec,relatime)
proc on /proc/bus type proc (ro,nosuid,nodev,noexec,relatime)
tmpfs on /proc/kcore type tmpfs (rw,nosuid,mode=755)
The Dockerfile
I am using
# Apache2 Container
FROM library/debian:wheezy
RUN echo "deb http://packages.dotdeb.org stable all\n
deb-src http://packages.dotdeb.org stable all\n"
> /etc/apt/sources.list.d/dotdeb.list
# Install ntp, apache2 and php
RUN sed -i 's/main$/main non-free/' /etc/apt/sources.list \
&& cat /etc/apt/sources.list \
&& apt-get -y update \
&& apt-get -y --no-install-recommends install \
apache2-mpm-prefork libapache2-mod-php5 \
php5 php5-mysql php-apc php5-cli \
&& rm -rf /var/lib/apt/lists/*
# Remove apache2 stuff
RUN rm -rf /var/www/html \
&& mkdir -p /var/lock/apache2 /var/run/apache2 /var/log/apache2 /srv/www/vhosts/ \
&& chown -R www-data:www-data /var/lock/apache2 /var/run/apache2 /var/log/apache2 /srv/www/
RUN a2enmod rewrite \
&& a2dissite default \
&& a2dissite default-ssl
# Share /var/www with the host
VOLUME /srv/www/vhosts/
EXPOSE 80
# Finally start apache2 in foreground
CMD ["apachectl", "-DFOREGROUND"]
I have also reported this problem to Docker, see moby/moby#8659
It looks like this is specifically the error that the newer version is meant to fix, but it's not fixing it for me. Perhaps the newer version hasn't been pushed to the file server linked from the blog post yet? Weirdly, it has worked once, but not more in the ~50 times I've tried this.
[default] Starting the VMware VM...
[default] Waiting for the VM to finish booting...
[default] The machine is booted and ready!
[default] Forwarding ports...
[default] -- 22 => 2222
[default] -- 3000 => 3000
[default] Configuring network adapters within the VM...
The HGFS kernel module was not found on the running virtual machine.
This must be installed for shared folders to work properly. Please
install the VMware tools within the guest and try again. Note that
the VMware tools installation will succeed even if HGFS fails
to properly install. Carefully read the output of the VMware tools
installation to verify the HGFS kernel modules were installed properly.
Hi,
Can't get shared folder working with 12.04.
=> Get this message in logs:
No guest additions were detected on the base box for this VM!
Pascal
After building manually, I get:
The box ubuntu-14.04-amd64-vbox was built successfully!
You can now login to the box with:
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 7222 -l vagrant 127.0.0.1
bundle exec veewee vbox ssh ubuntu-14.04-amd64-vbox 'sudo poweroff'
Warning: Permanently added '[127.0.0.1]:7222' (RSA) to the list of known hosts.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/rhys/github/open-vagrant-boxes/definitions/ubuntu-14.04-amd64-vbox/../../vagrant_insecure.key' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /Users/rhys/github/open-vagrant-boxes/definitions/ubuntu-14.04-amd64-vbox/../../vagrant_insecure.key
[email protected]'s password:
Connection closed by 127.0.0.1
rake aborted!
Command failed with status (255): [bundle exec veewee vbox ssh ubuntu-14.04-a...]
/Users/rhys/github/open-vagrant-boxes/Rakefile:28:in `block (2 levels) in <top (required)>'
Tasks: TOP => virtualbox:ubuntu-14.04-amd64:all => virtualbox:ubuntu-14.04-amd64:build_image
(See full trace by running task with --trace)
$ ls -l /Users/rhys/github/open-vagrant-boxes/definitions/ubuntu-14.04-amd64-vbox/../../
total 72
-rw-r--r-- 1 rhys staff 2730 Sep 24 09:09 Changelog.md
-rw-r--r-- 1 rhys staff 111 Sep 24 09:09 Gemfile
-rw-r--r-- 1 rhys staff 1662 Sep 24 09:09 Gemfile.lock
-rw-r--r-- 1 rhys staff 1691 Sep 24 09:09 LICENSE.txt
-rw-r--r-- 1 rhys staff 5773 Sep 24 09:09 README.md
-rw-r--r-- 1 rhys staff 7102 Sep 24 09:09 Rakefile
drwxr-xr-x 6 rhys staff 204 Sep 24 09:09 definitions
drwxr-xr-x 4 rhys staff 136 Sep 24 09:37 iso
-rw-r--r-- 1 rhys staff 1675 Sep 24 09:09 vagrant_insecure.key
drwxr-xr-x 3 rhys staff 102 Sep 24 09:30 vendor
$
I don't suppose there's a way to automatically set the permissions to 600 to prevent this?
After correcting permissions, I'm still prompted for the password. Is the key somehow permanently ignored?
$ chmod 600 /Users/rhys/github/open-vagrant-boxes/definitions/ubuntu-14.04-amd64-vbox/../../vagrant_insecure.key
$ ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 7222 -l vagrant 127.0.0.1
Warning: Permanently added '[127.0.0.1]:7222' (RSA) to the list of known hosts.
[email protected]'s password:
Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-24-generic x86_64)
Hello, it is not clear to me from the README what is the purpose of these boxes. I believed that it is to run Docker (so that I could vagrant up; docker <something>
) but that does not seem to be the case (at least phusion/ubuntu-14.04-amd64
hasn't docker installed). It would be good to clarify that in the docs, I think.
Thank you!
Hi there,
I'm using a box from you guys, and they are very good stuff!
Can i suggest you to add them to https://vagrantcloud.com, this way we can add them easily and you guys get visibility! :)
Hi,
There are a couple of 14.04 boxes there that are incorrectly named as Precise boxes:
Ubuntu Server Precise 14.04 amd64 (source)
Kernel is ready for Docker (Docker not included)
Contains Chef, Puppet
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.