Skip to content

Instantly share code, notes, and snippets.

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y http://ftp.riken.jp/Linux/cern/centos/7/extras/x86_64/Packages/container-selinux-2.9-4.el7.noarch.rpm
yum install docker-ce
Copyright 2018 Google LLC.
SPDX-License-Identifier: Apache-2.0
Authors: [email protected], [email protected] [email protected], [email protected]
# Building Kubernetes from Source in Minutes
In this repo you'll find instructions for building kubernetes (k8s) from source in minutes.
You will start a GCP VM, install kubernetes (k8s) build and runtime dependencies, then build k8s from source. Afterward, we'll startup the local build and verify its working.
#!/bin/sh
# Generate test coverage statistics for Go packages.
#
# Works around the fact that `go test -coverprofile` currently does not work
# with multiple packages, see https://code.google.com/p/go/issues/detail?id=6909
#
# Usage: script/coverage [--html|--coveralls]
#
# --html Additionally create HTML report and open it in browser
# --coveralls Push coverage statistics to coveralls.io
@smothiki
smothiki / readme.md
Last active October 9, 2017 21:08
weebly docs

File Sharing App weebly trial week project.

  • basic requirement are that a User can upload, Update, Share and delete files.

User Model

type User struct {
	UserID   string   `json:"user_id"`
	PassWord string   `json:"password"`
SHORT_NAME ?= weebly
# dockerized development environment variables
REPO_PATH := github.com/smothiki/${SHORT_NAME}
DEV_ENV_IMAGE := golang:1.7#blang/golang-alpine
DEV_ENV_WORK_DIR := /go/src/${REPO_PATH}
DEV_ENV_PREFIX := docker run --rm -v ${CURDIR}:${DEV_ENV_WORK_DIR} -w ${DEV_ENV_WORK_DIR} #-e GOVENDOREXPERIMENT=1
DEV_ENV_CMD := ${DEV_ENV_PREFIX} ${DEV_ENV_IMAGE}
DEV_GLIDE_CMD := ${DEV_ENV_PREFIX} quay.io/deis/go-dev:0.17.0
func ParseConstraints(data []byte) ([]types.Constraint, error) {
var constraints []types.Constraint
var dat map[string][]map[string]string
if err := json.Unmarshal(data, &dat); err != nil {
return nil, err
}
val, ok := dat["constraint"]
if !ok {
return nil, nil
}
@smothiki
smothiki / Emerging fields.md
Last active October 12, 2016 23:48
Idealog from my experience with containers and emerging technology
  • Learn hyperledger and ethereum and blockhain bitcoin works understand the business

Simple state machine example

  • This example contains a simple.go which is the main program and example.go will have the execution steps of a state machine. Util.go describes state machine.
  • The state machine has an init event which starts from Idle state and reach state1.
  • close event ends with closed state.
  • every transition event is between init and close. A transition from state1 to state2 is named as state1_2.
  • Every intermediate state except from idle and closed are reentrants only if there is an error and this reentrant states are handled in error transition.

A small ASCII Diagram for how it works

This sprint there are two issues in product backlog about dashboards and metrics.

The current dashboard about deis-router has response time, status code, requests per second, CPU and Memory. We are getting CPU and memory from kubernetes Prometheus end point. The reason why router has additional metrics other than CPU and memory

[2016-08-11T19:50:32+00:00] - deis/deis-monitor-grafana - 10.240.0.23 - - - 200 - "GET /api/datasources/proxy/1/query?db=kubernetes&q=SELECT%20last(%22gauge%22)%20FROM%20%22container_memory_usage_bytes%22%20WHERE%20%22kubernetes_container_name%22%20%3D%20%27deis-logger-redis%27%20AND%20time%20%3E%20now()%20-%205m%20GROUP%20BY%20time(2s)%20fill(null)&epoch=ms HTTP/1.1" - 772 - "http://grafana.104.154.18.233.nip.io/dashboard/db/redis" - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0" - "~^grafana\x5C.(?<domain>.+)$" - 10.135.243.27:80 - grafana.104.154.18.233.nip.io - 0.088 - 0.088

If you observe the above log it has time stamp and status c

buildpacks :

when we do a git push deis master for a buildpack type app. The code goes to builder and builder compresses the code to tar file and uploads to configured object storage. Once this is done schedules a slugbuilder pod to provides the bucket and credentials to access the code slugbuilder pod once starts fetches the tar file from object storage and extracts the file compiles the code according to buildpack specified if not defaults to language specific buildpacks. Once the code is compiled it generates a slugfile which again it uploads to the same bucket. Once the upload is done and slugbuilder pod finishes builder checks for the file existence and creates build hook to the controller. which launches slugrunner pod encapsulating it in a RC or deployment. slugrunner pod gets the slug file from the bucket and extracts the file and runs the code according to the slug file.