Appearance
Service
Service enables you to define services of yours, such as a web application, a database or a cache server, run them in an environment. There are different kind of services in the Yelken:
- Application: A web application managed by the Yelken. An example app is WordPress.
- Custom: Enables you to run containerized workloads with images stored in an internet accessible public or private container registries.
INFO
Yelken currently does not have a CI/CD pipeline and no builtin container registry. You need to have your images stored on a container registry to use it.
It is planned to remove this requirement by first introducing a container registry and then a CI/CD pipeline.
An upcoming feature about service resource is that you can sync configuration of a service in one environment to another environment. This allows testing changes in development environment and then pushing them to production without forgetting the applied changes.
To view services that belong to an environment:
- Open a project by choosing it in Projects page,
- Use Services link accessible inside the sidebar located at left.
- Additionally, change selected Environment displayed at the top bar to view services in different environment.
TIP
Services page is opened by default when you open a project and first environment will be selected.
Creating Service
To create a new service, navigate to Services page and use the Create Service button. Then you need to provide a few information:
Name: specify a name for your service. You can change it later under the Service Settings page.
Environment: choose the environment you want to run your service in.
Service Template: decide whether you want to create
Web ApplicationorCustomservice. You can choose creating a managed web application or a custom service to run your own containerized workload.Service Plan: choose an appropriate plan according to your needs.
Web Application (for
Web Applicationservice): choose a web app from multiple available Applications.Custom Service (for
Customservice):5.1 Image: specify your container image you want to run. For images stored on Docker Hub, you can simply specify image name and tag, such as
nginx:stable. For images stored on other registries, you need to specify full URL of the image. If your image is stored inside a private container registry, you first need to define credentials for that registry. For more information, please read Private Container Registry's documentation.5.2 Variables (optional): you can define variables that will be passed as environment variable at runtime to your container. For more information, please read Variables & Secrets.
5.3 Secrets (optional): you can define secrets that will be passed as environment variable at runtime to your container. For more information, please read Variables & Secrets.
5.4 Volumes (optional): you can create new volumes and mount them at runtime into your container.
Cloning Service
It is possible to clone a service from one environment to another environment. This enables you to seamlessly start running your services in another environment.
To clone a service, navigate to Services page, for the service you want to clone, open the context button shown as three vertical dots to open context menu and select Clone button. Then you need to provide a few information:
- Environment: choose the target environment you want to clone your service into,
- Plan: choose an appropriate plan according to your needs.
After providing required information, use the Clone button to start cloning. Yelken will clone all configurations of your service, including any volume attached to it, and create in the specified environment.
Service States
A service has a state that enables tracking its current status. It can be in one of these states:
- Creating: A service starts its life in this state and indicates that resources are being allocated and it is being initialized.
- Running: Indicates that containers of the service is running.
- Restarting: Service is being restarted.
- Updating: Service is being updated as a result of an applied change.
- Terminating: Service's containers are being terminated.
- Completed: Service's containers are terminated.
- Deleting: Service is being deleted as a result of user request.
- Error: A service can result in error due to one of these reasons:
- Failed Pulling Image: Yelken has failed to pull the image for the container. This could be due to a non existing image or insufficient permission. You may want to check the credentials of container registry if you use one.
- Crashing: Container is crashing in a loop. You may want to check the service logs to inspect the issue.
- Error: An unknown error has occured.
Service Details
Inside the Services page, you can use View Service button of a service to view its details. Service details are divided into different subpages in which you can configure different aspect of a service. These subpages are:
- Runtime to configure runtime settings,
- Variables & Secrets to configure variables and secrets,
- Actions to run actions on the service.
- Networking to configure network settings of a service,
- Observability for understanding the runtime behavior of your services.
- Settings to update name and plan of a service.
Plans
Inside the Settings page, you can change the plan of a service according to your needs. As an example, you can choose a plan with a low cost for development environments and use a plan that gives higher compute power in production for your services.
While custom services allow you to change their plan, application services only allow upgrading the plan and disallow downgrading. This is due to the fact that size of volume provided with application services cannot be shrunk. However, it is planned to alleviate this limitation in the future.
For more information about plans, please check Pricing documentation.
Deleting Service
Inside the Settings page, under the Danger Zone section, you can use Delete Service button to delete your service. It will require a confirmation from you by asking you to enter the name of service and its key.
⚠️ Please be careful
All resources belonging to the service will be deleted immediately once you confirm the deletion. There is no going back after confirming the deletion!