Using Object Storage
In this section, you’ll use Simple Object Storage (SOS), an Exoscale AWS S3-compatible storage service, to store images used by the VotingApp.
Using images instead of labels
The VotingApp allows dynamic configuration of labels and images. The default configuration is below; it uses string labels for cats and dogs.
# Dynamic configuration
items:
labels:
a: "cats"
b: "dogs"
images:
enabled: false
a: https://sos-ch-gva-2.exo.io/votingapp/items/a.png
b: https://sos-ch-gva-2.exo.io/votingapp/items/b.png
Modify your current values.yaml file, so it allows using images instead of labels.
items:
images:
enabled: true
By default, it uses images available at the following URLs:
Next, upgrade the application.
helm upgrade --install vote oci://registry-1.docker.io/voting/app --version v1.0.36 --namespace vote --create-namespace -f values.yaml
The vote-ui and result-ui web interfaces should now display images as follows:
In the next part, you’ll use your images.
Create a bucket
First, go to the Storage section.
Next, create a bucket.
Next, explore the bucket’s detailed page and select the “Upload Object” action.
Select two images from your local machine.
Change the “content-type” header into “image/png” for each image.
Next, add the PUBLIC_READ ACL to make the images public.
From the image’s detail page, get the public URL and use it in the values.yaml file as follows:
items:
images:
enabled: true
a: https://sos-ch-gva-2.exo.io/votingapp-bucket-tom/argocd.png # Use the URL of your image
b: https://sos-ch-gva-2.exo.io/votingapp-bucket-tom/flux.png # Use the URL of your image
helm upgrade --install vote oci://registry-1.docker.io/voting/app --version v1.0.36 --namespace vote --create-namespace -f values.yaml