model

package
v0.0.0-...-a301da7 Latest Latest
Warning

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

Go to latest
Published: Apr 1, 2020 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ApplicationName                      = "keycloak"
	MonitoringKey                        = "middleware"
	DatabaseSecretName                   = ApplicationName + "-db-secret"
	PostgresqlPersistentVolumeName       = ApplicationName + "-postgresql-claim"
	PostgresqlBackupPersistentVolumeName = ApplicationName + "-backup"
	PostgresqlDeploymentName             = ApplicationName + "-postgresql"
	KeycloakProbesName                   = ApplicationName + "-probes"
	PostgresqlDeploymentComponent        = "database"
	PostgresqlServiceName                = ApplicationName + "-postgresql"
	PostgresqlImage                      = "postgres:11.5"
	KeycloakImage                        = "quay.io/keycloak/keycloak:9.0.0"
	KeycloakInitContainerImage           = "quay.io/keycloak/keycloak-init-container:master"
	RHSSOImage                           = "registry.access.redhat.com/redhat-sso-7/sso73-openshift:1.0-15"
	BackupImage                          = "quay.io/integreatly/backup-container:1.0.10"
	KeycloakDiscoveryServiceName         = ApplicationName + "-discovery"
	KeycloakDeploymentName               = ApplicationName
	KeycloakDeploymentComponent          = "keycloak"
	PostgresqlBackupComponent            = "database-backup"
	PostgresqlDatabase                   = "root"
	PostgresqlUsername                   = ApplicationName
	PostgresqlPasswordLength             = 32
	PostgresqlPersistentVolumeCapacity   = "1Gi"
	DatabaseSecretUsernameProperty       = "POSTGRES_USERNAME" // nolint
	DatabaseSecretPasswordProperty       = "POSTGRES_PASSWORD" // nolint
	// Required by the Integreately Backup Image
	DatabaseSecretHostProperty = "POSTGRES_HOST" // nolint
	// Required by the Integreately Backup Image
	DatabaseSecretDatabaseProperty = "POSTGRES_DATABASE" // nolint
	// Required by the Integreately Backup Image
	DatabaseSecretSuperuserProperty       = "POSTGRES_SUPERUSER"        // nolint
	DatabaseSecretExternalAddressProperty = "POSTGRES_EXTERNAL_ADDRESS" // nolint
	DatabaseSecretExternalPortProperty    = "POSTGRES_EXTERNAL_PORT"    // nolint
	KeycloakServicePort                   = 8080
	KeycloakHttpsServicePort              = 8443
	PostgresDefaultPort                   = 5432
	AdminUsernameProperty                 = "ADMIN_USERNAME"        // nolint
	AdminPasswordProperty                 = "ADMIN_PASSWORD"        // nolint
	ServingCertSecretName                 = "sso-x509-https-secret" // nolint
	LivenessProbeProperty                 = "liveness_probe.sh"
	ReadinessProbeProperty                = "readiness_probe.sh"
	RouteLoadBalancingStrategy            = "source"
	PostgresqlBackupServiceAccountName    = "keycloak-operator"
	KeycloakExtensionEnvVar               = "KEYCLOAK_EXTENSIONS"
	KeycloakExtensionPath                 = "/opt/jboss/keycloak/providers"
	KeycloakExtensionsInitContainerPath   = "/opt/extensions"
	RhssoExtensionPath                    = "/opt/eap/providers"
	ClientSecretName                      = ApplicationName + "-client-secret"
	ClientSecretClientIDProperty          = "CLIENT_ID"
	ClientSecretClientSecretProperty      = "CLIENT_SECRET"
	MaxUnavailableNumberOfPods            = 1
	PodMonitorName                        = ApplicationName + "-pod-monitor"
	ServiceMonitorName                    = ApplicationName + "-service-monitor"
)

Constants for a community Keycloak installation

View Source
const (
	LivenessProbeInitialDelay  = 30
	ReadinessProbeInitialDelay = 40
	//10s (curl) + 10s (curl) + 2s (just in case)
	ProbeTimeoutSeconds         = 22
	ProbeTimeBetweenRunsSeconds = 30
)
View Source
const (
	LivenessProbeImplementation = `#!/bin/bash
set -e
curl -s --max-time 10 --fail http://$(hostname -i):8080/auth > /dev/null
`
	ReadinessProbeImplementation = `` /* 1037-byte string literal not displayed */

)
View Source
const GrafanaDashboardJSON = `` /* 26566-byte string literal not displayed */

