Skip to content

jerboa88/Internal-Domain-Name-Calculator-for-TrueCharts-Apps

Repository files navigation

Project logo

Project type Language Repository size Project license Project URL

An online tool to find the internal domain name of a TrueCharts app


About

An online tool to find the internal domain name of a TrueCharts app. Enter the name of the app and service you are working with, and the internal domain will be generated.

Based on information from the TrueCharts documentation and the Kubernetes DNS specification.

Note

This is for reference only. If you have access to your TrueNAS system, I would recommend installing and running HeavyScript to get domain names programmatically instead of using this tool. For example, you can run heavyscript dns to get DNS entries for the main services of your apps, or heavyscript -a to get DNS entries for all accessible services.

Installation

  1. Install tools:
    • Node.js and NPM. (see nodejs.org for more details)
    • gulp-cli with npm install --global gulp-cli
  2. Download the source code:
    • Clone the repo with https://github.com/jerboa88/Internal-Domain-Name-Calculator-for-TrueCharts-Apps.git, or
    • Download the repository as a zip file and extract it
  3. Enter the project root with cd Internal-Domain-Name-Calculator-for-TrueCharts-Apps.
  4. Use npm install to install the app and all of its dependencies.
  5. Use npm run build to build the project and copy assets to the dist/ directory.
  6. Serve the project using npm start or use the static HTTP server of your choice. By default, the site can be accessed at localhost:8000.

Usage

Fill out the following fields and the domain name will be updated automatically:

  • Catalog App Name: The name of the app as shown in the TrueCharts catalog. Examples: traefik, plex, etc.

  • Custom App Name: The actual name of the app. Usually, this is the same as the catalog app name, but if you renamed the app when you created it, put its new name here. Otherwise, you can leave this blank. For example, if you have multiple instances of the same app running, they will have different names. Examples: traefik-2, plex-for-family, etc.

  • Service Name: The service name of the app. Some apps have multiple services running on different endpoints. You can leave this blank if you want to find the domain name for the main service. Otherwise, put the service name here. Examples: metrics, redis, etc.

  • Port Number: The port number of the service. If you know the service is running on a specific port, enter it here. Examples: 80, 443, 8080, etc.

Contributing

Contributions, issues, and forks are welcome.

Project Structure

  • This is a single page web app written in HTML, SCSS, and TypeScript
  • Gulp is used to build the project
  • Cypress is used for end-to-end testing.

Commands

  • Run npm run dev for development. This builds the project, starts the web server, and then watches for changes to files in the src/ directory
  • Run npm run build to build the project once
  • Run npm test to run tests with Cypress
  • Run npm start to start the web server

License

This project is licensed under the MIT License. See LICENSE for details.

This project includes various resources which carry their own copyright notices and license terms. See LICENSE-THIRD-PARTY.md for more details.