model

package
v0.0.0-...-f25123e Latest Latest
Warning

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

Go to latest
Published: Nov 25, 2024 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

View Source
const MOVIES_CYPHER = `` /* 27563-byte string literal not displayed */
View Source
const StorageSize = "10Gi"

Variables

View Source
var (
	PriorityClassNameArgs func(namespace string) []string
	EnableServerArgs      func() []string
	NodeSelectorArgs      func(namespace string) []string
)
View Source
var BackupHelmChart = newHelmChart("neo4j-admin")
View Source
var BucketName = "helm-backup-test"
View Source
var ClusterReadReplicaHelmChart = newNeo4jHelmChart("neo4j", []string{"enterprise"})
View Source
var DefaultAuthSecretName = "neo4j-auth"
View Source
var DefaultClusterSize = 3
View Source
var DefaultClusterSizeArg = []string{"--set", "neo4j.minimumClusterSize=" + strconv.Itoa(DefaultClusterSize)}
View Source
var DefaultCommunityValues = HelmValues{
	Neo4J: Neo4J{
		Name:    "test",
		Edition: "community",
	},
	Volumes: Volumes{
		Data: Data{
			Mode:           "selector",
			DisableSubPath: false,
		},
	},
}
View Source
var DefaultEnterpriseSizeArgs = []string{"--set", "neo4j.edition=enterprise", "--set", "neo4j.acceptLicenseAgreement=yes"}
View Source
var DefaultEnterpriseValues = HelmValues{
	Neo4J: Neo4J{
		Name:                   "test",
		AcceptLicenseAgreement: "yes",
		Edition:                "enterprise",
	},
	Volumes: Volumes{
		Data: Data{
			Mode:           "selector",
			DisableSubPath: false,
		},
	},
}
View Source
var DefaultHelmTemplateReleaseName = releaseName("my-release")
View Source
var DefaultNeo4jBackupChartName = "neo4j-admin"
View Source
var DefaultNeo4jBackupValues = Neo4jBackupValues{
	ConsistencyCheck: ConsistencyCheck{
		Enable:              true,
		CheckIndexes:        true,
		CheckGraph:          true,
		CheckCounts:         true,
		CheckPropertyOwners: true,
		Verbose:             true,
	},
	Neo4J: Neo4jBackupNeo4j{
		Image:                      strings.Split(os.Getenv("NEO4J_DOCKER_BACKUP_IMG"), ":")[0],
		ImageTag:                   strings.Split(os.Getenv("NEO4J_DOCKER_BACKUP_IMG"), ":")[1],
		JobSchedule:                "* * * * *",
		SuccessfulJobsHistoryLimit: 3,
		FailedJobsHistoryLimit:     3,
		BackoffLimit:               3,
	},
	TempVolume: map[string]interface{}{
		"emptyDir": nil,
	},
	Resources: Neo4jBackupResources{
		Requests: Neo4jBackupRequests{
			EphemeralStorage: "2Gi",
		},
		Limits: Neo4jBackupLimits{
			EphemeralStorage: "2Gi",
		},
	},
	SecurityContext: SecurityContext{
		RunAsNonRoot:        true,
		RunAsUser:           7474,
		RunAsGroup:          7474,
		FsGroup:             7474,
		FsGroupChangePolicy: "Always",
	},
	ContainerSecurityContext: ContainerSecurityContext{
		RunAsNonRoot:             true,
		RunAsUser:                7474,
		RunAsGroup:               7474,
		ReadOnlyRootFilesystem:   false,
		AllowPrivilegeEscalation: false,
		Capabilities: Capabilities{
			Drop: []string{"ALL"},
		},
	},
}
View Source
var DefaultNeo4jChartName = "neo4j"
View Source
var DefaultNeo4jName = "test-cluster"
View Source
var DefaultNeo4jNameArg = []string{"--set", "neo4j.name=" + DefaultNeo4jName}
View Source
var DefaultNeo4jReverseProxyChartName = "neo4j-reverse-proxy"
View Source
var DefaultNeo4jReverseProxyValues = Neo4jReverseProxyValues{
	ReverseProxy: ReverseProxy{
		Image: os.Getenv("NEO4J_REVERSE_PROXY_IMG"),
		Ingress: Ingress{
			Enabled: true,
			TLS: TLS{
				Enabled: true,
				Config: []Config{
					{
						SecretName: "ingress-secret",
					},
				},
			},
		},
	},
}
View Source
var DefaultPassword = fmt.Sprintf("defaulthelmpassword%da", RandomIntBetween(100000, 999999999))
View Source
var HeadlessServiceHelmChart = newHelmChart("neo4j-headless-service")
View Source
var HelmChart = newNeo4jHelmChart("neo4j", []string{"enterprise"})
View Source
var ImagePullSecretArgs []string
View Source
var ImagePullSecretUsername,
	ImagePullSecretPass,
	ImagePullSecretCustomImageName,
	ImagePullSecretEmail string
View Source
var LdapArgs = []string{"--set", "ldapPasswordFromSecret=ldapsecret", "--set", "ldapPasswordMountPath=/config/ldapPassword/"}
View Source
var LoadBalancerHelmChart = newHelmChart("neo4j-loadbalancer")
View Source
var Neo4jEdition = strings.ToLower(env.GetString("NEO4J_EDITION", "enterprise"))
View Source
var Neo4jHelmChartCommunityAndEnterprise = newNeo4jHelmChart("neo4j", []string{"community", "enterprise"})
View Source
var NodeSelectorLabel = func(namespace string) string {
	return fmt.Sprintf("testLabel=%s-1", namespace)
}
View Source
var PriorityClassName = func(namespace string) string {
	return fmt.Sprintf("high-priority-%s", namespace)
}
View Source
var ReverseProxyHelmChart = newHelmChart("neo4j-reverse-proxy")

Functions

func BaseHelmCommand

func BaseHelmCommand(helmCommand string, releaseName ReleaseName, chart Neo4jHelmChartBuilder, edition string, extraHelmArguments ...string) []string

func CheckError

func CheckError(err error)

func HeadlessServiceHelmCommand

func HeadlessServiceHelmCommand(helmCommand string, releaseName ReleaseName, extraHelmArguments ...string) []string

HeadlessServiceHelmCommand will perform helm install or helm uninstall on headless service chart

func LoadBalancerHelmCommand

func LoadBalancerHelmCommand(helmCommand string, releaseName ReleaseName, extraHelmArguments ...string) []string

Types

type Admin

type Admin struct {
	Enabled     bool              `yaml:"enabled,omitempty"`
	Annotations map[string]string `yaml:"annotations,omitempty"`
	Spec        Spec              `yaml:"spec,omitempty"`
}

type Affinity

type Affinity struct {
	PodAffinity PodAffinity `yaml:"podAffinity"`
}

type AggregateBackup

type AggregateBackup struct {
	Enabled          bool   `yaml:"enabled" default:"false"`
	Verbose          bool   `yaml:"verbose" default:"true"`
	KeepOldBackup    bool   `yaml:"keepOldBackup" default:"false"`
	ParallelRecovery bool   `yaml:"parallelRecovery" default:"false"`
	FromPath         string `yaml:"fromPath"`
	Database         string `yaml:"database"`
}

type Analytics

type Analytics struct {
	Enabled bool `yaml:"enabled"`
	Type    Type `yaml:"type"`
}

type Annotations

type Annotations struct {
}

type ApocCredentials

type ApocCredentials struct {
	Jdbc          map[string]string `yaml:"jdbc,omitempty"`
	Elasticsearch map[string]string `yaml:"elasticsearch,omitempty"`
}

type Backup

type Backup struct {
	BucketName               string          `yaml:"bucketName,omitempty"`
	DatabaseAdminServiceName string          `yaml:"databaseAdminServiceName,omitempty"`
	DatabaseAdminServiceIP   string          `yaml:"databaseAdminServiceIP,omitempty"`
	DatabaseNamespace        string          `yaml:"databaseNamespace,omitempty" default:"default"`
	DatabaseBackupPort       string          `yaml:"databaseBackupPort,omitempty" default:"6362"`
	DatabaseClusterDomain    string          `yaml:"databaseClusterDomain,omitempty" default:"cluster.local"`
	DatabaseBackupEndpoints  string          `yaml:"databaseBackupEndpoints,omitempty"`
	Database                 string          `yaml:"database,omitempty"`
	AzureStorageAccountName  string          `yaml:"azureStorageAccountName,omitempty"`
	CloudProvider            string          `yaml:"cloudProvider,omitempty"`
	MinioEndpoint            string          `yaml:"minioEndpoint,omitempty"`
	SecretName               string          `yaml:"secretName,omitempty"`
	SecretKeyName            string          `yaml:"secretKeyName,omitempty"`
	PageCache                string          `yaml:"pageCache,omitempty"`
	HeapSize                 string          `yaml:"heapSize,omitempty"`
	FallbackToFull           bool            `yaml:"fallbackToFull" default:"true"`
	IncludeMetadata          string          `yaml:"includeMetadata,omitempty"`
	Type                     string          `yaml:"type,omitempty"`
	KeepFailed               bool            `yaml:"keepFailed" default:"false"`
	ParallelRecovery         bool            `yaml:"parallelRecovery" default:"false"`
	KeepBackupFiles          bool            `yaml:"keepBackupFiles" default:"true"`
	Verbose                  bool            `yaml:"verbose" default:"true"`
	AggregateBackup          AggregateBackup `yaml:"aggregate,omitempty"`
}

type Backups

type Backups struct {
	Mode           string            `yaml:"mode,omitempty"`
	Share          Share             `yaml:"share,omitempty"`
	DisableSubPath bool              `yaml:"disableSubPathExpr,omitempty"`
	Labels         map[string]string `yaml:"labels,omitempty"`
}

type Bolt

type Bolt struct {
	PrivateKey        PrivateKey        `yaml:"privateKey,omitempty"`
	PublicCertificate PublicCertificate `yaml:"publicCertificate,omitempty"`
	TrustedCerts      TrustedCerts      `yaml:"trustedCerts,omitempty"`
	RevokedCerts      RevokedCerts      `yaml:"revokedCerts,omitempty"`
}

type Capabilities

type Capabilities struct {
	Drop []string `yaml:"drop,omitempty"`
}

type Config

type Config struct {
	Hosts      []string `yaml:"hosts,omitempty"`
	SecretName string   `yaml:"secretName,omitempty"`
}

type ConsistencyCheck

type ConsistencyCheck struct {
	Enable              bool   `yaml:"enable" default:"false"`
	Database            string `yaml:"database,omitempty"`
	CheckIndexes        bool   `yaml:"checkIndexes" default:"true"`
	CheckGraph          bool   `yaml:"checkGraph" default:"true"`
	CheckCounts         bool   `yaml:"checkCounts" default:"true"`
	CheckPropertyOwners bool   `yaml:"checkPropertyOwners" default:"true"`
	MaxOffHeapMemory    string `yaml:"maxOffHeapMemory,omitempty"`
	Threads             string `yaml:"threads,omitempty"`
	Verbose             bool   `yaml:"verbose" default:"true"`
}

type ContainerSecurityContext

type ContainerSecurityContext struct {
	RunAsNonRoot             bool         `yaml:"runAsNonRoot,omitempty"`
	RunAsUser                int64        `yaml:"runAsUser,omitempty"`
	RunAsGroup               int64        `yaml:"runAsGroup,omitempty"`
	ReadOnlyRootFilesystem   bool         `yaml:"readOnlyRootFilesystem,omitempty"`
	AllowPrivilegeEscalation bool         `yaml:"allowPrivilegeEscalation,omitempty"`
	Capabilities             Capabilities `yaml:"capabilities,omitempty"`
}

type Data

type Data struct {
	Mode                string              `yaml:"mode,omitempty"`
	Selector            Selector            `yaml:"selector,omitempty"`
	DefaultStorageClass DefaultStorageClass `yaml:"defaultStorageClass,omitempty"`
	Dynamic             Dynamic             `yaml:"dynamic,omitempty"`
	Volume              Volume              `yaml:"volume,omitempty"`
	VolumeClaimTemplate VolumeClaimTemplate `yaml:"volumeClaimTemplate,omitempty"`
	DisableSubPath      bool                `yaml:"disableSubPathExpr,omitempty"`
	Labels              map[string]string   `yaml:"labels,omitempty"`
}

type Default

type Default struct {
	Annotations map[string]string `yaml:"annotations,omitempty"`
}

type DefaultStorageClass

type DefaultStorageClass struct {
	AccessModes []string `yaml:"accessModes,omitempty"`
	Requests    Requests `yaml:"requests,omitempty"`
}

type Dynamic

type Dynamic struct {
	StorageClassName string   `yaml:"storageClassName,omitempty"`
	AccessModes      []string `yaml:"accessModes,omitempty"`
	Requests         Requests `yaml:"requests,omitempty"`
}

type Env

type Env struct {
}

type HTTPS

type HTTPS struct {
	PrivateKey        PrivateKey        `yaml:"privateKey,omitempty"`
	PublicCertificate PublicCertificate `yaml:"publicCertificate,omitempty"`
	TrustedCerts      TrustedCerts      `yaml:"trustedCerts,omitempty"`
	RevokedCerts      RevokedCerts      `yaml:"revokedCerts,omitempty"`
}

type HelmChartBuilder

type HelmChartBuilder interface {
	Name() string
	// contains filtered or unexported methods
}

type HelmClient

type HelmClient struct {
	// contains filtered or unexported fields
}

func NewHelmClient

func NewHelmClient(chartName string, extraArgs ...string) *HelmClient

func (*HelmClient) Install

func (c *HelmClient) Install(t *testing.T, releaseName string, namespace string, values interface{}) (string, error)

type HelmValues

