Giter Site home page Giter Site logo

gurum-cli's People

Contributors

kalleeh avatar yasaws avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

gurum-cli's Issues

Fix Login first time - configuration set up.

Login first run does not find the configuration file and creates a dummy file. Running login again exits with an error that the configuration file is invalid. Consider moving configuration wizard from login command to automatically start if configuration file is not found.

gurum init

Acceptance Criteria:

  • Check that the file exists (gurum.yaml)
    If file doesn't exist, create generate a skeleton gurum.yaml.
  • Validate gurum.yaml against schema. (nevermind the edit - someone forgot to check-in the schema + skeleton)

gurum up

Acceptance Criteria:

  • Verify that a gurum.yaml exists in the directory where the command is being run.
  • Validate that it complies with schema.
  • Prompt for PAT token to GitHub to setup CodePipeline, if it's GitHub.
    • Validate the PAT token against GitHub.
  • Loop through the gurum.yaml and orchestrate creation,
    • apps
    • pipelines
    • services

Rename plural commands to singular

When running commands we use the plural variations gureume apps.
It might be best to change these to singular e.g. gureume app as we will be interacting with a single app.

Login - Region Overwritten

If your primary region is not eu-west-1 then it will be overwritten when running the login command.

We will need to ensure the region chosen during setup is used instead.

Setup CI pipeline

Running tests on PR, block if failing.
Automatic versioning.
Create GitHub release when merged to master

Enh: Split configuration file into two, for config and one for tokens

To simplify distribution of the CLI for a particular platform deployment it would be beneficial to be able to have the user pool id, client id, region etc as part of the git repository.
In this way new users could just git clone the CLI project and the log in to the platform with the correct settings.

Admin would need to modify this file before distributing in this organization to the correct cognito and region information.

Access tokens file should still stay in the same path as now, ~/Library/Application Support/gureume/.gureume

storage/handling of GitHub PAT in CLI

  • Don't ask for token if user already specified it.
  • Renew token if it has expired.
  • gurum.yaml skeleton should point to a public repo to enable direct deployment if desired

Add support for service.yaml file

Add support for service.yaml file, example below

service:
  name: my-service
environments:
  - dev
  - test
  - uat
  - approval
  - prod
backing-services:
  dynamodb:
    HashAttributeName:
    HashAttributeType:
    RangeAttributeName:
    RangeAttributeType:
    ReadCapacityUnits:
    WriteCapacityUnits:

Helper script - Cognito user missing email attribute

Using the helper script causes an application deployment error since email is not set, causing the gurum-owner tag to be empty. Update the script to ask for email information. Consider adding the cognito role policy to the api CloudFormation template and create the cognito group attached to the role policy through the helper script.

gureume login - error when trying to login to wrong account

If you run gureume login when you are under a different role on your machine you receive face the following error (not obvious what happened):

gureume login
User: sam
Password:
Logging in sam...
2019-08-05 21:53:31 Found credentials in shared credentials file: ~/.aws/credentials
Getting temporary STS credentials...
An error occurred (ResourceNotFoundException) when calling the GetId operation: IdentityPool 'us-east-1:833ebb77-57f5-4281-aa04-98a7a2996973' not found.
Parameter validation failed:
Invalid length for parameter IdentityId, value: 0, valid range: 1-inf
Traceback (most recent call last):
  File "/Users/samhendr/.virtualenvs/gureume-cli-ZvMZbjE2/bin/gureume", line 11, in <module>
    load_entry_point('gureume-cli', 'console_scripts', 'gureume')()
  File "/Users/samhendr/.virtualenvs/gureume-cli-ZvMZbjE2/lib/python3.7/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/Users/samhendr/.virtualenvs/gureume-cli-ZvMZbjE2/lib/python3.7/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/Users/samhendr/.virtualenvs/gureume-cli-ZvMZbjE2/lib/python3.7/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/samhendr/.virtualenvs/gureume-cli-ZvMZbjE2/lib/python3.7/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/samhendr/.virtualenvs/gureume-cli-ZvMZbjE2/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/Users/samhendr/.virtualenvs/gureume-cli-ZvMZbjE2/lib/python3.7/site-packages/click/decorators.py", line 64, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/Users/samhendr/.virtualenvs/gureume-cli-ZvMZbjE2/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/Users/samhendr/repositories/gureume/gureume-cli/gureumecli/commands/login/__init__.py", line 52, in cli
    do_cli(ctx, user, password)  # pragma: no cover
  File "/Users/samhendr/repositories/gureume/gureume-cli/gureumecli/commands/login/__init__.py", line 170, in do_cli
    ctx._config.set('default', 'aws_access_key_id', credentials['aws_access_key_id'])
KeyError: 'aws_access_key_id'

We need to look into this as we either shouldn't be getting this error or we need to clean it up.

gurum down

Acceptance Criteria:

  • Verify that a gurum.yaml exists in the directory where the command is being run.
  • Validate that it complies with schema.
  • Loop through the gurum.yaml and orchestrate deletion of apps, pipelines, services

Deletion of App throws a 500

This usually takes a couple of minutes...
This call is asynchrounous so feel free to Ctrl+C anytime and it will continue running in background.
|[500] Server Error
Unknown Error:```

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.