Updated README and changed name from sthome-solver to sthome

This commit is contained in:
Chris Stuurman 2024-03-22 11:59:02 +02:00
parent 16090e8482
commit 46cbe85a4d
2 changed files with 66 additions and 5 deletions

View File

@ -23,12 +23,15 @@ helm install sthome-webhook deploy/sthome-webhook
### How to use it ### How to use it
**Note**: It uses the [cert-manager webhook system](https://cert-manager.io/docs/configuration/acme/dns01/webhook/). Everything after the issuer is configured is just cert-manager. You can find out more [their documentation](https://cert-manager.io/docs/usage/). **Note**: It uses the [cert-manager webhook system](https://cert-manager.io/docs/configuration/acme/dns01/webhook/). Everything after the issuer is configured is just cert-manager. You can find out more from [their documentation](https://cert-manager.io/docs/usage/).
Now that the webhook is installed, here is how to use it. Now that the webhook is installed, here is how to use it.
But first, Issuers and ClusterIssuers are Kubernetes resources that represent certificate authorities (CAs) capable of generating signed certificates. An Issuer is limited to a single namespace while a ClusterIssuer can issue certificates for a whole cluster.
Let's say you need a certificate for `radarr.sthome.net` (should be registered in sthome DNS). Let's say you need a certificate for `radarr.sthome.net` (should be registered in sthome DNS).
Create a cert-manager `Issuer`. Create a `issuer.yaml` file with the following content: Create a cert-manager `Issuer`. Create a `sthome-issuer.yaml` file with the following content:
```yaml ```yaml
apiVersion: cert-manager.io/v1 apiVersion: cert-manager.io/v1
kind: Issuer kind: Issuer
@ -36,7 +39,7 @@ metadata:
name: sthome-issuer name: sthome-issuer
spec: spec:
acme: acme:
email: my-user@gmail.com email: my-user@sthome.net
# acme URL # acme URL
server: https://upd.sthome.lan/acme-v02.api server: https://upd.sthome.lan/acme-v02.api
#privateKeySecretRef: #privateKeySecretRef:
@ -50,7 +53,65 @@ spec:
Run: Run:
```bash ```bash
kubectl create -f issuer.yaml kubectl create -f sthome-issuer.yaml
```
Check the status of the Issuer.
```
kubectl describe issuer sthome-issuer
```
Should you need to delete the Issuer, run the following command:
```
kubectl delete issuer sthome-issuer
```
Alternatively, to create a `ClusterIssuer `, create a `sthome-clusterissuer.yaml` file with the following content:
```yaml
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: sthome-clusterissuer
spec:
acme:
# Your ACME server URL.
server: https://upd.sthome.lan/acme-v02.api
# Replace this email address with your own, however currently not used
email: my-user@sthome.net
# Name of a secret used to store the ACME account private key
#privateKeySecretRef:
# name: sthome-acme
solvers:
- dns01:
webhook:
groupName: acme.sthome.net
solverName: sthome
#config:
# usernameSecretKeyRef:
# name: sthome-credentials
# key: username
# passwordSecretKeyRef:
# name: sthome-credentials
# key: password
```
To deploy the Cluster Issuer configuration file, run the following command:
```
kubectl apply -f configuration/sthome-clusterissuer.yaml
```
Check the status of the Cluster Issuer.
```
kubectl describe clusterissuer sthome-clusterissuer
```
Should you need to delete the Cluster Issuer, run the following command:
```
kubectl delete clusterissuer sthome-clusterissuer
``` ```
Create the `Certificate` object for `radarr.sthome.net`. Create a `certificate.yaml` file with the following content: Create the `Certificate` object for `radarr.sthome.net`. Create a `certificate.yaml` file with the following content:

View File

@ -14,7 +14,7 @@ import (
) )
const ( const (
providerName = "sthome-solver" providerName = "sthome"
) )
var GroupName = os.Getenv("GROUP_NAME") var GroupName = os.Getenv("GROUP_NAME")