Service Status and Lifecycle
A service is created in Hostly through a deployment. Hostly loads an already packaged Docker image, creates the required Kubernetes resources, and connects the application to its public service domain.
Deployment as a process
The simplified flow is:
Define service configuration
|
v
Load Docker image
|
v
Start service in the cluster
|
v
Make service publicly reachable
|
v
Run health checkThe configuration includes, among other things:
- image and image tag
- service domain fragment
- internal container port
- environment variables
- secrets
- files
- SSL/TLS
- high availability
- optional volume
New deployment
A new deployment replaces the previous service version. The old version does not remain available as a directly selectable revision.
There is currently no automatic rollback. To return to an earlier version, the previous image or image tag must be deployed again.
Status
Status matrix
| Question | Running | Stopped | Paused |
|---|---|---|---|
| Is the service reachable? | Yes, if health check and application work. | No | No |
| Is the container process running? | Yes | No | No |
| Are compute and RAM billed? | Yes | No | No |
| Is persistent storage billed? | Yes | No; the volume is deleted when stopping. | Yes |
| Does the service domain fragment remain reserved? | Yes | Yes | Yes |
| Are logs retained? | Yes | No | Yes |
| Does the service start again automatically? | It is restarted automatically after a failure. | No | Only after a system-side Free Tier pause, once resources are available again. |
| Can the user start it manually? | No, because the service is already running. | Yes | Yes |
Running
The container process is active. Resource usage is measured normally: in the Free Tier, compute and actually used RAM; in the Paid Tier, additionally reserved persistent storage and egress traffic.
Hostly automatically restarts the service after a failure. This alone does not guarantee public reachability; health check, port configuration, and the application are also relevant.
Paused
When pausing, Hostly temporarily terminates the container process.
The following are retained:
- service configuration
- secrets and environment variables
- service domain fragment
- logs
- existing volume
Compute, RAM, and egress traffic are not billed during the pause. The persistent volume remains and continues to be billed based on its reserved size.
A user can manually start a paused service. If the service was automatically paused because of a Free Tier limit, Hostly starts it after the limit reset, provided enough resources are available again.
Stopped
When stopping, the container process no longer runs. Compute and RAM are not billed.
The following are removed:
- previous logs
- ephemeral data
- an existing volume and its data
The service configuration and the reservation of the service domain fragment are retained. The service can later be started manually under the same service domain.
Restart
When restarting, the same container is restarted.
| Component | Behavior |
|---|---|
| Ephemeral data | Lost |
| Logs | Lost |
| Persistent storage | Retained |
| Environment variables | Retained |
| Secrets | Retained |
| Docker image | Downloaded again. |
During restart, the service is briefly unreachable until the container has started correctly again.
Modify service
A change uses the current service configuration as its starting point. Adjusted values then take effect through a new deployment.
Hostly stops the previous service version and provides the service again with the changed configuration. The hosted service may be briefly unreachable during this time.
All initial configuration parameters can be changed, including:
- image
- service domain fragment
- port
- environment variables
- secrets
- mounted files
- persistent volumes
- SSL
- high availability
There is currently no automatic rollback. To return to an earlier configuration, the service must be changed back.
Delete
Deletion is final and must be confirmed. Warning: even Hostly administrators cannot restore the service after deletion has been confirmed and started.
The following are deleted:
- service and runtime resources
- logs
- secrets
- volume and its data
- reservation of the service domain fragment
The domain fragment is released immediately.
Billing is calculated exactly up to the time of deletion. After that, no further costs are incurred for the service, such as reserved persistent storage.
Logs in the lifecycle
Hostly shows stdout and stderr.
When the service details page is opened, the last 50 lines are provided. New lines are then streamed directly to the web client.
| Action or state | Are previous logs retained? |
|---|---|
| Running | Yes |
| Pause | Yes |
| Restart | No |
| Stop | No |
| Delete | No |
Logs currently cannot be searched, filtered, or downloaded.
Environment variables and secrets
Values cannot be changed directly at runtime. A change requires a new deployment.
Environment variables are currently not visible on the normal dashboard page. Secret values are visible only within the service configuration.
Hostly stores secrets encrypted in a secret store and injects them as Kubernetes secrets according to the service configuration.
Empty values are not allowed. Additional naming rules or reserved variable names are currently not documented.