Variables

This section is empty.

Functions

func ClientSecret

func ClientSecret(cr *v1alpha1.KeycloakClient) *v1.Secret

func ClientSecretReconciled

func ClientSecretReconciled(cr *v1alpha1.KeycloakClient, currentState *v1.Secret) *v1.Secret

func ClientSecretSelector

func ClientSecretSelector(cr *v1alpha1.KeycloakClient) client.ObjectKey

func DatabaseSecret

func DatabaseSecret(cr *v1alpha1.Keycloak) *v1.Secret

func DatabaseSecretReconciled

func DatabaseSecretReconciled(cr *v1alpha1.Keycloak, currentState *v1.Secret) *v1.Secret

func DatabaseSecretSelector

func DatabaseSecretSelector(cr *v1alpha1.Keycloak) client.ObjectKey

func GenerateRandomBytes

func GenerateRandomBytes(n int) []byte

GenerateRandomBytes returns securely generated random bytes. It will return an error if the system's secure random number generator fails to function correctly, in which case the caller should not continue.

func GenerateRandomString

func GenerateRandomString(s int) string

GenerateRandomString returns a URL-safe, base64 encoded securely generated random string. It will return an error if the system's secure random number generator fails to function correctly, in which case the caller should not continue.

func GetCurrentKeycloakImage

func GetCurrentKeycloakImage(currentState *v13.StatefulSet) string

Get image string from the statefulset. Default to RHSSOImage string

func GetExternalDatabaseHost

func GetExternalDatabaseHost(secret *v1.Secret) string

func GetExternalDatabaseName

func GetExternalDatabaseName(secret *v1.Secret) string

func GetExternalDatabasePort

func GetExternalDatabasePort(secret *v1.Secret) int32

func GetImageRepoAndVersion

func GetImageRepoAndVersion(image string) (string, string, string, string)

Split a full image string (e.g. quay.io/keycloak/keycloak:7.0.1 or registry.access.redhat.com/redhat-sso-7/sso73-openshift:1.0 ) into it's repo and individual versions

func GetRealmUserSecretName

func GetRealmUserSecretName(keycloakNamespace, realmName, userName string) string

func GetReconciledKeycloakImage

func GetReconciledKeycloakImage(currentImage string) string

We allow the patch version of an image for keycloak to be increased outside of the operator on the cluster

func GetReconciledRHSSOImage

func GetReconciledRHSSOImage(currentImage string) string

We allow the patch version of an image for RH-SSO to be increased outside of the operator on the cluster

func GetServiceEnvVar

func GetServiceEnvVar(suffix string) string

func GrafanaDashboardSelector

func GrafanaDashboardSelector(cr *v1alpha1.Keycloak) client.ObjectKey

func IsIP

func IsIP(host []byte) bool

func KeycloakAdminSecret

func KeycloakAdminSecret(cr *v1alpha1.Keycloak) *v1.Secret

func KeycloakAdminSecretReconciled

func KeycloakAdminSecretReconciled(cr *v1alpha1.Keycloak, currentState *v1.Secret) *v1.Secret

func KeycloakAdminSecretSelector

func KeycloakAdminSecretSelector(cr *v1alpha1.Keycloak) client.ObjectKey

func KeycloakDeployment

func KeycloakDeployment(cr *v1alpha1.Keycloak, dbSecret *v1.Secret) *v13.StatefulSet

func KeycloakDeploymentReconciled

func KeycloakDeploymentReconciled(cr *v1alpha1.Keycloak, currentState *v13.StatefulSet, dbSecret *v1.Secret) *v13.StatefulSet

func KeycloakDeploymentSelector

func KeycloakDeploymentSelector(cr *v1alpha1.Keycloak) client.ObjectKey

func KeycloakDiscoveryService

func KeycloakDiscoveryService(cr *v1alpha1.Keycloak) *v1.Service

func KeycloakDiscoveryServiceReconciled

func KeycloakDiscoveryServiceReconciled(cr *v1alpha1.Keycloak, currentState *v1.Service) *v1.Service

func KeycloakDiscoveryServiceSelector

func KeycloakDiscoveryServiceSelector(cr *v1alpha1.Keycloak) client.ObjectKey

func KeycloakExtensionsInitContainers

func KeycloakExtensionsInitContainers(cr *v1alpha1.Keycloak) []v1.Container

func KeycloakIngress

func KeycloakIngress(cr *kc.Keycloak) *v1beta1.Ingress

func KeycloakIngressReconciled

func KeycloakIngressReconciled(cr *kc.Keycloak, currentState *v1beta1.Ingress) *v1beta1.Ingress

func KeycloakIngressSelector

func KeycloakIngressSelector(cr *kc.Keycloak) client.ObjectKey

func KeycloakProbes

func KeycloakProbes(cr *v1alpha1.Keycloak) *v1.ConfigMap

func KeycloakProbesSelector

func KeycloakProbesSelector(cr *v1alpha1.Keycloak) client.ObjectKey

func KeycloakRoute

func KeycloakRoute(cr *kc.Keycloak) *v1.Route

func KeycloakRouteReconciled

func KeycloakRouteReconciled(cr *kc.Keycloak, currentState *v1.Route) *v1.Route

func KeycloakRouteSelector

func KeycloakRouteSelector(cr *kc.Keycloak) client.ObjectKey

func KeycloakService

func KeycloakService(cr *v1alpha1.Keycloak) *v1.Service

func KeycloakServiceReconciled

func KeycloakServiceReconciled(cr *v1alpha1.Keycloak, currentState *v1.Service) *v1.Service

func KeycloakServiceSelector

func KeycloakServiceSelector(cr *v1alpha1.Keycloak) client.ObjectKey

func KeycloakVolumeMounts

func KeycloakVolumeMounts(extensionsPath string) []v1.VolumeMount

func KeycloakVolumes

func KeycloakVolumes() []v1.Volume

func PodDisruptionBudget

func PodDisruptionBudget(cr *v1alpha1.Keycloak) *v1beta1.PodDisruptionBudget

func PodDisruptionBudgetReconciled

func PodDisruptionBudgetReconciled(cr *v1alpha1.Keycloak, currentState *v1beta1.PodDisruptionBudget) *v1beta1.PodDisruptionBudget

func PodDisruptionBudgetSelector

func PodDisruptionBudgetSelector(cr *v1alpha1.Keycloak) client.ObjectKey

func PodMonitor

func PodMonitor(cr *v1alpha1.Keycloak) *monitoringv1.PodMonitor

func PodMonitorSelector

func PodMonitorSelector(cr *v1alpha1.Keycloak) client.ObjectKey

func PostgresqlAWSBackup

func PostgresqlAWSBackup(cr *v1alpha1.KeycloakBackup) *v13.Job

func PostgresqlAWSBackupReconciled

func PostgresqlAWSBackupReconciled(cr *v1alpha1.KeycloakBackup, currentState *v13.Job) *v13.Job

func PostgresqlAWSBackupSelector

func PostgresqlAWSBackupSelector(cr *v1alpha1.KeycloakBackup) client.ObjectKey

func PostgresqlAWSPeriodicBackup

func PostgresqlAWSPeriodicBackup(cr *v1alpha1.KeycloakBackup) *v1beta1.CronJob

func PostgresqlAWSPeriodicBackupReconciled

func PostgresqlAWSPeriodicBackupReconciled(cr *v1alpha1.KeycloakBackup, currentState *v1beta1.CronJob) *v1beta1.CronJob

func PostgresqlAWSPeriodicBackupSelector

func PostgresqlAWSPeriodicBackupSelector(cr *v1alpha1.KeycloakBackup) client.ObjectKey

func PostgresqlBackup

func PostgresqlBackup(cr *v1alpha1.KeycloakBackup) *v13.Job

func PostgresqlBackupPersistentVolumeClaim

func PostgresqlBackupPersistentVolumeClaim(cr *v1alpha1.KeycloakBackup) *v1.PersistentVolumeClaim

