Code Monkey home page Code Monkey logo

fume-cli's People

Contributors

acidjazz avatar atinux avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

fume-cli's Issues

ctrl+c and other abort catching

general clean up functionality for when this happens during a deployment

  • swap the config back to normal
  • remove any temporary folders made

v3 detection issue

async checkNitro(): Promise<boolean> {
const pkg = JSON.parse(fs.readFileSync('package.json').toString()) as Record<string, any>
if (pkg.devDependencies && (pkg.devDependencies.nuxt3 || pkg?.devDependencies?.nuxt?.includes('^3'))) return true
return Boolean(pkg.devDependencies && pkg.devDependencies['@nuxt/bridge'])
}

don't just look for ^

docker support

build a micro-service that does the following

  • invoke via an endpoint with environment and deploy id info
  • get STS credentials through an endpoint
  • work in unique directory to not intrude on other tasks
  • run docker-build with title involving project name and environment fume-project-env:latest
  • get docker login via ecr command aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin {ACCOUNT_ID}.dkr.ecr.us-east-1.amazonaws.com
  • tag and push image with docker tag {env-name}:latest {account_id}.dkr.ecr.us-east-1.amazonaws.com and then `docker push {account-id}.dkr.ecr.us-east-1.amazonawes.com/{env-name}:latest

this microservice needs the following dependencies

  • exclusive handshake access to the API with verifiable middleware
  • docker installed
  • ability to set new types of statuses to help report back

show when you have made changes to env-vars but not synced to AWS

Because I'm extremely brain dead at times, I can find it easy to make an environment variable change in fume.app but then fail to sync with AWS. It would be helpful to me if upon change to env-vars, the sync variables button changes color or something, so as to remind me to click sync

feat: add support for golang lambdas running under the provided.al2 runtime

❯ GOOS=linux GOARCH=arm64 go build -tags lambda.norpc -o bootstrap main.go
❯ zip myFunction.zip bootstrap
  adding: bootstrap (deflated 46%)
❯ aws lambda create-function --function-name myFunction \
--runtime provided.al2 --handler bootstrap \
--architectures arm64 \
--role arn:aws:iam::313370:role/whataburger-lambda \
--zip-file fileb://myFunction.zip
❯

These build args will produce arm64 binaries, will run faster, and will leverage the updated and AWS preferred runtime for golang. The billing model changes slightly - the current runtime does not get billed for invocation time, whereas the new runtime will, but it AWS claims it is not really much of a difference since it is so much faster now.

Deployment 'sync dependencies' step never ends

I am unable to deploy to any of my environments . I've left the deployment running for an hour and below is what I see:

Fume CLI:

✔ Deps: 314.8MB Code: 7.9MB Assets: 879.7KB Total: 323.5MB Mode: efs
⠼ Sync dependencies
  › 100.00% complete

Fume web app:
image

initial deployment flow

  • run node_modules/.bin/nuxt generate to generated the production assets in .nuxt/
  • zip up .nuxt/ into something like deployment-{environment}.zip
  • using the js aws-sdk, upload the archive to an s3 bucket
  • communicate with the fume api to deploy the s3 object

Deleting a project fails

I am unable to delete a project (in order to create it again in an attempt to fix the hanging sync dependencies issue I've also reported). The web app DELETE request to your API fails with a 504 status.

[Suggestion] Lambda warming support

I think this would be a great feature to add to Fume. I've tested with a fresh create-nuxt-app project and after ~15 minutes of idle, the site takes 15-20s to respond which for most apps/ecommerce/blogs etc is slow enough to lose visitors.

I believe warming is relatively simple with the serverless framework and is a common practise. Is it something you'd consider adding to Fume as a toggle on a per-project basis?

feature request: allow for multiple go source files

I have lambdas that are just complicated enough to want warrant multiple go source files in order to keep me sane. Unfortunately, deploytasks just wants one source file. This is all fine and good and I can deal with it, but the problem occurs when I need to debug something: since i cannot have multiple files, i end up importing my code from another module and using in main.go... in debugging, this may result in my having to update the module and then the lambda's go.mod... so that's 2 commits (one for module one for lambda) and 3 pushes (1 for module, 1 for lambda main, 1 for lambda production). It would help to be able to gather all the go sources in the directory and include them in the build line:

./src/lib/deploytasks.ts:273:    await execa('go', ['build', '-o', 'main', 'main.go'], { env: { GOOS: 'linux', GOARCH: 'amd64' } })

I can do this, likely, but I do not know js/typescript so I cannot whip out a change real quick. I'm guessing one can just use glob or another something from fs. Since it's probably something I should just learn and know for future, I will look to add this and submit a PR, but wanted to make issue first in case I should not.

deployment - compression - less frames - go percentage

100s of lines showing compression is not acceptable for CI/CD logs

  • get the compression status to a percentage value .. not MB
  • only reflect compression status so many x frames, maybe every 10%
  • harness the newer updated info in the CLI where the total folder bytes is stored

Bitbucket Deployment Error

I've tried to deploy using Bitbucket Pipelines but when I run the fume deploy stating command it shows me an error


::fume:cli:: v0.2.6
[STARTED] Verify authentication
[STARTED] Initialize environment
[TITLE] Initialized for production environment
[SUCCESS] Initialized for production environment
[STARTED] Test Credentials
[TITLE] Authenticated as [email protected] from FUME_TOKEN
[TITLE] Authenticated as [email protected]
[SUCCESS] Authenticated as [email protected] from FUME_TOKEN
[SUCCESS] Authenticated as [email protected]
[STARTED] Verify fume configuration
[SUCCESS] Verify fume configuration
[STARTED] Initialize deployment
[FAILED] Error: This project has no commits, please add one before deploying

Anyone knows how can I avoid this?

Feature Request - Detect Outdated CLI Version

Would be great if I got warning if my local CLI version was not up-to-date.

For example if I am on fume:cli:: v0.2.0 would be good to see when I run something like
fume deploy stage

I get console output somewhere that a version fume:cli:: v0.2.4 is available.

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.