Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ update-generated:
"deepcopy" \
"github.com/arangodb/kube-arangodb/pkg/generated" \
"github.com/arangodb/kube-arangodb/pkg/apis" \
"shared:v1 deployment:v1/member deployment:v2alpha1/member" \
"shared:v1" \
--go-header-file "./tools/codegen/boilerplate.go.txt" \
$(VERIFYARGS)

Expand Down
2 changes: 1 addition & 1 deletion chart/kube-arangodb-crd/templates/member.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: arangomembmers.database.arangodb.com
name: arangomembers.database.arangodb.com
labels:
app.kubernetes.io/name: {{ template "kube-arangodb-crd.name" . }}
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
Expand Down
2 changes: 1 addition & 1 deletion chart/kube-arangodb/crds/member.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: arangomembmers.database.arangodb.com
name: arangomembers.database.arangodb.com
spec:
group: database.arangodb.com
names:
Expand Down
4 changes: 4 additions & 0 deletions pkg/apis/deployment/definitions.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ const (
ArangoDeploymentResourceKind = "ArangoDeployment"
ArangoDeploymentResourcePlural = "arangodeployments"

ArangoMemberCRDName = ArangoMemberResourcePlural + "." + ArangoDeploymentGroupName
ArangoMemberResourceKind = "ArangoMember"
ArangoMemberResourcePlural = "arangomembers"

ArangoDeploymentGroupName = "database.arangodb.com"
)

Expand Down
20 changes: 17 additions & 3 deletions pkg/apis/deployment/v1/arango_member.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
package v1

import (
"github.com/arangodb/kube-arangodb/pkg/apis/deployment/v1/member"
"github.com/arangodb/kube-arangodb/pkg/apis/deployment"
meta "k8s.io/apimachinery/pkg/apis/meta/v1"
)

Expand All @@ -45,6 +45,20 @@ type ArangoMemberList struct {
type ArangoMember struct {
meta.TypeMeta `json:",inline"`
meta.ObjectMeta `json:"metadata,omitempty"`
Spec member.Spec `json:"spec,omitempty"`
Status member.Status `json:"status,omitempty"`
Spec ArangoMemberSpec `json:"spec,omitempty"`
Status ArangoMemberStatus `json:"status,omitempty"`
}

// AsOwner creates an OwnerReference for the given member
func (a *ArangoMember) AsOwner() meta.OwnerReference {
trueVar := true
return meta.OwnerReference{
APIVersion: SchemeGroupVersion.String(),
Kind: deployment.ArangoMemberResourceKind,
Name: a.Name,
UID: a.UID,
Controller: &trueVar,
// For now BlockOwnerDeletion does not work on OpenShift, so we leave it out.
//BlockOwnerDeletion: &trueVar,
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,14 @@
// Author Adam Janikowski
//

package member
package v1

import core "k8s.io/api/core/v1"

type Spec struct {
type ArangoMemberSpec struct {
Group ServerGroup `json:"group,omitempty"`
ID string `json:"id,omitempty"`

Template *core.PodTemplate `json:"template,omitempty"`
TemplateChecksum string `json:"templateChecksum,omitempty"`
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
// Author Adam Janikowski
//

package member
package v1

type Status struct {
type ArangoMemberStatus struct {
}
25 changes: 0 additions & 25 deletions pkg/apis/deployment/v1/member/doc.go

This file was deleted.

66 changes: 0 additions & 66 deletions pkg/apis/deployment/v1/member/zz_generated.deepcopy.go

This file was deleted.

7 changes: 7 additions & 0 deletions pkg/apis/deployment/v1/member_status.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ import (
"reflect"
"time"

"github.com/arangodb/kube-arangodb/pkg/util/k8sutil"

"k8s.io/apimachinery/pkg/types"

driver "github.com/arangodb/go-driver"
Expand Down Expand Up @@ -155,3 +157,8 @@ func (s MemberStatus) IsNotReadySince(timestamp time.Time) bool {
// A
return s.CreatedAt.Time.Before(timestamp)
}

// ArangoMemberName create member name from given member
func (s MemberStatus) ArangoMemberName(deploymentName string, group ServerGroup) string {
return k8sutil.CreatePodHostName(deploymentName, group.AsRole(), s.ID)
}
2 changes: 2 additions & 0 deletions pkg/apis/deployment/v1/register.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ func addKnownTypes(s *runtime.Scheme) error {
s.AddKnownTypes(SchemeGroupVersion,
&ArangoDeployment{},
&ArangoDeploymentList{},
&ArangoMember{},
&ArangoMemberList{},
)
metav1.AddToGroupVersion(s, SchemeGroupVersion)
return nil
Expand Down
26 changes: 25 additions & 1 deletion pkg/apis/deployment/v1/server_group.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,34 @@

package v1

import "time"
import (
"encoding/json"
"time"
)

type ServerGroup int

func (g *ServerGroup) UnmarshalJSON(bytes []byte) error {
if bytes == nil {
*g = ServerGroupUnknown
return nil
}

var s string

if err := json.Unmarshal(bytes, &s); err != nil {
return err
}

*g = ServerGroupFromRole(s)

return nil
}

func (g ServerGroup) MarshalJSON() ([]byte, error) {
return json.Marshal(g.AsRole())
}

const (
ServerGroupUnknown ServerGroup = 0
ServerGroupSingle ServerGroup = 1
Expand Down
37 changes: 37 additions & 0 deletions pkg/apis/deployment/v1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 2 additions & 3 deletions pkg/apis/deployment/v2alpha1/arango_member.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
package v2alpha1

import (
"github.com/arangodb/kube-arangodb/pkg/apis/deployment/v1/member"
meta "k8s.io/apimachinery/pkg/apis/meta/v1"
)

Expand All @@ -45,6 +44,6 @@ type ArangoMemberList struct {
type ArangoMember struct {
meta.TypeMeta `json:",inline"`
meta.ObjectMeta `json:"metadata,omitempty"`
Spec member.Spec `json:"spec,omitempty"`
Status member.Status `json:"status,omitempty"`
Spec ArangoMemberSpec `json:"spec,omitempty"`
Status ArangoMemberStatus `json:"status,omitempty"`
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,14 @@
// Author Adam Janikowski
//

package member
package v2alpha1

import core "k8s.io/api/core/v1"

type Spec struct {
type ArangoMemberSpec struct {
Group ServerGroup `json:"group,omitempty"`
ID string `json:"id,omitempty"`

Template *core.PodTemplate `json:"template,omitempty"`
TemplateChecksum string `json:"templateChecksum,omitempty"`
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
// Author Adam Janikowski
//

package member
package v2alpha1

type Status struct {
type ArangoMemberStatus struct {
}
25 changes: 0 additions & 25 deletions pkg/apis/deployment/v2alpha1/member/doc.go

This file was deleted.

Loading