func PostgresqlBackupPersistentVolumeClaimReconciled

func PostgresqlBackupPersistentVolumeClaimReconciled(cr *v1alpha1.KeycloakBackup, currentState *v1.PersistentVolumeClaim) *v1.PersistentVolumeClaim

func PostgresqlBackupPersistentVolumeClaimSelector

func PostgresqlBackupPersistentVolumeClaimSelector(cr *v1alpha1.KeycloakBackup) client.ObjectKey

func PostgresqlBackupReconciled

func PostgresqlBackupReconciled(cr *v1alpha1.KeycloakBackup, currentState *v13.Job) *v13.Job

func PostgresqlBackupSelector

func PostgresqlBackupSelector(cr *v1alpha1.KeycloakBackup) client.ObjectKey

func PostgresqlDeployment

func PostgresqlDeployment(cr *v1alpha1.Keycloak) *v13.Deployment

func PostgresqlDeploymentReconciled

func PostgresqlDeploymentReconciled(cr *v1alpha1.Keycloak, currentState *v13.Deployment) *v13.Deployment

func PostgresqlDeploymentSelector

func PostgresqlDeploymentSelector(cr *v1alpha1.Keycloak) client.ObjectKey

func PostgresqlPersistentVolumeClaim

func PostgresqlPersistentVolumeClaim(cr *v1alpha1.Keycloak) *v1.PersistentVolumeClaim

func PostgresqlPersistentVolumeClaimReconciled

func PostgresqlPersistentVolumeClaimReconciled(cr *v1alpha1.Keycloak, currentState *v1.PersistentVolumeClaim) *v1.PersistentVolumeClaim

func PostgresqlPersistentVolumeClaimSelector

func PostgresqlPersistentVolumeClaimSelector(cr *v1alpha1.Keycloak) client.ObjectKey

func PostgresqlService

func PostgresqlService(cr *v1alpha1.Keycloak, dbSecret *v1.Secret, serviceTypeExternal bool) *v1.Service

func PostgresqlServiceEndpoints

func PostgresqlServiceEndpoints(cr *v1alpha1.Keycloak) *v1.Endpoints

func PostgresqlServiceEndpointsReconciled

func PostgresqlServiceEndpointsReconciled(cr *v1alpha1.Keycloak, currentState *v1.Endpoints, currentDatabaseSecret *v1.Secret) *v1.Endpoints

func PostgresqlServiceEndpointsSelector

func PostgresqlServiceEndpointsSelector(cr *v1alpha1.Keycloak) client.ObjectKey

func PostgresqlServiceReconciled

func PostgresqlServiceReconciled(currentState *v1.Service) *v1.Service

func PostgresqlServiceSelector

func PostgresqlServiceSelector(cr *v1alpha1.Keycloak) client.ObjectKey

func PrometheusRuleSelector

func PrometheusRuleSelector(cr *v1alpha1.Keycloak) client.ObjectKey

func RHSSODeployment

func RHSSODeployment(cr *v1alpha1.Keycloak, dbSecret *v1.Secret) *v13.StatefulSet

func RHSSODeploymentReconciled

func RHSSODeploymentReconciled(cr *v1alpha1.Keycloak, currentState *v13.StatefulSet, dbSecret *v1.Secret) *v13.StatefulSet

func RHSSODeploymentSelector

func RHSSODeploymentSelector(cr *v1alpha1.Keycloak) client.ObjectKey

func RealmCredentialSecret

func RealmCredentialSecret(cr *v1alpha1.KeycloakRealm, user *v1alpha1.KeycloakAPIUser, keycloak *v1alpha1.Keycloak) *v1.Secret

func RealmCredentialSecretSelector

func RealmCredentialSecretSelector(cr *v1alpha1.KeycloakRealm, user *v1alpha1.KeycloakAPIUser, keycloak *v1alpha1.Keycloak) client.ObjectKey

func SanitizeNumberOfReplicas

func SanitizeNumberOfReplicas(numberOfReplicas int, isCreate bool) *int32

func SanitizeResourceName

func SanitizeResourceName(name string) string

func ServiceMonitorSelector

func ServiceMonitorSelector(cr *v1alpha1.Keycloak) client.ObjectKey

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL