Mosquitto: 1. Create an access token and store it as a CI secret
This documentation is part of the GitHub Actions & GitLab CI guide. You can view the complete guide here: Launch a real Mosquitto service from your GitHub Actions or GitLab CI pipeline, run your tests against it, and automatically tear it down.
👋 Welcome to the Stackhero documentation!
Stackhero provides you with a fully managed Mosquitto MQTT cloud environment, designed for reliability and flexibility:
- Unlimited message throughput and data transfers, so your workflows never encounter artificial limits.
- Unlimited device authentication via your own external API, making onboarding and access management straightforward.
- Advanced ACLs for precise control over topics, users, and actions.
- A custom domain name with integrated HTTPS for secure, branded endpoints (for example: https://mqtt.your-company.com).
- Effortless updates: apply improvements or security patches with a single click.
- Consistent performance and enhanced security, with every instance running on a private, dedicated infrastructure.
Accelerate your IoT projects and reduce operational overhead. You can have a secure, production-ready Mosquitto MQTT cloud hosting instance up and running in just a few minutes.
To allow the CLI to work non-interactively, you will need an access token (format: usr-xxxxxx:tokenId). You only need to create this token once, then add it to your CI pipeline as a secure, encrypted secret.
- Create the token: In your Stackhero dashboard, click your profile picture at the top right, go to Your account, then Access tokens, and click Create token.
- For GitHub Actions: In your repository, go to Settings > Secrets and variables > Actions > New repository secret, and enter the token as
STACKHERO_TOKEN. - For GitLab CI: In your project, go to Settings > CI/CD > Variables > Add variable, set the key to
STACKHERO_TOKEN, and tick Masked (and Protected if your CI only runs on protected branches).
Never add your access token directly into your pipeline YAML file. If it is present in the YAML, it could be exposed to anyone with repository access and may appear in build logs. Storing it as a CI secret ensures it remains encrypted and masked, keeping your token secure.