Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add AsciiWeather to Function Store #53

Open
roncrivera opened this issue Jan 2, 2019 · 10 comments
Open

Add AsciiWeather to Function Store #53

roncrivera opened this issue Jan 2, 2019 · 10 comments
Labels

Comments

@roncrivera
Copy link

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:

Thank you very much for your time.

best regards,
ron

@ivanayov
Copy link
Contributor

ivanayov commented Jan 2, 2019

Happy New Year @roncrivera !

Thank you for opening this.
Is the function written/tested for arm only?

Best,
Ivana

@alexellis
Copy link
Member

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

@rgee0
Copy link
Contributor

rgee0 commented Jan 2, 2019

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
image

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.

@rgee0
Copy link
Contributor

rgee0 commented Jan 2, 2019

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?

@roncrivera
Copy link
Author

Hello @rgee0, thanks for the feedback.

To answer your questions:

  1. 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. ;-)
  2. 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?
  3. 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).

@roncrivera
Copy link
Author

roncrivera commented Jan 4, 2019

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.

@alexellis
Copy link
Member

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

@alexellis
Copy link
Member

Derek add label: blocked

@derek derek bot added the blocked label Jan 4, 2019
@roncrivera
Copy link
Author

@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.

@alexellis
Copy link
Member

@roncrivera are you proxying the public SaaS service or running your own?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants