Copyright © 2017 Knowledge Powerhouse
All rights reserved.
No part of this book can be copied in any form. The publisher and the author have used good faith efforts to ensure that the information in this book is correct and accurate. The publisher and the author disclaim all responsibility for errors or omissions. Use of the information in this book is at your own risk.
| Github.com ui .currently does not natively supoport search for multiple topic tags as of now. However their api allows you to query multiple tags. Below is a simple example to query github.com with ecs and go topic tags. | |
| curl -H "Accept: application/vnd.github.mercy-preview+json" \ | |
| https://api.github.com/search/repositories?q=topic:ecs+topic:go | |
| Response from the github can be rather verbose so lets filter only relavant info such repo url and description. | |
| curl -H "Accept: application/vnd.github.mercy-preview+json" \ | |
| https://api.github.com/search/repositories\?q\=topic:ecs+topic:go | jq '.items[] | {url:.url, description:.description}' |
If you are getting this in gdb on macOS while trying to run a program:
Unable to find Mach task port for process-id 57573: (os/kern) failure (0x5).
(please check gdb is codesigned - see taskgated(8))- Open Keychain Access
- In menu, open Keychain Access > Certificate Assistant > Create a certificate
- Give it a name (e.g.
gdbc)
| # PREREQUISITES: | |
| # Setup a Mesos cluster and install Marathon framework | |
| MARATHON_HOST="http://<marathon_host>/marathon" | |
| # this could be an internal ELB that the Gateway nodes can use to auto-discover services | |
| INTERNAL_MARATHON_HOST="http://<internal_marathon_host>/marathon" | |
| # a wildcard domain configured with *.api.anydomain | |
| API_DOMAIN="api.<my-domain>" | |
| # ------------------------- |
| SMALL_LINUX : computeTemplate { | |
| // 3839 is a Red Hat Enterprise Linux - 6 (64 bit) | |
| imageId "3839" | |
| // Mandatory. Files from the local directory will be copied to this directory on the remote machine. | |
| remoteDirectory "/tmp/gs-files" | |
| // Mandatory. Amount of RAM available to machine. | |
| machineMemoryMB 4096 | |
| // Mandatory. Hardware ID. | |
| hardwareId largeHardwarePrivateOnlyId | |
| // Mandatory. All files from this LOCAL directory will be copied to the remote machine directory. |
| "deleteDummyFiles" : { prefix, xFiles -> | |
| def p = ~/$prefix.*\.txt/ | |
| def counter=0 | |
| def howManyfiles = xFiles.toInteger() | |
| println "Deleting ${howManyfiles} .txt files '${prefix}*' in ${dummyFilesFolder} ..." | |
| new File(dummyFilesFolder).eachFileMatch(p) {f -> | |
| if ( counter < howManyfiles ) { | |
| counter++ | |
| println "Deleting file #${counter} ${f.getName()} ..." | |
| f.delete() |
Whether you're trying to give back to the open source community or collaborating on your own projects, knowing how to properly fork and generate pull requests is essential. Unfortunately, it's quite easy to make mistakes or not know what you should do when you're initially learning the process. I know that I certainly had considerable initial trouble with it, and I found a lot of the information on GitHub and around the internet to be rather piecemeal and incomplete - part of the process described here, another there, common hangups in a different place, and so on.
In an attempt to coallate this information for myself and others, this short tutorial is what I've found to be fairly standard procedure for creating a fork, doing your work, issuing a pull request, and merging that pull request back into the original project.
Just head over to the GitHub page and click the "Fork" button. It's just that simple. Once you've done that, you can use your favorite git client to clone your repo or j
| --- | |
| # Data needed for Class['openstack::compute'] | |
| # The IP and interface that external sources will use to communicate with the instance and hypervisors. | |
| openstack::compute::public_interface: 'eth0' | |
| openstack::compute::internal_address: "%{ipaddress_eth0}" | |
| openstack::compute::iscsi_ip_address: "%{ipaddress_eth0}" | |
| # The interface that will handle instance to intance communication and instance outbound traffic. | |
| openstack::compute::private_interface: 'eth1' |
This tutorial guides you through creating your first Vagrant project.
We start with a generic Ubuntu VM, and use the Chef provisioning tool to:
- install packages for vim, git
- create user accounts, as specified in included JSON config files
- install specified user dotfiles (.bashrc, .vimrc, etc) from a git repository
Afterwards, we'll see how easy it is to package our newly provisioned VM