type HelmValues struct {
	FullnameOverride         string              `yaml:"fullnameOverride,omitempty"`
	NameOverride             string              `yaml:"nameOverride,omitempty"`
	Neo4J                    Neo4J               `yaml:"neo4j,omitempty"`
	Volumes                  Volumes             `yaml:"volumes,omitempty"`
	AdditionalVolumes        []interface{}       `yaml:"additionalVolumes,omitempty"`
	AdditionalVolumeMounts   []interface{}       `yaml:"additionalVolumeMounts,omitempty"`
	NodeSelector             map[string]string   `yaml:"nodeSelector,omitempty"`
	DisableLookups           bool                `default:"false" yaml:"disableLookups"`
	Services                 Services            `yaml:"services,omitempty"`
	Config                   map[string]string   `yaml:"config,omitempty"`
	SecurityContext          SecurityContext     `yaml:"securityContext,omitempty"`
	ContainerSecurityContext SecurityContext     `yaml:"containerSecurityContext,omitempty"`
	ReadinessProbe           ReadinessProbe      `yaml:"readinessProbe,omitempty"`
	LivenessProbe            LivenessProbe       `yaml:"livenessProbe,omitempty"`
	StartupProbe             StartupProbe        `yaml:"startupProbe,omitempty"`
	Ssl                      Ssl                 `yaml:"ssl,omitempty"`
	ClusterDomain            string              `yaml:"clusterDomain,omitempty"`
	Image                    Image               `yaml:"image,omitempty"`
	Statefulset              Statefulset         `yaml:"statefulset,omitempty"`
	Env                      Env                 `yaml:"env,omitempty"`
	PodSpec                  PodSpec             `yaml:"podSpec,omitempty"`
	LogInitialPassword       bool                `yaml:"logInitialPassword,omitempty"`
	Jvm                      Jvm                 `yaml:"jvm,omitempty"`
	Logs                     Logging             `yaml:"logs,omitempty"`
	LdapPasswordFromSecret   string              `yaml:"ldapPasswordFromSecret,omitempty"`
	LdapPasswordMountPath    string              `yaml:"ldapPasswordMountPath,omitempty"`
	ApocCredentials          ApocCredentials     `yaml:"apoc_credentials,omitempty"`
	PodDisruptionBudget      PodDisruptionBudget `yaml:"podDisruptionBudget"`
	ServiceMonitor           ServiceMonitor      `yaml:"serviceMonitor"`
	Analytics                Analytics           `yaml:"analytics"`
}

func HelmReleaseValues

func HelmReleaseValues(t *testing.T) (HelmValues, error)

type Image

type Image struct {
	ImagePullPolicy  string   `yaml:"imagePullPolicy,omitempty"`
	CustomImage      string   `yaml:"customImage,omitempty"`
	ImagePullSecrets []string `yaml:"imagePullSecrets,omitempty"`
}

type Import

type Import struct {
	Mode           string            `yaml:"mode,omitempty"`
	Share          Share             `yaml:"share,omitempty"`
	DisableSubPath bool              `yaml:"disableSubPathExpr,omitempty"`
	Labels         map[string]string `yaml:"labels,omitempty"`
}

type Ingress

type Ingress struct {
	Enabled     bool              `yaml:"enabled"`
	Annotations map[string]string `yaml:"annotations,omitempty"`
	TLS         TLS               `yaml:"tls,omitempty"`
	Host        string            `yaml:"host,omitempty"`
}

type Internals

type Internals struct {
	Enabled     bool              `yaml:"enabled,omitempty"`
	Annotations map[string]string `yaml:"annotations,omitempty"`
}

type Jvm

type Jvm struct {
	UseNeo4JDefaultJvmArguments bool     `yaml:"useNeo4jDefaultJvmArguments,omitempty"`
	AdditionalJvmArguments      []string `yaml:"additionalJvmArguments,omitempty"`
}

type K8sResources

type K8sResources struct {
	// contains filtered or unexported fields
}

func HelmTemplate

func HelmTemplate(t *testing.T, chart HelmChartBuilder, helmTemplateArgs []string, moreHelmTemplateArgs ...string) (*K8sResources, error)

func HelmTemplateForRelease

func HelmTemplateForRelease(t *testing.T, releaseName ReleaseName, chart HelmChartBuilder, helmTemplateArgs []string, moreHelmTemplateArgs ...string) (*K8sResources, error)

func HelmTemplateFromStruct

func HelmTemplateFromStruct(t *testing.T, chart HelmChartBuilder, values interface{}, extraArgs ...string) (*K8sResources, error)

func HelmTemplateFromYamlFile

func HelmTemplateFromYamlFile(t *testing.T, chart HelmChartBuilder, values resources.YamlFile, extraHelmArgs ...string) (*K8sResources, error)

func NewK8sResources

func NewK8sResources(objects []runtime.Object, schemas []schema.GroupVersionKind) *K8sResources

func RunHelmCommand

func RunHelmCommand(t *testing.T, helmTemplateArgs []string, moreHelmTemplateArgs ...string) (*K8sResources, error)

func (*K8sResources) Add

func (k *K8sResources) Add(i runtime.Object, more ...runtime.Object)

func (*K8sResources) AddEndpoints

func (k *K8sResources) AddEndpoints(items []v1.Endpoints)

func (*K8sResources) AddPods

func (k *K8sResources) AddPods(pods []v1.Pod)

