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 go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ require (
k8s.io/klog/v2 v2.130.1
k8s.io/kubectl v0.34.3
kmodules.xyz/client-go v0.34.3
kmodules.xyz/resource-metadata v0.47.0
kmodules.xyz/resource-metadata v0.48.0
kmodules.xyz/resource-validator v0.34.0
kubedb.dev/installer v0.17.2-0.20260516084925-39a48b5f7aa4
kubevault.dev/installer v0.4.0-beta.0.0.20260228173104-0e17739f4c4b
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -851,8 +851,8 @@ kmodules.xyz/go-containerregistry v0.0.15 h1:PRY5FDOzb6u23KOulQ4SWNdeUkBKmezLyJX
kmodules.xyz/go-containerregistry v0.0.15/go.mod h1:rO0DEbYYEu1BfVcZ1pXV+3RgzVXr/k5hXcO+BQYVVDI=
kmodules.xyz/offshoot-api v0.34.0 h1:HnOOp8FrCjTWjtNApRDo6Ahe79tOlLrJmyye4xxO4Kk=
kmodules.xyz/offshoot-api v0.34.0/go.mod h1:F+B59yYw4CZJ4uD4xu6C+mMLzIXUtuH7E+SbDICl9jE=
kmodules.xyz/resource-metadata v0.47.0 h1:lBZrF+akK7xnwVtV5185W5HyhhFBx07ln4IzwzebFAI=
kmodules.xyz/resource-metadata v0.47.0/go.mod h1:ejz7IVjhqmj6VH8CVfprocJK/IM++OeunrfUp51ZrIw=
kmodules.xyz/resource-metadata v0.48.0 h1:DsOQ/YWVQiK1DHHKvzB5mU5aZI0Nyu6tN+Yl9NyRspg=
kmodules.xyz/resource-metadata v0.48.0/go.mod h1:ejz7IVjhqmj6VH8CVfprocJK/IM++OeunrfUp51ZrIw=
kmodules.xyz/resource-metrics v0.34.0 h1:cqscgTx3PONxHj6PIySK3sTlKKv8iKTGzRd+S6YSwXg=
kmodules.xyz/resource-metrics v0.34.0/go.mod h1:R34IKtp5+NqcQz7AQJheBJK6Iem0LqrCbm/55Mn+ECQ=
kmodules.xyz/resource-validator v0.34.0 h1:n47FJ99HtvB/0SZpbltCDfwCP2tVmksWhI6ThWZt24o=
Expand Down
3 changes: 2 additions & 1 deletion logger.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,8 @@ func (l *Logger) Log(err error) {
return
}
if l.count == 0 {
table := tablewriter.NewTable(l.w,
table := tablewriter.NewTable(
l.w,
tablewriter.WithRendition(tw.Rendition{Settings: tw.Settings{Separators: tw.Separators{BetweenRows: tw.On}}}),
tablewriter.WithHeaderAutoFormat(tw.Fail),
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,8 @@ func Resource(resource string) schema.GroupResource {

// Adds the list of known types to api.Scheme.
func addKnownTypes(scheme *runtime.Scheme) error {
scheme.AddKnownTypes(SchemeGroupVersion,
scheme.AddKnownTypes(
SchemeGroupVersion,
&ChartPresetQuery{},
&ClusterProfile{},
&ClusterProfileList{},
Expand Down Expand Up @@ -82,7 +83,8 @@ func addKnownTypes(scheme *runtime.Scheme) error {
&RenderDashboard{},
)

scheme.AddKnownTypes(SchemeGroupVersion,
scheme.AddKnownTypes(
SchemeGroupVersion,
&metav1.Status{},
)
metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,8 @@ func Resource(resource string) schema.GroupResource {

// Adds the list of known types to api.Scheme.
func addKnownTypes(scheme *runtime.Scheme) error {
scheme.AddKnownTypes(SchemeGroupVersion,
scheme.AddKnownTypes(
SchemeGroupVersion,
&ClusterProfile{},
&ClusterProfileList{},
&Feature{},
Expand All @@ -63,7 +64,8 @@ func addKnownTypes(scheme *runtime.Scheme) error {
&ResourceOutlineFilterList{},
)

scheme.AddKnownTypes(SchemeGroupVersion,
scheme.AddKnownTypes(
SchemeGroupVersion,
&metav1.Status{},
)
metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,29 @@ spec:
version: v1
validation:
openAPIV3Schema:
description: "PlacementPolicy represents a set of pods with consistent identities.
Identities are defined as: - Network: A single stable DNS and hostname. -
Storage: As many VolumeClaims as requested. \n The PlacementPolicy guarantees
that a given network identity will always map to the same storage identity."
description: |-
PlacementPolicy represents a set of pods with consistent identities.
Identities are defined as:
- Network: A single stable DNS and hostname.
- Storage: As many VolumeClaims as requested.

The PlacementPolicy guarantees that a given network identity will always
map to the same storage identity.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
properties:
Expand Down Expand Up @@ -99,6 +108,172 @@ spec:
type: object
type: array
type: object
clusterSpreadConstraint:
description: ClusterSpreadConstraint provides spec for distributed pod
placements
properties:
distributionRules:
items:
properties:
clusterName:
type: string
monitoring:
properties:
prometheus:
properties:
appBindingRef:
description: ObjectReference contains enough information
to let you inspect or modify the referred object.
properties:
name:
description: |-
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
namespace:
description: |-
Namespace of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
type: string
required:
- name
type: object
authSecret:
description: |-
Secret is the name of the secret to create in the AppBinding's
namespace that will hold the credentials associated with the AppBinding.
properties:
name:
description: |-
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
namespace:
description: |-
Namespace of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
type: string
required:
- name
type: object
caBundle:
description: CABundle is a PEM encoded CA bundle which
will be used to validate the serving certificate
of this app.
format: byte
type: string
insecureSkipTLSVerify:
description: |-
InsecureSkipTLSVerify disables TLS certificate verification when communicating with this app.
This is strongly discouraged. You should use the CABundle instead.
type: boolean
serverName:
description: |-
ServerName is used to verify the hostname on the returned
certificates unless InsecureSkipVerify is given. It is also included
in the client's handshake to support virtual hosting unless it is
an IP address.
type: string
tlsSecret:
description: |-
TLSSecret is the name of the secret that will hold
the client certificate and private key associated with the AppBinding.
properties:
name:
description: |-
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
namespace:
description: |-
Namespace of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
type: string
required:
- name
type: object
url:
description: |-
`url` gives the location of the app, in standard URL form
(`[scheme://]host:port/path`). Exactly one of `url` or `service`
must be specified.
type: string
type: object
type: object
replicaIndices:
items:
format: int32
type: integer
type: array
role:
description: |-
Role describes how this data center participates in DC/DR failover.
Member: data bearing and primary eligible (a candidate for the primary DC).
Arbiter: votes only, holds no data, never primary.
Witness: data bearing but never primary (for engines like MongoDB whose
witness must carry data to satisfy majority writes, yet must not be elected).
Defaults to Member when empty.
enum:
- Member
- Arbiter
- Witness
type: string
storageClassName:
type: string
required:
- clusterName
- replicaIndices
type: object
type: array
failoverPolicy:
description: |-
FailoverPolicy, when set, marks this as a cross data center (DC/DR) deployment
and selects how the common DC failover service drives failover for it.
When nil, the placement is not managed for DC/DR.
properties:
mode:
description: |-
Mode is the DC topology. It can be derived from the per rule roles
(two Members plus an Arbiter or Witness is TwoDC, three Members is ThreeDC);
when set it is validated against the roles.
enum:
- TwoDC
- ThreeDC
type: string
trigger:
description: Trigger selects which primary DC Lease this workload
follows.
properties:
group:
description: Group is required when Scope is Group; it names
the primary-dc-<group> Lease.
type: string
scope:
description: Scope is Global or Group.
enum:
- Global
- Group
type: string
required:
- scope
type: object
required:
- trigger
type: object
slice:
properties:
projectNamespace:
type: string
sliceName:
type: string
required:
- projectNamespace
- sliceName
type: object
required:
- distributionRules
- slice
type: object
nodeSpreadConstraint:
properties:
maxSkew:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
apiVersion: meta.k8s.appscode.com/v1alpha1
kind: ResourceDescriptor
metadata:
labels:
k8s.io/group: catalog.appscode.com
k8s.io/kind: AerospikeBinding
k8s.io/resource: aerospikebindings
k8s.io/version: v1alpha1
name: catalog.appscode.com-v1alpha1-aerospikebindings
spec:
resource:
group: catalog.appscode.com
kind: AerospikeBinding
name: aerospikebindings
scope: Namespaced
version: v1alpha1
validation:
openAPIV3Schema:
description: AerospikeBinding is the Schema for the aerospikebindings API
properties:
apiVersion:
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
properties:
name:
description: 'Name must be unique within a namespace. Is required when
creating resources, although some resources may allow a client to
request the generation of an appropriate name automatically. Name
is primarily intended for creation idempotence and configuration definition.
Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
type: string
namespace:
description: "Namespace defines the space within which each name must
be unique. An empty namespace is equivalent to the \"default\" namespace,
but \"default\" is the canonical representation. Not all objects are
required to be scoped to a namespace - the value of this field for
those objects will be empty. \n Must be a DNS_LABEL. Cannot be updated.
More info: http://kubernetes.io/docs/user-guide/namespaces"
type: string
labels:
additionalProperties:
type: string
description: 'Map of string keys and values that can be used to organize
and categorize (scope and select) objects. May match selectors of
replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels'
type: object
annotations:
additionalProperties:
type: string
description: 'Annotations is an unstructured key value map stored with
a resource that may be set by external tools to store and retrieve
arbitrary metadata. They are not queryable and should be preserved
when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
type: object
type: object
spec:
description: BindingSpec defines the desired state of Binding
properties:
sourceRef:
description: SourceRef refers to the source app instance.
properties:
name:
description: |-
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
namespace:
description: |-
Namespace of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
type: string
required:
- name
type: object
uiExposure:
description: UIExposure holds the specification of UI exposer
properties:
disableCostEfficiency:
type: boolean
disableUI:
type: boolean
required:
- disableCostEfficiency
- disableUI
type: object
required:
- sourceRef
type: object
type: object
Loading
Loading