Skip to content

Commit

Permalink
Initial Helm chart added
Browse files Browse the repository at this point in the history
  • Loading branch information
snorwin committed Dec 28, 2023
1 parent 9cc443c commit aa4c535
Show file tree
Hide file tree
Showing 16 changed files with 7,380 additions and 1 deletion.
9 changes: 8 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,15 @@ jobs:
cache: false
- uses: actions/checkout@v4
- run: go mod tidy && git diff --exit-code go.mod go.sum
helm:
name: helm-lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: helm lint helm/haproxy-operator/ --strict
- run: helm template chart helm/haproxy-operator > /dev/null
golangci:
name: lint
name: golangci-lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down
10 changes: 10 additions & 0 deletions helm/haproxy-operator/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: v2
name: haprox-operator
version: 1.0.0
appVersion: v1.0.0
description: Install HAProxy Operator
sources:
- https://github.com/six-group/haproxy-operator
maintainers:
- name: snorwin
- name: m-terra
1,610 changes: 1,610 additions & 0 deletions helm/haproxy-operator/crds/config.haproxy.com_backends.yaml

Large diffs are not rendered by default.

1,188 changes: 1,188 additions & 0 deletions helm/haproxy-operator/crds/config.haproxy.com_frontends.yaml

Large diffs are not rendered by default.

1,969 changes: 1,969 additions & 0 deletions helm/haproxy-operator/crds/config.haproxy.com_listens.yaml

Large diffs are not rendered by default.

149 changes: 149 additions & 0 deletions helm/haproxy-operator/crds/config.haproxy.com_resolvers.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.10.0
creationTimestamp: null
name: resolvers.config.haproxy.com
spec:
group: config.haproxy.com
names:
kind: Resolver
listKind: ResolverList
plural: resolvers
singular: resolver
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .spec.mode
name: Mode
type: string
- jsonPath: .status.phase
name: Phase
type: string
name: v1alpha1
schema:
openAPIV3Schema:
description: Resolver is the Schema for the Resolver 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:
type: object
spec:
description: ResolverSpec defines the desired state of Resolver
properties:
acceptedPayloadSize:
description: AcceptedPayloadSize defines the maximum payload size
accepted by HAProxy and announced to all the name servers configured
in this resolver.
format: int64
maximum: 8192
minimum: 512
type: integer
hold:
description: Hold defines the period during which the last name resolution
should be kept based on the last resolution status.
properties:
nx:
description: Nx defines interval between two successive name resolution
when the last answer was nx.
type: string
obsolete:
description: Obsolete defines interval between two successive
name resolution when the last answer was obsolete.
type: string
other:
description: Other defines interval between two successive name
resolution when the last answer was other.
type: string
refused:
description: Refused defines interval between two successive name
resolution when the last answer was nx.
type: string
timeout:
description: Timeout defines interval between two successive name
resolution when the last answer was timeout.
type: string
valid:
description: Valid defines interval between two successive name
resolution when the last answer was valid.
type: string
type: object
nameservers:
description: Nameservers used to configure a nameservers.
items:
properties:
address:
description: Address
pattern: ^[^\s]+$
type: string
name:
description: Name specifies a unique name of the nameserver.
pattern: ^[A-Za-z0-9-_.:]+$
type: string
port:
description: Port
format: int64
maximum: 65535
minimum: 1
type: integer
required:
- address
- name
type: object
type: array
parseResolvConf:
description: ParseResolvConf if true, adds all nameservers found in
/etc/resolv.conf to this resolvers nameservers list.
type: boolean
resolveRetries:
description: 'ResolveRetries defines the number <nb> of queries to
send to resolve a server name before giving up. Default value: 3'
format: int64
minimum: 1
type: integer
timeouts:
description: Timeouts defines timeouts related to name resolution.
properties:
resolve:
description: 'Resolve time to trigger name resolutions when no
other time applied. Default value: 1s'
type: string
retry:
description: 'Retry time between two DNS queries, when no valid
response have been received. Default value: 1s'
type: string
type: object
type: object
status:
description: Status defines the observed state of an object
properties:
error:
description: Error shows the actual error message if Phase is 'Error'.
type: string
observedGeneration:
description: ObservedGeneration the generation observed by the controller.
format: int64
type: integer
phase:
description: Phase is a simple, high-level summary of where the object
is in its lifecycle.
type: string
required:
- phase
type: object
type: object
served: true
storage: true
subresources:
status: {}
Loading

0 comments on commit aa4c535

Please sign in to comment.