Skip to content

Commit

Permalink
add external-dns-app-3.1.0-64455de427808f12004eaba85a4e969c933399c9.tgz
Browse files Browse the repository at this point in the history
external-dns-app-3.1.0-64455de427808f12004eaba85a4e969c933399c9.tgz-meta/README.md
external-dns-app-3.1.0-64455de427808f12004eaba85a4e969c933399c9.tgz-meta/main.yaml
external-dns-app-3.1.0-64455de427808f12004eaba85a4e969c933399c9.tgz-meta/values.schema.json
catalogbot committed Jan 10, 2025

Verified

This commit was signed with the committer’s verified signature.
snyk-bot Snyk bot
1 parent c34089b commit e1631b1
Showing 5 changed files with 549 additions and 1 deletion.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
[![CircleCI](https://dl.circleci.com/status-badge/img/gh/giantswarm/external-dns-app/tree/main.svg?style=svg)](https://dl.circleci.com/status-badge/redirect/gh/giantswarm/external-dns-app/tree/main)

# external-dns-app chart

Helm chart for the [external-dns](https://github.com/kubernetes-sigs/external-dns) service running in Workload
Clusters. This chart is used to deploy both as a default app and as a Managed App.
It can be installed multiple times in the same Workload Cluster.

**What is this App?**

`external-dns` makes Kubernetes resources discoverable via external DNS servers. It dynamically configures external DNS providers ([AWS Route 53](https://aws.amazon.com/route53/), [Azure DNS](https://learn.microsoft.com/en-us/azure/dns/)) for Kubernetes Ingresses, Services etc.

**Why did we add it?**

The App is already used as a default App in most clusters (except on-prem) to provide DNS records for [Ingress NGINX Controller](https://github.com/giantswarm/ingress-nginx-app).

**Who can use it?**

Customers using Giant Swarm clusters on AWS or Azure.

---

## Index
- [Installing](#installing)
- [Configuring](#configuring)
- [Compatibility](#compatibility)
- [Limitations](#limitations)
- [Release Process](#release-process)
- [Contributing & Reporting Bugs](#contributing--reporting-bugs)

## Installing

There are 3 ways to install this app onto a workload cluster:

1. [Using our web interface](https://docs.giantswarm.io/reference/web-interface/app-catalog/)
2. [Using our API](https://docs.giantswarm.io/api/#operation/createClusterAppV5)
3. Directly creating the [App custom resource](https://docs.giantswarm.io/use-the-api/management-api/crd/apps.application.giantswarm.io/) on the Management Cluster

## Configuring

Configuration options are documented in the [README](https://github.com/giantswarm/external-dns-app/blob/main/helm/external-dns-app/README.md)
document. See also the [default `values.yaml`](https://github.com/giantswarm/external-dns-app/blob/main/helm/external-dns-app/values.yaml)

### values.yaml

This is an example of a values file you could upload using our web interface. It assumes:

- The cloud provider is AWS.
- API access is internal and therefore authentication is provided by IRSA.
- Only Ingress resources in the namespace `web-app` should be reconciled.
- Only Hosted Zone `Z262CGXUQ3M97` will be modified.

```yaml
# values.yaml
serviceAccount:
annotations:
eks.amazonaws.com/role-arn: <CLUSTER_ID>-Route53Manager-Role

domainFilters:
- web-app.mydomain.com
namespaced: 'web-app'
annotationFilter: "mydomain.com/external-dns=owned"

txtOwnerId: 'webapp'
sources:
- ingress

provider: aws
extraArgs:
- "--zone-id-filter=Z262CGXUQ3M97"
```
Additionally to the above example, `external-dns` can also be configured to synchronize `DNSEndpoint` custom resources:

```yaml
# values.yaml
...
sources:
- crd
...
```

Here is an example `DNSEndpoint` resource:

```yaml
apiVersion: externaldns.k8s.io/v1alpha1
kind: DNSEndpoint
metadata:
name: my-record
namespace: web-app
annotations:
mydomain.com/external-dns: owned
spec:
endpoints:
- dnsName: www.mydomain.com
recordTTL: 60
recordType: A
targets:
- 1.2.3.4
```

See our [full reference page on how to configure applications](https://docs.giantswarm.io/reference/app-configuration/) for more details.

## Upgrade to v3

Starting from this version, `external-dns-app` includes significant changes that may affect its functionality if not configured properly. For the full list of modifications, we strongly recommend referring to the [Upgrade guide](https://github.com/giantswarm/external-dns-app/blob/main/docs/upgrading.md).

## Release Process

* Ensure CHANGELOG.md is up to date.
* Create a new branch to trigger the release workflow e.g. to release `v0.1.0`,
create a branch from main called `main#release#v0.1.0` and push it.
* This will push a new git tag and trigger a new tarball to be pushed to the
`default-catalog` and the `giantswarm-catalog`

## Contributing & Reporting Bugs
If you have suggestions for how `external-dns` could be improved, or want to report a bug, open an issue! We'd love all and any contributions.

Check out the [Contributing Guide](CONTRIBUTING.md) for details on the contribution workflow, submitting patches, and reporting bugs.

[app-operator]: https://github.com/giantswarm/app-operator
[default-catalog]: https://github.com/giantswarm/default-catalog
[default-test-catalog]: https://github.com/giantswarm/default-test-catalog
[external-dns]: https://github.com/kubernetes-incubator/external-dns
[giantswarm-catalog]: https://github.com/giantswarm/giantswarm-catalog
[giantswarm-test-catalog]: https://github.com/giantswarm/giantswarm-test-catalog
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
annotations:
application.giantswarm.io/metadata: https://giantswarm.github.io/default-test-catalog/external-dns-app-3.1.0-64455de427808f12004eaba85a4e969c933399c9.tgz-meta/main.yaml
application.giantswarm.io/readme: https://giantswarm.github.io/default-test-catalog/external-dns-app-3.1.0-64455de427808f12004eaba85a4e969c933399c9.tgz-meta/README.md
application.giantswarm.io/team: team-cabbage
application.giantswarm.io/values-schema: https://giantswarm.github.io/default-test-catalog/external-dns-app-3.1.0-64455de427808f12004eaba85a4e969c933399c9.tgz-meta/values.schema.json
chartApiVersion: v2
chartFile: external-dns-app-3.1.0-64455de427808f12004eaba85a4e969c933399c9.tgz
dateCreated: '2025-01-10T14:15:03.841231Z'
digest: 76a6b3afa253b241b6049ff3c2db0bd5165fddcd74755dc6adcfdccefe6b1e1d
home: https://github.com/giantswarm/external-dns-app
icon: https://s.giantswarm.io/app-icons/external-dns/1/dark.png
Loading

0 comments on commit e1631b1

Please sign in to comment.