This repository contains different infrastructure components that are used in different projects here at NaN Labs.

Overview

Infrastructure Reference

Changelog | Contributing

Shell Check Tensorflow Check License: MIT

This repository contains different infrastructure components that are used in different projects here at NaN Labs.

Applications

Collection of examples that were created as a composition of different examples that can be found separately in the examples directory. Read more about the examples in the examples section.

Examples

Collection of examples that solve specific problems using small pieces of code.

Shell Scripting and Utilities

Collection of shell utilities and scripts.

CI/CD with GitHub Actions

  • Automation Seed example. This example contains the following workflows:

    • Main Validation (ESLint + Prettier + E2E Tests)
    • Manual Execution with Params (Automated Tests execution)
    • Periodic Test execution and History update
    • Pull Requests validation with DangerJS
  • React Webpack Boilerplate. This example contains the following workflows:

    • Main Validation (ESLint + Prettier + Unit Tests)
    • Pull Requests validation with DangerJS
    • Deployment example with GitHub Pages
  • Shell Check

  • Terraform Check

DevContainers and Codespaces

Collection of DevContainers that can be used to run local development environments using VSCode or Cloud Development environments using GitHub Codespaces.

Cloud Development Kit

TODO

Docker and Docker Compose

Collection of Docker and Docker Compose that can be used to run local development environments. Most of the examples can be migrated to other containerization tools such as podman.

Kubernetes

TODO

Serverless Framework

Collection of Serverless Framework that can be used to run local development environments and deploy different resources to the Cloud.

Terraform

TODO

Contributing

Contributions are welcome!

Contributors

Made with contributors-img.

Comments
  • - Add support for `.sql.gz` and document it on the README.md of the example

    - Add support for `.sql.gz` and document it on the README.md of the example

    Restore the application database using .sql.gz files

    https://github.com/nanlabs/infra-reference/blob/470f9bf2178741fab4fdbe5aee9fcd8975f0a4f0/examples/docker/mssql/entrypoint.sh#L13

    
            echo "Importing $file"
            /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "${SA_PASSWORD}" -i "${file}"
        done
    
        # TODO - Add support for `.sql.gz` and document it on the README.md of the example
        # Restore the application database using .sql.gz files
        shopt -s globstar nullglob
        for file in /opt/mssql-scripts/*.sql.gz; do
            echo "Importing $file"
            echo "Warning: .sql.gz files are not supported yet. Skipping"
            break
        done
    
        # Restore the application database using .sh files
        shopt -s globstar nullglob
        for file in /opt/mssql-scripts/*.sh; do
    
    
    Hacktoberfest todo 
    opened by github-actions[bot] 3
  • Define and use volume definition

    Define and use volume definition

    Currently, Dockerfile is creating and copying initdb.d directory, although it can be defined as a VOLUME instructing it is provided externally and making it a bit clearer in intention

    Hacktoberfest 
    opened by di3go-martinez 2
  • [DOCS] : Link License and Contributing.md to ReadMe

    [DOCS] : Link License and Contributing.md to ReadMe

    Description

    Is your feature request related to a problem? Please describe.

    • Improving the docs by adding the LICENSE and contributing.md links to the ReadMe file.

    Describe the solution you'd like

    • I would like to add the links of LICENSE and Contributing.md at the bottom of the readme file so as to make the readme more structured.
    Hacktoberfest 
    opened by shashankbhatgs 2
  • examples/sls: Add basic http lambda with middy

    examples/sls: Add basic http lambda with middy

    Create a new example at examples/serverless/serverless-middy with a basic lambda with an http based trigger. You can use the example serverless-appsync-nodejs as an example on how to setup a sls + typescript project.

    The example should use the library middy with a basic middleware.

    opened by ulises-jeremias 2
  • feature: Added App Sync example

    feature: Added App Sync example

    What's this PR do?

    This PR adds the following examples:

    • AppSync + NodeJS (TypeScript)
    • AppSync + Python

    Both examples have local development and production ready deployments