Giter VIP home page Giter VIP logo

actions-cloud's Issues

improve GCP project ID validation

when entering a project ID, we should be able to:

  • valid project must be: a-z, 0-9, -
  • min length: 6
  • max length: 30

Also,

  • must NOT contain the google keyword (and probably other reserved keywords) !!
  • we must check for uniqueness by requesting the GCP and checking if the project ID already exists.

(GCP DOESN'T PROVIDE AN API FOR THIS)

Take example from the GCP console.

doc(gcloud) : Setup github and deploy

After cloning the project, the user still needs to perform a few actions that need to be documented.

config --global user.email "[email protected]"
git config --global user.name "Olivier"
git commit
git push origin master
// login to git
git push google master

Add Azure

Add support for the Azure platform:

  • create a project
  • create a cloud git repo
  • fork template from github
  • deploy an Azure function

ressource already exists

take care of the use case when a ressource already exist:

  • when creating a project
  • when creating a cloud repo
  • when creating a cloud function

Bonus:

  • when creating a cloud bucket

doc : Activate cloud storage

See if we can activate it with an API call.
Otherwise, user has to activate it.
We could catch the error and display a documentation to explain how to activate it (and maybe give the direct link)

  1. Visit http://cloud.google.com/console
  2. Select your project
  3. Visit the APIs & Auth tab
  4. Find Google Cloud Storage in the list of services
  5. Turn on Google Cloud Storage

Error when not activated
image

clean session on token expiration

clean up the session stored info when access tokens expired.

github

  • clean up session
    • github.access-token
    • github.operation-steps
    • github.user-info
    • google.access-token
    • google.user-info
    • projectId
  • set ui.selected-carousel to 0

google

  • clean up session
    • google.access-token
    • google.user-info
    • projectId
  • set ui.selected-carousel to 2

Erreur 400 : admin_policy_enforced

Erreur d'autorisation
Erreur 400 : admin_policy_enforced
L'accès aux données de votre compte est limité par des règles au sein de votre organisation. Pour demander à l'administrateur d'accorder l'accès à cette application, cliquez sur le lien "En savoir plus".

Trying to use a project owned by someone else

In the workflow, if the user enters a project id which belongs to someone else it says :

Project created. (PASS)
Checking project availability... [PERMISSION_DENIED]

gcp returns a 409 response for the project creation with message :

{
"message":"Requested entity already exists",
"status":"ALREADY_EXISTS"
}

And then for project availability, a 403 response with message :

{
"message":"User is not authorized.",
"status":"PERMISSION_DENIED"
}

It's not clear as the user may think the project has been created.
I think we should tell the used he is trying to create a project with an id already taken by someone else.

Permissions on "Creating Cloud Repository"

The user has to manually activate the API in the cloud console.
Otherwize, the step failed with 401 not authorized.

We should add a step (or make it a sub-step ^^) to activate the API

Error handeling when no active billing found

TypeError: Cannot read property 'error' of null
    at GcpService.<anonymous> (gcp.service.ts:267)

Can't return operation.error in else as operation is not defined ^^
Maybe we can set our own error message

UI enhancement

Should we remove the bottom section when navigating to #/wizard ?

image

doc : Activate Cloud Source Repositories API

See if we can activate it with an API call.
Otherwise, user has to activate it.
We could catch the error and display a documentation to explain how to activate it (and maybe give the direct link)

Visit http://cloud.google.com/console

  1. Select your project
  2. Visit the APIs & Auth tab
  3. Find Google Cloud Storage in the list of services
  4. Cloud Source Repositories API

Error when not activated
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.