IT Tools: Over 80 Useful Resources for Developers and IT Engineers in One Place

IT Tools: Over 80 Useful Resources for Developers and IT Engineers in One Place

Introduction

Approximately eleven months have passed since I launched my own Kubernetes cluster—more specifically, a three-node K3s cluster with embedded high availability. After installing about fifteen self-hosted apps in the last few months, I began using an open-source homepage to arrange them in a dashboard-like fashion. Trillium Notes is one of the apps I recently installed because I want to store generic K3s notes that apply to all app deployments over specific README.md in each app. I also install other apps that look like they could be helpful. A few days ago, I discovered this IT tool app at selfh.st (although it appears to me more like a script). I told myself I had to install it right away, so I did and would like to share it here.

Deployment

A helm chart for IT tools is available at JeffResc/charts, but as I previously mentioned, it appears more like a script, so I don’t see any use in using it as a helm for customization attributes in values.yaml. In this instance, a vanilla Kubernetes manifest is my preferred deployment.

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: it-tools
  namespace: it-tools
spec:
  replicas: 1
  selector:
    matchLabels:
      app: it-tools
  template:
    metadata:
      labels:
        app: it-tools
    spec:
      containers:
        - name: it-tools
          image: corentinth/it-tools:latest
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 80
          resources:
            requests:
              cpu: 100m
              memory: 128Mi
            limits:
              cpu: 500m
              memory: 512Mi

---
apiVersion: v1
kind: Service
metadata:
  name: it-tools
  namespace: it-tools
spec:
  selector:
    app: it-tools
  ports:
    - port: 80
      targetPort: 80
  type: ClusterIP

---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: it-tools
  namespace: it-tools
  annotations:
    nginx.ingress.kubernetes.io/proxy-body-size: "0"
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
    cert-manager.io/cluster-issuer: letsencrypt-dns

    nginx.ingress.kubernetes.io/hsts: "true"
    nginx.ingress.kubernetes.io/hsts-max-age: "31536000"
    nginx.ingress.kubernetes.io/hsts-include-subdomains: "true"
    nginx.ingress.kubernetes.io/hsts-preload: "true"

    nginx.ingress.kubernetes.io/limit-connections: "20"
    nginx.ingress.kubernetes.io/limit-rps: "10"
    nginx.ingress.kubernetes.io/limit-burst-multiplier: "5"

    nginx.ingress.kubernetes.io/x-frame-options: "DENY"
    nginx.ingress.kubernetes.io/x-content-type-options: "nosniff"
    nginx.ingress.kubernetes.io/referrer-policy: "strict-origin-when-cross-origin"

    nginx.ingress.kubernetes.io/proxy-read-timeout: "300"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "300"

    nginx.ingress.kubernetes.io/auth-type: "basic"
    nginx.ingress.kubernetes.io/auth-secret: "it-tools-basic-auth"
    nginx.ingress.kubernetes.io/auth-realm: "Restricted Access"

spec:
  ingressClassName: nginx
  tls:
    - hosts:
        - itools.example.com
      secretName: it-tools-tls
  rules:
    - host: itools.example.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: it-tools
                port:
                  number: 80

Nginx as Ingress

My cert-manager in K3s is letsencrypt-dns, and the annotations are there to enforce minimum effort security because I host my IT tools publicly. I also added http basic auth because the IT tools don’t have login control.

$ kubectl create namespace it-tools

$ htpasswd -c auth username
$ kubectl create secret generic it-tools-basic-auth   --from-file=auth   -n it-tools
$ kubectl get secret it-tools-basic-auth -n it-tools

$ kubectl apply -f deployment.yaml

Private Local Hosting

To be honest, a lot of these embedded generators, formatters, and decoders are available online and are free to use. But have you ever considered the fact that it is not always 100% safe to cut and paste your JSON snippets into the JSON decoders? Furthermore, how can you be certain that the online server does not maintain a log when you generate bearer tokens and authentication credentials? I have always been cautious when pasting private information online because I work as an IT engineer. Thus, another reason I host IT tools securely on my server is that I don’t have to worry about inadvertently publishing private information on open websites.

Exploring IT Tools

Tool Groups

After entering my username and password for http basic authentication, this app loads immediately. The individual tools are arranged in categories, and the left navigation allows groups to collapse.

Crypto Network
ConverterMath
WebMeasurement
Images & VideosText
DeploymentData
Tools grouped by categories

My Top 10 Practical IT/System Administration Tools

You can use various formatters and generators in addition to the ten practical tools listed below that I believe I will use daily as a site reliability engineer.

  1. Token generator: I utilize token generators for VictoriaMetrics vmauth bearer token authentication.
  2. RSA key pair generator: Most business servers use SSH key pairs instead of usernames and passwords.
  3. Password strength analyzer: When a recently installed app fails to alert you to the strength of your password, use a password strength analyser.
  4. Color converter: When creating a website, quickly select a color in hexadecimal format.
  5. HTTP status code: When an HTTP error occurs during the initial load of a newly deployed web application
  6. QR code generator: Not very useful for IT, but it might contain a URL to open an IT support serviceNow ticket.
  7. Crontab generator: essential tools for all server administrators
  8. Regex tester and cheat sheet: An IT systems administrator will not use a regex tester or cheat sheet very often, but they will always struggle when they need it.
  9. IPv4 subnet calculator: Another helpful tool for network engineers
  10. Text diff: Text difference between the old and new codes, such as the deployed Helm charts in YAML versus the vanilla template

Bonus

  1. Emoji picker: Although not directly related to IT, emoji picker is still noteworthy.
  2. Markdown to HTML: Another tool that isn’t related to IT but converts Markdown to HTML

Conclusion

I installed a number of helpful productivity tools, such as Navidrome, Vaultwarden, and Trillium Notes, but I think IT-Tools stands out because it resembles a handyman’s toolbox or Doraemon’s gadget pocket. It offers a wide range of useful tools for various IT roles rather than just one main use. Additionally, among the more than 80 tools, generators, and formatters, you can “add to favorites” to position the ones you use most often at the top. It is incredibly lightweight and doesn’t require a database or physical data storage space. In conclusion, it is free and requires minimal resources to host privately, making it an ideal addition to any self-hosted stack. IT-Tools offers convenience and versatility in a single, easily navigable interface, whether you’re troubleshooting, formatting data, or creating on-the-fly quick utilities.

Leave a Comment

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *