No internet connection
  1. Home
  2. Support

Look and feel as code

By Joel Armstrong @jrarmstro
    2020-11-17 17:16:47.183Z

    Is there any mechanism to specify the Talkyard look and feel (specifically the custom CSS and JS) through code/configuration?

    For reference, I am deploying Talkyard to AWS through Terraform and Ansible and would like to capture our syntax highlighting configuration as code in my repo.

    I'm comfortable making API calls or redis entries if this is required.

    • 3 replies
    1. Not right now. Other things in addition to JS and CSS — could that be ... play-framework.conf? Maybe the OIDC config? And HTTPS certs? (probably the certs, though, can be automated somewhat soon).

      Actually maybe everything you can change in the Admin Area, it could be nice to have as config-as-code?

      Seems like a good idea — I imagine some day Talkyard would use this itself (for its own SaaS hosting servers).

      If you happen to have a link to some [Terraform or Ansible config / script that it could be good for me to have a look at], it'd be interesting to see

      1. JJoel Armstrong @jrarmstro
          2020-11-18 20:12:17.896Z

          The closer we can get to a hands-off configuration the better, in general. play-framework.conf seems like a reasonable place considering most everything else is configured there.

          I'm not at the liberty to disclose the source code - essentially Talkyard is being hosted on a volume mount independent of the actual backing instance, and we copy configuration at creation time through ansible to the appropriate spots in the directory before starting the application.

          Thanks for the response!

          1. KajMagnus @KajMagnus2020-11-21 12:40:27.362Z2020-11-21 12:46:49.634Z

            play-framework.conf seems like a good idea. It's in HOCON format, which is a superset of JSON, and lets one include other files — so via play-framework.conf one could include one's design configuration in JSON format (or JSON + comments), or point to (via file-system-paths conf vals) to .css and .js files.

            Ansible could place those HOCON (or JSON) files somewhere in /opt/talkyard/ and Talkyard would load them on startup.

            B.t.w. I didn't mean your Ansible config :- )   I had in mind if you knew about any examples you like, on the Internet. But never mind — I've read a bit about Terraform and Ansible now, and also stumbled upon:

            Pulumi, https://www.pulumi.com

            which I had a look at, and their examples (autoscaling Azure VMs for example, via Typescript code :- )), and now I understand better how Terraform and Ansible works.