Categorygithub.com/adrianRiobo/pingdom-operator
repository
0.0.0-20200329121858-50f02844a540
Repository: https://github.com/adrianriobo/pingdom-operator.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author

# 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 ..