Templates
How are template submissions compensated?
Template compensations are bounty based.
Can a template expose an application to the internet?
Yes. If you set expose: true for a port in your template, the application will be accessible externally.
Example:
ports:
- containerPort: 8888
protocol: TCP
expose: true
This means users can access the application via a generated URL after deployment.
Only one service per template can be exposed externally.
How can I allow users to provide input values in my template?
You can use placeholders ({{.ENV}})
in your template to allow users to provide values during deployment.
Example:
env:
- name: APP_ENV
value: "{{.ENV}}"
When a user deploys this template, they will be prompted to provide a value for APP_ENV.
Use this approach for any configuration that varies per deployment such as:
- API keys
- Wallet addresses
- Database credentials
What resources can I define in my template?
You can specify CPU and memory allocations under resourceUsage
.
Example:
resourceUsage:
idle:
cpu: 200 # 0.2 CPU cores
memory: 400 # 400MB RAM
This defines the minimum required resources when the application is idle.
Are there template upgrade constraints?
Yes, upgrades don't include:
- Adding new services
- Modifying resource allocations for existing services
Such amendments require resubmission of a template as a new entitiy.
Can users modify my template after deploying it?
No, users can't modify the template itself after deployment. However, they can provide values for placeholders ({{.ENV}})
during deployment.
How do I price my template?
The pricing is linked to resource usage (CPU & memory). You can define minimum resource requirements in your template, which will determine the cost.
What happens if my template uses a private Docker image?
Your template must use a public Docker image. Private images cannot be pulled by users. If you are using the Private Docker Images you should provide us with the credentials to access those images.
What happens if my template does not specify a public port?
If expose: false
or no port is defined, the application will run internally but will not be accessible from the internet. This is useful for background services.
Can I specify default environment variables in my template?
Yes, you can define both static and user-provided environment variables.
Example:
env:
- name: STATIC_ENV
value: "fixed_value"
- name: DYNAMIC_ENV
value: "{{.USER_INPUT}}"
- STATIC_ENV has a fixed value
- DYNAMIC_ENV will be set by the user during deployment
What happens if a user provides invalid values for placeholders?
The system will validate user inputs before deployment. If a required value is missing or invalid, the user will be asked to correct it.
Can I provide documentation with my template?
Yes! It's recommended to include a README or metadata explaining:
- What the template does
- Required user inputs
- Expected behavior after deployment
This improves usability for those deploying your template.
How can I test my template before publishing it?
Before publishing your template, you should deploy and test it in the Marketplace to ensure:
- It runs correctly without errors
- Placeholder variables
({{.ENV}})
are correctly substituted during deployment - Resource constraints (CPU, memory) are within allowed limits and function as expected
Additionally, a playground for contributors will soon be available, allowing you to conduct thorough testing before publishing your template. This feature will help you validate your template in a controlled environment before making it publicly available. 🚀
What should I do if my template fails to deploy?
- Check if the Docker image is publicly accessible
- Verify placeholder variables
({{.ENV}})
are correctly defined - Ensure resource constraints (CPU, memory) are within allowed limits
If issues persist, review logs or update your template.
Can I remove my template after publishing?
Yes, you can remove or archive your template from the Marketplace if it's no longer needed.