func (*K8sResources) AddServices

func (k *K8sResources) AddServices(services []v1.Service)

func (*K8sResources) All

func (k *K8sResources) All() (out []runtime.Object)

func (*K8sResources) AllWithMetadata

func (k *K8sResources) AllWithMetadata() (out []metav1.Object)

func (*K8sResources) First

func (*K8sResources) OfType

func (k *K8sResources) OfType(i runtime.Object) (out []runtime.Object)

func (*K8sResources) OfTypeWithName

func (k *K8sResources) OfTypeWithName(i metav1.Object, name string) metav1.Object

func (*K8sResources) Only

type LabelSelector

type LabelSelector struct {
	MatchExpressions []MatchExpressions `yaml:"matchExpressions,omitempty"`
	MatchLabels      map[string]string  `yaml:"matchLabels,omitempty"`
}

type Licenses

type Licenses struct {
	Mode           string            `yaml:"mode,omitempty"`
	Share          Share             `yaml:"share,omitempty"`
	DisableSubPath bool              `yaml:"disableSubPathExpr,omitempty"`
	Labels         map[string]string `yaml:"labels,omitempty"`
}

type LivenessProbe

type LivenessProbe struct {
	FailureThreshold int `yaml:"failureThreshold,omitempty"`
	TimeoutSeconds   int `yaml:"timeoutSeconds,omitempty"`
	PeriodSeconds    int `yaml:"periodSeconds,omitempty"`
}

type Logging

type Logging struct {
	ServerLogsXML string `yaml:"serverLogsXml,omitempty"`
	UserLogsXML   string `yaml:"userLogsXml,omitempty"`
}

type Logs

type Logs struct {
	Mode           string            `yaml:"mode,omitempty"`
	Share          Share             `yaml:"share,omitempty"`
	DisableSubPath bool              `yaml:"disableSubPathExpr,omitempty"`
	Labels         map[string]string `yaml:"labels,omitempty"`
}

type MatchExpressions

type MatchExpressions struct {
	Key      string   `yaml:"key"`
	Operator string   `yaml:"operator"`
	Values   []string `yaml:"values"`
}

type MatchLabels

type MatchLabels struct {
	App                    string `yaml:"app,omitempty"`
	HelmNeo4JComVolumeRole string `yaml:"helm.neo4j.com/volume-role,omitempty"`
}

type Metadata

type Metadata struct {
	Annotations map[string]string `yaml:"annotations,omitempty"`
}

type Metrics

type Metrics struct {
	Mode           string            `yaml:"mode,omitempty"`
	Share          Share             `yaml:"share,omitempty"`
	DisableSubPath bool              `yaml:"disableSubPathExpr,omitempty"`
	Labels         map[string]string `yaml:"labels,omitempty"`
}

type Namespace

type Namespace string

type NamespaceSelector

type NamespaceSelector struct {
	Any        bool     `yaml:"any"`
	MatchNames []string `yaml:"matchNames,omitempty"`
}

type Neo4J

type Neo4J struct {
	Name                          string      `yaml:"name,omitempty"`
	Password                      string      `yaml:"password,omitempty"`
	PasswordFromSecret            string      `yaml:"passwordFromSecret,omitempty"`
	Edition                       string      `yaml:"edition,omitempty"`
	MinimumClusterSize            int         `yaml:"minimumClusterSize,omitempty"`
	AcceptLicenseAgreement        string      `yaml:"acceptLicenseAgreement,omitempty"`
	OfflineMaintenanceModeEnabled bool        `yaml:"offlineMaintenanceModeEnabled,omitempty"`
	Resources                     Resources   `yaml:"resources,omitempty"`
	Labels                        interface{} `yaml:"labels,omitempty"`
	Operations                    Operations  `yaml:"operations,omitempty"`
}

type Neo4jBackupLimits

type Neo4jBackupLimits struct {
	EphemeralStorage string `yaml:"ephemeralStorage,omitempty"`
	CPU              string `yaml:"cpu,omitempty"`
	Memory           string `yaml:"memory,omitempty"`
}

type Neo4jBackupNeo4j

type Neo4jBackupNeo4j struct {
	Image                      string            `yaml:"image" default:"neo4jbuildservice/helm-charts"`
	ImageTag                   string            `yaml:"imageTag" default:"backup"`
	PodLabels                  map[string]string `yaml:"podLabels,omitempty"`
	PodAnnotations             map[string]string `yaml:"podAnnotations,omitempty"`
	JobSchedule                string            `yaml:"jobSchedule" default:"* * * * *"`
	SuccessfulJobsHistoryLimit int               `yaml:"successfulJobsHistoryLimit" default:"3"`
	FailedJobsHistoryLimit     int               `yaml:"failedJobsHistoryLimit" default:"1"`
	BackoffLimit               int               `yaml:"backoffLimit" default:"6"`
	Labels                     map[string]string `yaml:"labels,omitempty"`
}

type Neo4jBackupRequests

type Neo4jBackupRequests struct {
	EphemeralStorage string `yaml:"ephemeralStorage,omitempty"`
	CPU              string `yaml:"cpu,omitempty"`
	Memory           string `yaml:"memory,omitempty"`
}

type Neo4jBackupResources

type Neo4jBackupResources struct {
	Requests Neo4jBackupRequests `yaml:"requests,omitempty"`
	Limits   Neo4jBackupLimits   `yaml:"limits,omitempty"`
}

type Neo4jBackupValues

type Neo4jBackupValues struct {
	NameOverride             string                   `yaml:"nameOverride,omitempty"`
	FullnameOverride         string                   `yaml:"fullnameOverride,omitempty"`
	DisableLookups           bool                     `yaml:"disableLookups" default:"false"`
	Neo4J                    Neo4jBackupNeo4j         `yaml:"neo4j"`
	Backup                   Backup                   `yaml:"backup"`
	ConsistencyCheck         ConsistencyCheck         `yaml:"consistencyCheck"`
	ServiceAccountName       string                   `yaml:"serviceAccountName"`
	TempVolume               map[string]interface{}   `yaml:"tempVolume"`
	SecurityContext          SecurityContext          `yaml:"securityContext"`
	ContainerSecurityContext ContainerSecurityContext `yaml:"containerSecurityContext,omitempty"`
	NodeSelector             map[string]string        `yaml:"nodeSelector,omitempty"`
	Resources                Neo4jBackupResources     `yaml:"resources,omitempty"`
	Tolerations              []Toleration             `yaml:"tolerations,omitempty"`
	Affinity                 Affinity                 `yaml:"affinity,omitempty"`
}

type Neo4jConfiguration

type Neo4jConfiguration struct {
	// contains filtered or unexported fields
}

func (*Neo4jConfiguration) Conf

func (c *Neo4jConfiguration) Conf() map[string]string

func (*Neo4jConfiguration) JvmArgs

func (c *Neo4jConfiguration) JvmArgs() []string

func (*Neo4jConfiguration) PopulateFromFile

func (c *Neo4jConfiguration) PopulateFromFile(filename string) (*Neo4jConfiguration, error)

func (*Neo4jConfiguration) Update

func (c *Neo4jConfiguration) Update(other Neo4jConfiguration, appendJvmArgs bool) Neo4jConfiguration

func (*Neo4jConfiguration) UpdateFromMap

func (c *Neo4jConfiguration) UpdateFromMap(other map[string]string, appendJvmArgs bool) Neo4jConfiguration

type Neo4jHelmChartBuilder

type Neo4jHelmChartBuilder interface {
	HelmChartBuilder
	GetEditions() []string
	SupportsEdition(edition string) bool
}

type Neo4jLoadBalancer

type Neo4jLoadBalancer struct {
	Name    string `yaml:"name"`
	Edition string `yaml:"edition"`
}

type Neo4jLoadBalancerValues

type Neo4jLoadBalancerValues struct {
	Neo4j         Neo4jLoadBalancer `yaml:"neo4j"`
	Annotations   map[string]string `yaml:"annotations"`
	Ports         Ports             `yaml:"ports"`
	Selector      map[string]string `yaml:"selector"`
	Spec          Spec              `yaml:"spec"`
	ClusterDomain string            `yaml:"clusterDomain"`
	MultiCluster  bool              `yaml:"multiCluster"`
}

type Neo4jReverseProxyValues

type Neo4jReverseProxyValues struct {
	NameOverride     string       `yaml:"nameOverride,omitempty"`
	FullnameOverride string       `yaml:"fullnameOverride,omitempty"`
	ReverseProxy     ReverseProxy `yaml:"reverseProxy,omitempty"`
}

type Neo4jService

type Neo4jService struct {
	Enabled      bool              `yaml:"enabled,omitempty" default:"true"`
	Annotations  map[string]string `yaml:"annotations,omitempty"`
	Spec         Spec              `yaml:"spec,omitempty"`
	Ports        Ports             `yaml:"ports"`
	Selector     ServiceSelector   `yaml:"selector,omitempty"`
	MultiCluster bool              `yaml:"multiCluster,omitempty"`
}

type Operations

type Operations struct {
	EnableServer bool              `yaml:"enableServer"`
	Image        string            `yaml:"image"`
	Protocol     string            `yaml:"protocol"`
	Labels       map[string]string `yaml:"labels"`
}

type PersistentDiskName

type PersistentDiskName string

type PodAffinity

type PodAffinity struct {
	RequiredDuringSchedulingIgnoredDuringExecution []RequiredDuringSchedulingIgnoredDuringExecution `yaml:"requiredDuringSchedulingIgnoredDuringExecution"`
}

type PodAntiAffinity

