store
store copied to clipboard
Add AsciiWeather to Function Store
Hello everyone,
Happy New Year!
I would like to propose asciiweather
function to be added into the function store.
I think this would be a good sample/demo function for getting started with OpenFaas. The associated github repo can also serve as a reference for converting a Go CLI application into a serverless function.
Here are the function definitions for amd64
and armhf
for the registry.
amd64:
{
"title": "AsciiWeather",
"description": "This is a ported version of the wego weather client as an OpenFaaS serverless function.",
"image": "roncrivera/asciiweather:latest",
"name": "asciiweather",
"fprocess": "xargs ./wego",
"repo_url": "https://github.com/roncrivera/openfaas-asciiweather"
}
armhf:
{
"title": "AsciiWeather",
"description": "This is a ported version of the wego weather client as an OpenFaaS serverless function.",
"image": "roncrivera/asciiweather:armhf",
"name": "asciiweather",
"fprocess": "xargs ./wego",
"repo_url": "https://github.com/roncrivera/openfaas-asciiweather"
}
Here it is in action:
asciiweather fn for @openfaas (arrmv7 at the moment) https://t.co/T7WyoJEs76 #openfaas #isthereaFaaSMonday pic.twitter.com/5tXF7KXQuJ
— roncrivera (@roncrivera) December 30, 2018
Thank you very much for your time.
best regards, ron
Happy New Year @roncrivera !
Thank you for opening this. Is the function written/tested for arm only?
Best, Ivana
There seems to be amd64
available too.
@ivanayov please can you evaluate the submission and give feedback?
@roncrivera if accepted I would like to move the repo into the faas-and-furious org so we can keep it up to date.
Alex
Hello @roncrivera
I really like the look of this. It took a little tracking down as the function definition detail above is different to the actual function definition. For ease for others who might be taking a look the stack.yml
is:
provider:
name: faas
gateway: http://127.0.0.1:8080
functions:
asciiweather:
lang: dockerfile
handler: ./asciiweather
image: riverron/asciiweather:latest
A couple of questions:
What can be done about the spacing across the wind speed lines? It looks like the occurrence of a diagonal arrow might be a factor
What are your thoughts on how this displays in the UI? I understand that this is largely a terminal application but since accessing the Store via the UI is one of the first contacts for new users I think it important that the output makes immediate sense.
BTW, did you build your image with your API key built in? Your image worked for me without any changes.
Is there a way this can be extracted into secrets / env vars?
Hello @rgee0, thanks for the feedback.
To answer your questions:
- Let me try tracking the cause of the misalignment of the wind speed lines. The main source is in Go which I am still in the process of learning so this might take a while; the good thing about it is I now have a reason not to procrastinate. ;-)
- I was mainly testing in the CLI and didn't realise it looked differently in the UI. I wonder if it's just a matter of wrapping the http response inside a
<pre></pre>
tag so they get rendered correctly. Any idea if this is possible? - I've created a shell wrapper that will fetch the API key from the secret object to make it more secure. I've pushed the updated images accordingly. Thanks for catching this.
@alexellis Happy to move the repo to the appropriate location if this gets accepted (hopefully).
Hi @rgee0,
For point 2 above, it seems like the ANSI escape codes for printing the output in color is not being rendered correctly in the browser.
I’ve tested an option (-aat-monochrome=true) to print the output in monochrome and it looks much better.
I am going to rebuild the image with this option as the default for a better experience in the UI.
I will also update the README with instructions to switch it off in the CLI.
If this needs an API key our UI doesn't support adding that yet, so it would unfortunately break.
There is an open issue asking for help to improve the store experience in the UI.
We might have to pause this issue for now - or have you write a short blog about it instead which I can share via @openfaas on Twitter?
Alex
Derek add label: blocked
@alexellis No worries, will put this in the back-burner for now.
A blog about this is a good idea, I'll work on it.
Thanks everyone for all your time reviewing this.
@roncrivera are you proxying the public SaaS service or running your own?