- basic requirement are that a User can upload, Update, Share and delete files.
type User struct {
UserID string `json:"user_id"`
PassWord string `json:"password"`
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 |
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 | |
} |
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.