type PodAntiAffinity struct {
	RequiredDuringSchedulingIgnoredDuringExecution []RequiredDuringSchedulingIgnoredDuringExecution `yaml:"requiredDuringSchedulingIgnoredDuringExecution"`
}

type PodDisruptionBudget

type PodDisruptionBudget struct {
	Enabled          bool               `yaml:"enabled"`
	MatchLabels      map[string]string  `yaml:"matchLabels,omitempty"`
	MatchExpressions []MatchExpressions `yaml:"matchExpressions,omitempty"`
	Labels           map[string]string  `yaml:"labels,omitempty"`
	MinAvailable     string             `yaml:"minAvailable,omitempty"`
	MaxUnavailable   string             `yaml:"maxUnavailable,omitempty"`
}

type PodSpec

type PodSpec struct {
	Annotations                   map[string]string          `yaml:"annotations,omitempty"`
	NodeAffinity                  map[string]interface{}     `yaml:"nodeAffinity,omitempty"`
	PodAntiAffinity               interface{}                `yaml:"podAntiAffinity,omitempty"`
	Tolerations                   []interface{}              `yaml:"tolerations,omitempty"`
	PriorityClassName             string                     `yaml:"priorityClassName,omitempty"`
	DNSPolicy                     string                     `yaml:"dnsPolicy,omitempty"`
	Loadbalancer                  string                     `yaml:"loadbalancer,omitempty"`
	ServiceAccountName            string                     `yaml:"serviceAccountName,omitempty"`
	TerminationGracePeriodSeconds int                        `yaml:"terminationGracePeriodSeconds,omitempty"`
	InitContainers                []interface{}              `yaml:"initContainers,omitempty"`
	Containers                    []interface{}              `yaml:"containers,omitempty"`
	TopologySpreadConstraints     []TopologySpreadConstraint `yaml:"topologySpreadConstraints,omitempty"`
}

type Port

type Port struct {
	Enabled    bool   `yaml:"enabled"`
	Port       int    `yaml:"port"`
	TargetPort int    `yaml:"targetPort"`
	NodePort   int    `yaml:"nodePort"`
	Name       string `yaml:"name"`
}

type Ports

type Ports struct {
	HTTP   Port `yaml:"http"`
	HTTPS  Port `yaml:"https"`
	Bolt   Port `yaml:"bolt,omitempty"`
	Backup Port `yaml:"backup,omitempty"`
}

type PrivateKey

type PrivateKey struct {
	SecretName interface{} `yaml:"secretName,omitempty"`
	SubPath    interface{} `yaml:"subPath,omitempty"`
}

type PublicCertificate

type PublicCertificate struct {
	SecretName interface{} `yaml:"secretName,omitempty"`
	SubPath    interface{} `yaml:"subPath,omitempty"`
}

type ReadinessProbe

type ReadinessProbe struct {
	FailureThreshold int `yaml:"failureThreshold,omitempty"`
	TimeoutSeconds   int `yaml:"timeoutSeconds,omitempty"`
	PeriodSeconds    int `yaml:"periodSeconds,omitempty"`
}

type ReleaseName

type ReleaseName interface {
	String() string
	Namespace() Namespace
	DiskName() PersistentDiskName
	PodName() string
	ShortName() string
	EnvConfigMapName() string
	UserConfigMapName() string
	InternalServiceName() string
	DefaultConfigMapName() string
	UserLogsConfigMapName() string
	ServerLogsConfigMapName() string
}

func NewCoreReleaseName

func NewCoreReleaseName(clusterName ReleaseName, number int) ReleaseName

func NewHeadlessServiceReleaseName

func NewHeadlessServiceReleaseName(clusterName ReleaseName) ReleaseName

func NewLoadBalancerReleaseName

func NewLoadBalancerReleaseName(clusterName ReleaseName) ReleaseName

func NewReleaseName

func NewReleaseName(name string) ReleaseName

type Requests

type Requests struct {
	Storage string `yaml:"storage,omitempty"`
}

type RequiredDuringSchedulingIgnoredDuringExecution

type RequiredDuringSchedulingIgnoredDuringExecution struct {
	LabelSelector LabelSelector `yaml:"labelSelector,omitempty"`
	TopologyKey   string        `yaml:"topologyKey,omitempty"`
}

type Resources

type Resources struct {
	CPU    string `yaml:"cpu,omitempty"`
	Memory string `yaml:"memory,omitempty"`
}

type ReverseProxy

type ReverseProxy struct {
	Image       string  `yaml:"image,omitempty"`
	ServiceName string  `yaml:"serviceName,omitempty"`
	Namespace   string  `yaml:"namespace,omitempty"`
	Domain      string  `yaml:"domain,omitempty"`
	Ingress     Ingress `yaml:"ingress,omitempty"`
}

type RevokedCerts

