Skip to content

mghlaiel/keystone-operator

 
 

Repository files navigation

keystone-operator

A Kubernetes Operator built using the Operator Framework for Go. The Operator provides a way to easily install and manage an OpenStack Keystone installation on Kubernetes. This Operator was developed using RDO containers for openStack.

Deployment

The operator is intended to be deployed via OLM Operator Lifecycle Manager

API Example

The Operator creates a custom KeystoneAPI resource that can be used to create Keystone API instances within the cluster. Example CR to create an Keystone API in your cluster:

apiVersion: keystone.openstack.org/v1beta1
kind: KeystoneAPI
metadata:
  name: keystone
spec:
  adminPassword: foobar123
  containerImage: docker.io/tripleostein/centos-binary-keystone:current-tripleo
  replicas: 1
  secret: keystone-secret

Design

The current design takes care of the following:

  • Creates keystone config files via config maps
  • Creates a keystone deployment with the specified replicas
  • Creates a keystone service
  • Generates Fernet keys (TODO: rotate them, and bounce the APIs upon rotation)
  • Keystone bootstrap, and db sync are executed automatically on install and updates
  • ConfigMap is recreated on any changes KeystoneAPI object changes and the Deployment updated.

About

Keystone Kubernetes Operator

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 89.9%
  • Makefile 4.6%
  • Dockerfile 3.1%
  • Shell 2.4%