diff --git a/charts/headscale/templates/config.yaml b/charts/headscale/templates/config.yaml
new file mode 100644
index 0000000..7c007ba
--- /dev/null
+++ b/charts/headscale/templates/config.yaml
@@ -0,0 +1,302 @@
+apiVersion: dodo.cloud.dodo.cloud/v1
+kind: ResourceRenderer
+metadata:
+  name: config-renderer
+  namespace: {{ .Release.Namespace }}
+spec:
+  secretName: {{ .Values.oauth2.secretName }}
+  resourceTemplate: |
+    apiVersion: v1
+    kind: ConfigMap
+    metadata:
+      name: config
+      namespace: {{ .Release.Namespace }}
+    data:
+      config.yaml: |
+        # headscale will look for a configuration file named `config.yaml` (or `config.json`) in the following order:
+        #
+        # - `/etc/headscale`
+        # - `~/.headscale`
+        # - current working directory
+
+        # The url clients will connect to.
+        # Typically this will be a domain like:
+        #
+        # https://myheadscale.example.com:443
+        #
+        server_url: https://{{ .Values.domain }}
+
+        # Address to listen to / bind to on the server
+        #
+        # For production:
+        listen_addr: 0.0.0.0:8080
+        # listen_addr: 127.0.0.1:8080
+
+        # Address to listen to /metrics, you may want
+        # to keep this endpoint private to your internal
+        # network
+        #
+        metrics_listen_addr: 0.0.0.0:9090
+        # metrics_listen_addr: 127.0.0.1:9090
+
+        # Address to listen for gRPC.
+        # gRPC is used for controlling a headscale server
+        # remotely with the CLI
+        # Note: Remote access _only_ works if you have
+        # valid certificates.
+        #
+        # For production:
+        grpc_listen_addr: 0.0.0.0:50443
+        # grpc_listen_addr: 127.0.0.1:50443
+
+        # Allow the gRPC admin interface to run in INSECURE
+        # mode. This is not recommended as the traffic will
+        # be unencrypted. Only enable if you know what you
+        # are doing.
+        grpc_allow_insecure: false
+
+        # Private key used to encrypt the traffic between headscale
+        # and Tailscale clients.
+        # The private key file will be autogenerated if it's missing.
+        #
+        # For production:
+        # /var/lib/headscale/private.key
+        private_key_path: /headscale/data/private.key
+
+        # The Noise section includes specific configuration for the
+        # TS2021 Noise protocol
+        noise:
+          # The Noise private key is used to encrypt the
+          # traffic between headscale and Tailscale clients when
+          # using the new Noise-based protocol. It must be different
+          # from the legacy private key.
+          #
+          # For production:
+          # private_key_path: /var/lib/headscale/noise_private.key
+          private_key_path: /headscale/data/noise_private.key
+
+        # List of IP prefixes to allocate tailaddresses from.
+        # Each prefix consists of either an IPv4 or IPv6 address,
+        # and the associated prefix length, delimited by a slash.
+        ip_prefixes:
+          # - fd7a:115c:a1e0::/48
+          - 100.64.0.0/10
+
+        # DERP is a relay system that Tailscale uses when a direct
+        # connection cannot be established.
+        # https://tailscale.com/blog/how-tailscale-works/#encrypted-tcp-relays-derp
+        #
+        # headscale needs a list of DERP servers that can be presented
+        # to the clients.
+        derp:
+          server:
+            # If enabled, runs the embedded DERP server and merges it into the rest of the DERP config
+            # The Headscale server_url defined above MUST be using https, DERP requires TLS to be in place
+            enabled: false
+
+            # Region ID to use for the embedded DERP server.
+            # The local DERP prevails if the region ID collides with other region ID coming from
+            # the regular DERP config.
+            region_id: 999
+
+            # Region code and name are displayed in the Tailscale UI to identify a DERP region
+            region_code: "headscale"
+            region_name: "Headscale Embedded DERP"
+
+            # Listens over UDP at the configured address for STUN connections - to help with NAT traversal.
+            # When the embedded DERP server is enabled stun_listen_addr MUST be defined.
+            #
+            # For more details on how this works, check this great article: https://tailscale.com/blog/how-tailscale-works/
+            stun_listen_addr: "0.0.0.0:3478"
+
+          # List of externally available DERP maps encoded in JSON
+          urls:
+            - https://controlplane.tailscale.com/derpmap/default
+
+          # Locally available DERP map files encoded in YAML
+          #
+          # This option is mostly interesting for people hosting
+          # their own DERP servers:
+          # https://tailscale.com/kb/1118/custom-derp-servers/
+          #
+          # paths:
+          #   - /etc/headscale/derp-example.yaml
+          paths: []
+
+          # If enabled, a worker will be set up to periodically
+          # refresh the given sources and update the derpmap
+          # will be set up.
+          auto_update_enabled: true
+
+          # How often should we check for DERP updates?
+          update_frequency: 24h
+
+        # Disables the automatic check for headscale updates on startup
+        disable_check_updates: true
+
+        # Time before an inactive ephemeral node is deleted?
+        ephemeral_node_inactivity_timeout: 30m
+
+        # Period to check for node updates within the tailnet. A value too low will severely affect
+        # CPU consumption of Headscale. A value too high (over 60s) will cause problems
+        # for the nodes, as they won't get updates or keep alive messages frequently enough.
+        # In case of doubts, do not touch the default 10s.
+        node_update_check_interval: 10s
+
+        # SQLite config
+        db_type: sqlite3
+
+        # For production:
+        # db_path: /var/lib/headscale/db.sqlite
+        db_path: /headscale/data/db.sqlite
+
+        # # Postgres config
+        # If using a Unix socket to connect to Postgres, set the socket path in the 'host' field and leave 'port' blank.
+        # db_type: postgres
+        # db_host: localhost
+        # db_port: 5432
+        # db_name: headscale
+        # db_user: foo
+        # db_pass: bar
+
+        # If other 'sslmode' is required instead of 'require(true)' and 'disabled(false)', set the 'sslmode' you need
+        # in the 'db_ssl' field. Refers to https://www.postgresql.org/docs/current/libpq-ssl.html Table 34.1.
+        # db_ssl: false
+
+        ### TLS configuration
+        #
+        ## Let's encrypt / ACME
+        #
+        # headscale supports automatically requesting and setting up
+        # TLS for a domain with Let's Encrypt.
+        #
+        # URL to ACME directory
+        acme_url: https://acme-v02.api.letsencrypt.org/directory
+
+        # Email to register with ACME provider
+        acme_email: ""
+
+        # Domain name to request a TLS certificate for:
+        tls_letsencrypt_hostname: ""
+
+        # Path to store certificates and metadata needed by
+        # letsencrypt
+        # For production:
+        # tls_letsencrypt_cache_dir: /var/lib/headscale/cache
+        tls_letsencrypt_cache_dir: ./cache
+
+        # Type of ACME challenge to use, currently supported types:
+        # HTTP-01 or TLS-ALPN-01
+        # See [docs/tls.md](docs/tls.md) for more information
+        tls_letsencrypt_challenge_type: HTTP-01
+        # When HTTP-01 challenge is chosen, letsencrypt must set up a
+        # verification endpoint, and it will be listening on:
+        # :http = port 80
+        tls_letsencrypt_listen: ":http"
+
+        ## Use already defined certificates:
+        tls_cert_path: ""
+        tls_key_path: ""
+
+        log:
+          # Output formatting for logs: text or json
+          format: text
+          level: info
+
+        # Path to a file containg ACL policies.
+        # ACLs can be defined as YAML or HUJSON.
+        # https://tailscale.com/kb/1018/acls/
+        acl_policy_path: "/headscale/acls/config.hujson" # TODO(gio): mount path must be configurable
+
+        ## DNS
+        #
+        # headscale supports Tailscale's DNS configuration and MagicDNS.
+        # Please have a look to their KB to better understand the concepts:
+        #
+        # - https://tailscale.com/kb/1054/dns/
+        # - https://tailscale.com/kb/1081/magicdns/
+        # - https://tailscale.com/blog/2021-09-private-dns-with-magicdns/
+        #
+        dns_config:
+          # Whether to prefer using Headscale provided DNS or use local.
+          override_local_dns: true
+
+          # List of DNS servers to expose to clients.
+          nameservers:
+            - 8.8.8.8
+            - 1.1.1.1
+
+          # NextDNS (see https://tailscale.com/kb/1218/nextdns/).
+          # "abc123" is example NextDNS ID, replace with yours.
+          #
+          # With metadata sharing:
+          # nameservers:
+          #   - https://dns.nextdns.io/abc123
+          #
+          # Without metadata sharing:
+          # nameservers:
+          #   - 2a07:a8c0::ab:c123
+          #   - 2a07:a8c1::ab:c123
+
+          # Split DNS (see https://tailscale.com/kb/1054/dns/),
+          # list of search domains and the DNS to query for each one.
+          #
+          # restricted_nameservers:
+          #   foo.bar.com:
+          #     - 1.1.1.1
+          #   darp.headscale.net:
+          #     - 1.1.1.1
+          #     - 8.8.8.8
+
+          # Search domains to inject.
+          domains: []
+
+          # Whether to use [MagicDNS](https://tailscale.com/kb/1081/magicdns/).
+          # Only works if there is at least a nameserver defined.
+          magic_dns: true
+
+          # Defines the base domain to create the hostnames for MagicDNS.
+          # `base_domain` must be a FQDNs, without the trailing dot.
+          # The FQDN of the hosts will be
+          # `hostname.namespace.base_domain` (e.g., _myhost.mynamespace.example.com_).
+          base_domain: {{ .Values.publicBaseDomain }}
+
+        # Unix socket used for the CLI to connect without authentication
+        # Note: for production you will want to set this to something like:
+        # unix_socket: /var/run/headscale.sock
+        unix_socket: /headscale-api/headscale.sock
+        unix_socket_permission: "0770"
+        #
+        # headscale supports experimental OpenID connect support,
+        # it is still being tested and might have some bugs, please
+        # help us test it.
+        # OpenID Connect
+        oidc:
+          only_start_if_oidc_is_available: true
+          issuer: {{ .Values.oauth2.issuer }}
+          client_id: {{`{{ .client_id }}`}}
+          client_secret: {{`{{ .client_secret }}`}}
+          scope: ["openid", "profile", "email"]
+          extra_params:
+            domain_hint: {{ .Values.domain }}
+          allowed_domains:
+            - {{ .Values.publicBaseDomain }}
+          # allowed_groups:
+          #   - /headscale
+          # allowed_users:
+          #   - alice@example.com
+          strip_email_domain: true
+
+        # Logtail configuration
+        # Logtail is Tailscales logging and auditing infrastructure, it allows the control panel
+        # to instruct tailscale nodes to log their activity to a remote server.
+        logtail:
+          # Enable logtail for this headscales clients.
+          # As there is currently no support for overriding the log server in headscale, this is
+          # disabled by default. Enabling this will make your clients send logs to Tailscale Inc.
+          enabled: false
+
+        # Enabling this option makes devices prefer a random port for WireGuard traffic over the
+        # default static port 41641. This option is intended as a workaround for some buggy
+        # firewall devices. See https://tailscale.com/kb/1181/firewalls/ for more information.
+        randomize_client_port: true
