Skip to content

Instantly share code, notes, and snippets.

@plutov
plutov / api-client-7.go
Created April 27, 2020 10:44
api-client-7.go
// +build integration
package facest
import (
"os"
"testing"
"github.com/stretchr/testify/assert"
)
@plutov
plutov / api-client-6.go
Created April 27, 2020 10:44
api-client-6.go
func (c *Client) sendRequest(req *http.Request, v interface{}) error {
req.Header.Set("Content-Type", "application/json; charset=utf-8")
req.Header.Set("Accept", "application/json; charset=utf-8")
req.Header.Set("Authorization", fmt.Sprintf("Bearer %s", c.apiKey))
res, err := c.HTTPClient.Do(req)
if err != nil {
return err
}
@plutov
plutov / api-client-5.go
Created April 27, 2020 10:43
api-client-5.go
func (c *Client) GetFaces(ctx context.Context, options *FacesListOptions) (*FacesList, error) {
limit := 100
page := 1
if options != nil {
limit = options.Limit
page = options.Page
}
req, err := http.NewRequest("GET", fmt.Sprintf("%s/faces?limit=%d&page=%d", c.BaseURL, limit, page), nil)
if err != nil {
@plutov
plutov / api-client-4.go
Created April 27, 2020 10:42
api-client-4.go
type FacesListOptions struct {
Limit int `json:"limit"`
Page int `json:"page"`
}
@plutov
plutov / api-client-3.go
Created April 27, 2020 10:42
api-client-3.go
package facest
import "time"
type FacesList struct {
Count int `json:"count"`
PagesCount int `json:"pages_count"`
Faces []Face `json:"faces"`
}
@plutov
plutov / api-client-2.go
Created April 27, 2020 10:41
api-client-2.go
type errorResponse struct {
Code int `json:"code"`
Message string `json:"message"`
}
type successResponse struct {
Code int `json:"code"`
Data interface{} `json:"data"`
}
@plutov
plutov / api-client-1.go
Created April 27, 2020 10:40
api-client-1.go
package facest
import (
"net/http"
"time"
)
const (
BaseURLV1 = "https://api.facest.io/v1"
)
@plutov
plutov / gcs-k8f-deployment-full.yml
Created April 23, 2020 11:46
gcs-k8f-deployment-full.yml
apiVersion: v1
kind: Secret
metadata:
name: sa-secret
data:
sa_json: YOUR_SERVICE_ACCOUNT_BASE64_KEY
---
apiVersion: apps/v1
@plutov
plutov / gcs-k8s-2.yml
Created April 23, 2020 11:28
gcs-k8s-2.yml
#...
securityContext:
privileged: true
capabilities:
add:
- SYS_ADMIN
lifecycle:
postStart:
exec:
@plutov
plutov / gcs-k8s-1.Dockerfile
Last active April 23, 2020 11:26
gcs-k8s-1
FROM golang:1.10.0-alpine AS gcsfuse
RUN apk add --no-cache git
ENV GOPATH /go
RUN go get -u github.com/googlecloudplatform/gcsfuse
FROM nginx:alpine
RUN apk add --no-cache ca-certificates fuse