type RevokedCerts struct {
	Sources []interface{} `yaml:"sources,omitempty"`
}

type SecurityContext

type SecurityContext struct {
	RunAsNonRoot             bool         `yaml:"runAsNonRoot,omitempty"`
	RunAsUser                int          `yaml:"runAsUser,omitempty"`
	RunAsGroup               int          `yaml:"runAsGroup,omitempty"`
	FsGroup                  int          `yaml:"fsGroup,omitempty"`
	FsGroupChangePolicy      string       `yaml:"fsGroupChangePolicy,omitempty"`
	ReadOnlyRootFilesystem   bool         `yaml:"readOnlyRootFilesystem,omitempty"`
	AllowPrivilegeEscalation bool         `yaml:"allowPrivilegeEscalation,omitempty"`
	Capabilities             Capabilities `yaml:"capabilities,omitempty"`
}

type Selector

type Selector struct {
	StorageClassName string           `yaml:"storageClassName,omitempty"`
	AccessModes      []string         `yaml:"accessModes,omitempty"`
	Requests         Requests         `yaml:"requests,omitempty"`
	SelectorTemplate SelectorTemplate `yaml:"selectorTemplate,omitempty"`
}

type SelectorTemplate

type SelectorTemplate struct {
	MatchLabels MatchLabels `yaml:"matchLabels,omitempty"`
}

type ServiceMonitor

type ServiceMonitor struct {
	Enabled           bool                   `yaml:"enabled"`
	Labels            map[string]string      `yaml:"labels,omitempty"`
	JobLabel          string                 `yaml:"jobLabel,omitempty"`
	Interval          string                 `yaml:"interval,omitempty"`
	Port              string                 `yaml:"port,omitempty"`
	Path              string                 `yaml:"path,omitempty"`
	NamespaceSelector NamespaceSelector      `yaml:"namespaceSelector"`
	TargetLabels      []string               `yaml:"targetLabels,omitempty"`
	Selector          ServiceMonitorSelector `yaml:"selector,omitempty"`
}

type ServiceMonitorSelector

type ServiceMonitorSelector struct {
	MatchLabels map[string]string `yaml:"matchLabels,omitempty"`
}

type ServiceSelector

type ServiceSelector struct {
	HelmNeo4JComNeo4JLoadbalancer string `yaml:"helm.neo4j.com/neo4j.loadbalancer,omitempty"`
}

type Services

type Services struct {
	Default   Default      `yaml:"default,omitempty"`
	Neo4j     Neo4jService `yaml:"neo4j,omitempty"`
	Admin     Admin        `yaml:"admin,omitempty"`
	Internals Internals    `yaml:"internals,omitempty"`
}

type Share

type Share struct {
	Name string `yaml:"name,omitempty"`
}

type Spec

type Spec struct {
	Type string `yaml:"type,omitempty"`
}

type Ssl

type Ssl struct {
	Bolt  Bolt  `yaml:"bolt,omitempty"`
	HTTPS HTTPS `yaml:"https,omitempty"`
}

type StartupProbe

type StartupProbe struct {
	FailureThreshold int `yaml:"failureThreshold,omitempty"`
	PeriodSeconds    int `yaml:"periodSeconds,omitempty"`
}

type Statefulset

type Statefulset struct {
	Metadata Metadata `yaml:"metadata,omitempty"`
}

type TLS

type TLS struct {
	Enabled bool     `yaml:"enabled"`
	Config  []Config `yaml:"config,omitempty"`
}

type Toleration

type Toleration struct {
	Key      string `yaml:"key,omitempty"`
	Operator string `yaml:"operator,omitempty"`
	Value    string `yaml:"value,omitempty"`
	Effect   string `yaml:"effect,omitempty"`
}

type TopologySpreadConstraint

type TopologySpreadConstraint struct {
	MaxSkew           int    `yaml:"maxSkew"`
	TopologyKey       string `yaml:"topologyKey"`
	WhenUnsatisfiable string `yaml:"whenUnsatisfiable"`
}

type TrustedCerts

type TrustedCerts struct {
	Sources []interface{} `yaml:"sources,omitempty"`
}

type Type

type Type struct {
	Name string `yaml:"name"`
}

type Volume

type Volume struct {
	SetOwnerAndGroupWritableFilePermissions bool `yaml:"setOwnerAndGroupWritableFilePermissions,omitempty"`
}

type VolumeClaimTemplate

type VolumeClaimTemplate struct {
}

type Volumes

type Volumes struct {
	Data     Data     `yaml:"data,omitempty"`
	Backups  Backups  `yaml:"backups,omitempty"`
	Logs     Logs     `yaml:"logs,omitempty"`
	Metrics  Metrics  `yaml:"metrics,omitempty"`
	Import   Import   `yaml:"import,omitempty"`
	Licenses Licenses `yaml:"licenses,omitempty"`
}

Jump to

Keyboard shortcuts

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