pingdom-operator

module
v0.0.0-...-50f0284 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 29, 2020 License: Apache-2.0

README

pingdom-operator

k8s sample operator

Overview

best practices

About pingdom

api 3.1 announcement api 2.1 with apikey vs api 3.1 with api-tokens

Updating CRD

# Update go generated resoruces
operator-sdk generate k8s
# Generate CRD manifests
operator-sdk generate crds

Build

# Build operator
operator-sdk build adrianriobo/pingdom-operator:0.1
# Login docker hub
docker login --username adrianriobo
# Push operator
docker push adrianriobo/pingdom-operator:0.1

Testing

Unit testing will be implemented using testify framework

# Unit testing 
go test pkg/controller/pingdomcheck/*

Deploy

Important due to used version within Pingdom: 2.1 APIKEY should be created here

# Create pingdom credentials
deploy/secrets/create_secret.sh username password apikey
kubectl create -f pingdomsecret.yaml
rm pingdomsecret.yaml
# Setup Service Account
kubectl create -f deploy/service_account.yaml  
# Setup RBAC  
kubectl create -f deploy/role.yaml
kubectl create -f deploy/role_binding.yaml
# Setup the CRD
kubectl create -f deploy/crds/crd.yaml  
# Deploy the app-operator
kubectl create -f deploy/operator.yaml
# Deploy pingdom check
kubectl create -f deploy/crds/pdc_google.yaml
kubectl create -f deploy/crds/pdc_sport.yaml
kubectl edit ...
kubectl delete ..

Directories

Path Synopsis
cmd
pkg
apis/monitoring
Package monitoring contains monitoring API versions.
Package monitoring contains monitoring API versions.
apis/monitoring/v1alpha1
Package v1alpha1 contains API Schema definitions for the monitoring v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=monitoring.adrianriobo.com
Package v1alpha1 contains API Schema definitions for the monitoring v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=monitoring.adrianriobo.com

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