Skip to content

Commit

Permalink
feat(helm): init helm chart
Browse files Browse the repository at this point in the history
Signed-off-by: PINCHON Benjamin <[email protected]>
  • Loading branch information
mydoomfr committed Oct 28, 2024
1 parent b077bfa commit 630dfda
Show file tree
Hide file tree
Showing 14 changed files with 977 additions and 0 deletions.
26 changes: 26 additions & 0 deletions charts/powerdns-operator/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/

# CRD Readme.md
templates/crds/README.md
36 changes: 36 additions & 0 deletions charts/powerdns-operator/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
apiVersion: v2
name: powerdns-operator
description: Manage PowerDNS resources with Kubernetes
type: application
version: 0.1.0
appVersion: 0.1.0
kubeVersion: '>= 1.21.0-0'
keywords:
- powerdns-operator
- powerdns
- dns
home: https://orange-opensource.github.io/PowerDNS-Operator
icon: https://github.com/Orange-OpenSource/PowerDNS-Operator/blob/main/docs/assets/favicon.png?raw=true
maintainers:
- name: antrema
- name: mydoomfr
sources:
- https://github.com/Orange-OpenSource/PowerDNS-Operator
annotations:
artifacthub.io/crds: |
- kind: Zone
version: v1alpha1
name: zone.dns.cav.enablers.ob
displayName: Zone
description: |
A Zone is a collection of records that are managed together. Zones can
be used to represent a domain, a subdomain, or a set of records that are
managed together.
- kind: RRset
version: v1alpha1
name: rrset.dns.cav.enablers.ob
displayName: RRset
description: |
An RRset is a collection of records that share the same name and type.
RRsets can be used to represent a collection of records that are managed
together.
5 changes: 5 additions & 0 deletions charts/powerdns-operator/crds/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# CRD Template Directory

CRDs are autogenerated during helm packaging. To install the CRDs set `installCRDS: true` during helm install or upgrade.

The latest CRDs in the repository are located [here](../../../../config/crd/bases).
96 changes: 96 additions & 0 deletions charts/powerdns-operator/crds/dns.cav.enablers.ob_rrsets.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.2
name: rrsets.dns.cav.enablers.ob
spec:
group: dns.cav.enablers.ob
names:
kind: RRset
listKind: RRsetList
plural: rrsets
singular: rrset
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .spec.zoneRef.name
name: Zone
type: string
- jsonPath: .spec.type
name: Type
type: string
- jsonPath: .spec.ttl
name: TTL
type: integer
- jsonPath: .spec.records
name: Records
type: string
name: v1alpha1
schema:
openAPIV3Schema:
description: RRset is the Schema for the rrsets 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: RRsetSpec defines the desired state of RRset
properties:
comment:
description: Comment on RRSet.
type: string
records:
description: All records in this Resource Record Set.
items:
type: string
type: array
ttl:
description: DNS TTL of the records, in seconds.
format: int32
type: integer
type:
description: Type of the record (e.g. "A", "PTR", "MX").
type: string
zoneRef:
description: ZoneRef reference the zone the RRSet depends on.
properties:
name:
description: Name of the zone.
type: string
required:
- name
type: object
required:
- records
- ttl
- type
- zoneRef
type: object
status:
description: RRsetStatus defines the observed state of RRset
properties:
lastUpdateTime:
format: date-time
type: string
type: object
type: object
served: true
storage: true
subresources:
status: {}
115 changes: 115 additions & 0 deletions charts/powerdns-operator/crds/dns.cav.enablers.ob_zones.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.2
name: zones.dns.cav.enablers.ob
spec:
group: dns.cav.enablers.ob
names:
kind: Zone
listKind: ZoneList
plural: zones
singular: zone
scope: Cluster
versions:
- additionalPrinterColumns:
- jsonPath: .status.serial
name: Serial
type: integer
- jsonPath: .status.id
name: ID
type: string
name: v1alpha1
schema:
openAPIV3Schema:
description: Zone is the Schema for the zones 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: ZoneSpec defines the desired state of Zone
properties:
catalog:
description: The catalog this zone is a member of
type: string
kind:
description: Kind of the zone, one of "Native", "Master", "Slave",
"Producer", "Consumer".
enum:
- Native
- Master
- Slave
- Producer
- Consumer
type: string
nameservers:
description: List of the nameservers of the zone.
items:
pattern: ^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$
type: string
minItems: 1
type: array
required:
- kind
- nameservers
type: object
status:
description: ZoneStatus defines the observed state of Zone
properties:
catalog:
description: The catalog this zone is a member of.
type: string
dnssec:
description: Whether or not this zone is DNSSEC signed.
type: boolean
edited_serial:
description: The SOA serial as seen in query responses.
format: int32
type: integer
id:
description: ID define the opaque zone id.
type: string
kind:
description: Kind of the zone, one of "Native", "Master", "Slave",
"Producer", "Consumer".
type: string
masters:
description: List of IP addresses configured as a master for this
zone ("Slave" type zones only).
items:
type: string
type: array
name:
description: Name of the zone (e.g. "example.com.")
type: string
notified_serial:
description: The SOA serial notifications have been sent out for
format: int32
type: integer
serial:
description: The SOA serial number.
format: int32
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}
4 changes: 4 additions & 0 deletions charts/powerdns-operator/templates/NOTES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
The powerdns operator has been deployed successfully in namespace {{ .Release.Namespace }}!

More information on the different resources and how to configure them
can be found in our Github: {{ .Chart.Home }}
Loading

0 comments on commit 630dfda

Please sign in to comment.