Skip to main content

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.

Service limitation

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
tip

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.