Use this procedure to create a self-signed certificate for an Astronomer Software installation. Self-signed certificates are ideal for privately hosted internal applications, as well as in development and testing environments. Avoid using self-signed certificates in installations where the trust and identity of the certificate issuer are important.Documentation Index
Fetch the complete documentation index at: https://astronomer-preview.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
- openssl. You can install it through Homebrew on MacOs, Windows installer on Windows, or
apt-geton Linux.
Setup
Run the following set of commands, and answer the questions when prompted.-
Run the following command to create a private key:
-
Run the following command to make a password-less second key based on the first key you created:
-
Run the following command to delete the first key:
-
Run the following command to create a certificate signing request using the password-less private key.
You will be asked to provide information to sign the certificate.
Make sure the
Common Namematches your DNS record, for example*.astro.example.com.When openssl asks for a challenge password, press Enter to leave the password empty. Kubernetes does not natively support challenge passwords for certificates stored as Secrets. -
Run the following command to create the certificate from your private key and signing request:
Make sure the Subject Alternative Name matches the required domain and subdomains. To generate a wildcard certificate, both the base domain and the wildcard domain must be included. To generate a limited multi-domain certificate, add individual SAN entries for each subdomain.
server.crt and private key file server.key can now be used in your Astronomer Software installation.
Inspect your self-signed certificate
Run the following command to inspect your self-signed certificate:X509v3 Subject Alternative Name section of the certificate includes your Astronomer base domain (<your-basedomain>) as well as the wildcard domain (*.<your-basedomain>).