Giter Site home page Giter Site logo

rohitpaul0007 / salto Goto Github PK

View Code? Open in Web Editor NEW

This project forked from livecycle/salto

0.0 0.0 0.0 34.81 MB

Salto enables you to manage your business applications' configuration in code

Home Page: https://salto.io

License: Other

Shell 0.05% JavaScript 0.53% Python 0.35% Apex 0.01% TypeScript 99.06% CSS 0.01% HTML 0.01%

salto's Introduction

Salto OSS monorepo

Knuckles

CircleCI     Coverage Status

Salto allows you to manage your business applications' configuration in code. By doing so, it enables modern devops style methodologies for development, testing and deployment for these business applications.

Salto consists of 3 main components:

  1. The NaCl language — a declarative configuration language (follows the syntax of hcl), specifically designed to describe the configuration of modern business applications.
  2. The Salto command line interface — a tool which uses NaCl files to manage the configuration of business applications, with operations such as deploy (to deploy configuration changes to a business application) and fetch (to fetch the latest state of a business application into NaCl files). This tool is composed of a core processing engine, and various adapters to interact with the different business applications.
  3. The Salto vs-code extension — An extension to the popular vs-code IDE to easily interact with NaCl files.

For more information, see the user guide and the FAQ.

To report issues or ask about using the Salto CLI - please join our public Slack channel here.

Installing salto

CLI

Please head to our releases page. There you'll find prebuilt binaries for major OSes (MacOS, Linux, Windows).

VSCode extension

See the vscode package documentation

Building from source

  1. Install Node.js 14. You can download it directly from here, or use Node Version Manager (NVM) (simply run nvm use) to install it.
  2. Install yarn.
  3. Fetch dependencies and build:
$ yarn
$ yarn build

Running tests

$ yarn test

E2E tests

By default, yarn test will run only unit tests - stored at the tests directory of each package.

E2E (end-to-end) tests are stored at the e2e_tests directories. To run them, define the RUN_E2E_TESTS=1 environment variable:

RUN_E2E_TESTS=1 yarn test

E2E tests are run on CircleCI builds, and you should also run them locally before creating a PR.

Important E2E tests for the cli and salesforce-adapter need valid SFDC credentials to run.

Creating a release

Salto is versioned using the semantic versioning scheme. Therefore, when composing a new release, we would:

  1. Bump the version in the packages' package.json files. For that, we're using lerna
  2. Tag the git repository with the new version
  3. Publish the packages in this repo to npm
  4. Build artifacts and attach them to a new release in this repository

Here is how to do it:

TL;DR Quick method

Install GitHub CLI and configure it (for example by running gh pr status). Make sure you're on main, no local changes, CI status is passing, and run:

yarn lerna-version-pr [BUMP]

Where BUMP is a lerna version; default is patch

This will create a PR labeled VERSION. Once the PR is merged, the version will be published and a git tag will be created.

Create a PR manually

1. Create a new version
yarn lerna-version [BUMP]
2. Commit and push the version to git

Submit a PR and have it merged.

Once the PR is merged, the version will be published and a git tag will be created.

Usage instructions

See READMEs of individual packages under the packages directory.

License

Apache License 2.0

salto's People

Contributors

ori-moisis avatar alonstern avatar roironn avatar noamhammer avatar omrilit avatar netama avatar adamro avatar dantal4 avatar hadard avatar edenhassid avatar shir-reifenberg avatar tamtamirr avatar orendig avatar guyhamo avatar yanaise avatar uri-bar avatar idozakk avatar geymed avatar idoser96 avatar nitzan-haim avatar amitgoldarb avatar dependabot[bot] avatar amitizle avatar shayc331 avatar tomsellek avatar omrifarkash avatar yuribro avatar shulik95 avatar tomermevorach avatar gilhoffer avatar

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.