GithubHelp home page GithubHelp logo

ansible / ansible-hub-ui Goto Github PK

View Code? Open in Web Editor NEW
64.0 10.0 73.0 131.01 MB

Ansible Automation Hub UI

License: Apache License 2.0

JavaScript 13.66% HTML 0.05% TypeScript 84.80% Shell 0.34% Dockerfile 0.09% SCSS 1.06% Python 0.01%

ansible-hub-ui's Introduction

Ansible Automation Hub UI

Frontend for Ansible Hub and Galaxy. The backend for this project can be found at ansible/galaxy_ng, developer docs at ansible.readthedocs.io, and an outdated wiki at ansibe/galaxy_ng wiki.

The project is built on React & Patternfly, using components from patternfly-react and lingui for l10n.

Setting up Your Dev Environment

Backend

The development version of the backend runs in a container, using the pulp/oci_env wrapper.

Set up:

git clone https://github.com/pulp/oci_env
git clone https://github.com/ansible/galaxy_ng

pip install -e oci_env/client/
oci-env # make sure oci-env is in PATH

Run:

cd galaxy_ng
make oci/standalone

The backend can be run in multiple modes - standalone, community, insights, keycloak, ldap and dab. Depending on the mode, it will listen on http://localhost:5001 or http://localhost:55001, under /api/galaxy/, /api/ or /api/automation-hub/.

Frontend

UI can run either as part of the backend container, or locally. The development version of the frontend uses webpack dev server.

Set up:

Install node. Node v20+ is known to work. Other versions may work as well.

git clone https://github.com/ansible/ansible-hub-ui
cd ansible-hub-ui
npm install

Run:

cd ansible-hub-ui
npm run start-standalone

This app can be developed in standalone, community, or insights mode. Insights mode compiles the app to be run on the Red Hat cloud services platform (insights). Standalone mode only requires a running instance of the galaxy API for the UI to connect to. Community mode is similar to standalone, with github login and roles.

Modes

Tests

For more information about UI testing go to test/README.md.

Set up:

pip install galaxykit ansible

cd ansible-hub-ui/test/
npm install

And create a cypress.env.json from the cypress.env.json.template template.

Run:

cd ansible-hub-ui/test/
npm run cypress

GitHub Workflows

List of all workflows:

  • backported-labels: Add a backported-* label when a PR is backported to stable-*; on patchback merges
  • cypress: Run Cypress integration tests; on PRs, pushes and cron
  • dev-release: Build and upload to github releases, update dev tag; when master is updated
  • dev-gateway-release: Build and upload to github releases, update dev-gateway tag; when master is updated
  • i18n: Extract and merge l10n strings; cron
  • pr-checks: Check for linter errors, obsolete package-lock.json and merge commits; on PRs only
  • stable-release: Build and upload to github releases; when a stable release is created

List by branches:

  • master: backported-labels, cypress, dev-release, dev-gateway-release, i18n, pr-checks, stable-release
  • stable-*: backported-labels, cypress, i18n (via cron from master), pr-checks, stable-release

Version mapping

Our branches, backport labels, releases and tags use AAH versions, but Jira uses AAP versions. To map between the two:

AAP version AAH version
2.3 4.6
2.4 4.9

Table with component versions

ansible-hub-ui's People

Contributors

adityamulik avatar awcrosby avatar bmclaughlin avatar brumik avatar chambridge avatar cutwater avatar dependabot[bot] avatar drodowic avatar eamontracey avatar epwinchell avatar fao89 avatar felixfontein avatar himdel avatar hyperkid123 avatar ironfroggy avatar jctanner avatar jerabekjiri avatar milanpospisil avatar newswangerd avatar nixocio avatar obaranov avatar rochacbruno avatar romanblanco avatar rooftopcellist avatar ryandillinfelton avatar ryelo avatar shaiahwren avatar shuuji3 avatar spredzy avatar zitanemeckova avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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.