/asdf-openssl

asdf openssl plug-in

Primary LanguageShellMIT LicenseMIT

asdf-openssl plugin

asdf-openssl plugin

asdf-openssl plugin

# asdf-openssl [![Build](https://github.com/VadimDor/asdf-openssl/actions/workflows/build.yml/badge.svg)](https://github.com/VadimDor/asdf-openssl/actions/workflows/build.yml) [![Lint](https://github.com/VadimDor/asdf-openssl/actions/workflows/lint.yml/badge.svg)](https://github.com/VadimDor/asdf-openssl/actions/workflows/lint.yml)

asdf-openssl plugin for the asdf version manager.

Build Status CII Best Practices Join the chat at https://gitter.im/asdf-openssl/community [<TOOL NAME US> downloads][downloads] [<TOOL NAME US> docs][docs] [VadimDor on Slack][slack] [![ on Twitter][badge-twitter]][twitter] [![ on YouTube][badge-yt]][youtube] [<TOOL NAME LC> Gate][gate] License [Build status: AppVeyor](https://ci.appveyor.com/project/VadimDor/)

Awesome Self-Hosted License MIT Current Version Docker Pulls GitHub Status Known Vulnerabilities
# ◐   Development   ◑

GitHub Last Commit GitHub Issues GitHub Pull Requests Github License GitHub Repo stars


![AllInOne](TOOL REPO>/workflows/AllInOne/badge.svg) [![GitHub license](https://img.shields.io/github/license/VadimDor/?style=plastic)](https://github.com/VadimDor/asdf-openssl/blob/main/LICENSE)

Build History

![Build history](https://buildstats.info/github/chart/VadimDor/?branch=main)

介绍

Table of Contents

Features 🌈

[![ on Docker🐳 Hub](https://dockeri.co/image//)](https://hub.docker.com/r//)

[⬆️ Back to Top](#'asdf-openssl plugin')


Contents

Index

[Description][description]🛠 [Dependencies][dependencies]📈 [Discussions][discussions]✅ [Contributions][contributions]📣❤️💞️ [Metrics][metrics]💡 [License][license]🆓 [Code of Conduct][coc]◑ [Author][author]📝
# Summary

Readme👀

Sponsor VadimDor on GitHub

Sponsors

Huge thanks to the sponsors helping to support🙋‍♀️ asdf-openssl plugin's development!

12345
12345

Description []

This is plugin for asdf tool

Contributors

![Auto-generated contributors](https://raw.githubusercontent.com/VadimDor//main/docs/assets/CONTRIBUTORS.svg)

Stats

[Stats](https://github.com/VadimDor//blob/main/docs/credits.md)

[⬆️ Back to Top](#'asdf-openssl plugin')


Developing 🧱

For full development documentation, see: Developing

[Open Project in VS Code](https://open.vscode.dev/VadimDor/) [Open in GitPod](https://gitpod.io/#github.com/VadimDor/) [Open in GitHub Code Spaces](https://github.dev/VadimDor/)

Before getting started, you'll need Git installed.

To set up the development environment get Code: git clone https://github.com/VadimDor/asdf-openssl.git and cd <TOOL NAME LC>

Repo Status: [Open PRs](https://github.com/VadimDor//pulls) [![Total PRs](https://flat.badgen.net/github/prs/VadimDor/?icon=github)](https://github.com/VadimDor//pulls?q=) [![GitHub commit activity](https://img.shields.io/github/commit-activity/m/VadimDor/?style=flat-square)](https://github.com/VadimDor//commits/main) [![Last Commit](https://flat.badgen.net/github/last-commit/VadimDor/?icon=github)](https://github.com/VadimDor//commits/main) [Contributors(https://flat.badgen.net/github/contributors/VadimDor/?icon=github)](https://github.com/VadimDor//graphs/contributors)

[⬆️ Back to Top](#'asdf-openssl plugin')


Dependencies

TODO: adapt these sections below

  • bash, curl, tar: generic POSIX utilities.
  • SOME_ENV_VAR: set this environment variable in your shell config to load the correct version of tool x.

Install

Install asdf, then:

Plugin:

asdf plugin add asdf-openssl # install the asdf-openssl plugin
# or
asdf plugin add asdf-openssl https://github.com/VadimDor/asdf-openssl.git

asdf asdf-openssl install-deps  # install system-specific dependencies for downloading & building Asdf-openssl

To install Asdf-openssl:

When available for the version and platform, the plugin will install pre-compiled binaries of Asdf-openssl. If no binaries are available the plugin will build Asdf-openssl from source.

# latest stable version of Asdf-openssl
asdf install asdf-openssl latest
# or latest stable minor/patch release of Asdf-openssl 1.x.x
asdf install asdf-openssl latest:1
# or latest stable patch release of Asdf-openssl 1.6.x
asdf install asdf-openssl latest:1.6
# or specific patch release
asdf install asdf-openssl 1.6.8

To install a nightly build of Asdf-openssl:

# nightly unstable build of devel branch
asdf install asdf-openssl ref:devel
# or nightly unstable build of version-1-6 branch, i.e. the latest 1.6.x release + any recent backports from devel
asdf install asdf-openssl ref:version-1-6
# or nightly unstable build of version-1-4 branch, i.e. the latest 1.4.x release + any recent backports from devel
asdf install asdf-openssl ref:version-1-4
# or nightly unstable build of version-1-2 branch, i.e. the 1.2.x release + any recent backports from devel
asdf install asdf-openssl ref:version-1-2
# or nightly unstable build of version-1-0 branch, i.e. the 1.0.x release + any recent backports from devel
asdf install asdf-openssl ref:version-1-0

To build a specific git commit or branch of Asdf-openssl:

# build using latest commit from the devel branch
asdf install asdf-openssl ref:HEAD
# build using the specific commit 7d15fdd
asdf install asdf-openssl ref:7d15fdd
# build using the tagged release v1.6.8
asdf install asdf-openssl ref:v1.6.8

asdf-openssl:

# Show all installable versions
asdf list-all asdf-openssl

# Install specific version
asdf install asdf-openssl latest

# Set a version globally (on your ~/.tool-versions file)
asdf global asdf-openssl latest

# Now asdf-openssl commands are available
openssl --version

Check asdf readme for more instructions on how to install & manage versions.

asdf-openssl

asdf-openssl allows you to quickly install any version of Asdf-openssl.

asdf-openssl is intended for end-users and continuous integration. Whether macOS or Linux, x86 or ARM - all you'll need to install Asdf-openssl is bash.

To set the default version of Asdf-openssl for your user:

asdf global asdf-openssl latest:1.6

This creates a .tool-versions file in your home directory specifying the Asdf-openssl version.

To set the version of Asdf-openssl for a project directory:

cd my-project
asdf local asdf-openssl latest:1.6

This creates a .tool-versions file in the current directory specifying the Asdf-openssl version. For additional plugin usage see the asdf documentation.

asdf-openssl packages

asdf-openssl packages are installed in ~/.asdf/installs/asdf-openssl/<asdf-openssl-version>/asdf-openssl/pkgs, unless a asdf-openssldeps directory exists in the directory where asdf-openssl install is run from.

See the asdf-openssl documentation for more information about asdf-openssldeps.

Continuous Integration

A simple example using GitHub Actions:

name: Build
on:
  push:
    paths-ignore:
      - README.md

env:
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
  build:
    name: Test
    runs-on: ${{ matrix.os }}
    matrix:
      include:
        # Test against stable Asdf-openssl builds on linux
        - os: ubuntu-latest
          asdf-openssl-version: latest:1.6
        - os: ubuntu-latest
          asdf-openssl-version: latest:1.4

        # Test against unstable nightly Asdf-openssl builds on macos (faster than building from source)
        - os: macos-latest
          asdf-openssl-version: ref:version-1-6
        - os: macos-latest
          asdf-openssl-version: ref:version-1-4
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Install Asdf-openssl
        uses: asdf-vm/actions/install@v1
        with:
          tool_versions: |
            asdf-openssl ${{ matrix.asdf-openssl-version }}
      - name: Run tests
        run: |
          asdf local asdf-openssl ${{ matrix.asdf-openssl-version }}
          asdf-openssl develop -y
          asdf-openssl test
          asdf-openssl examples

Continuous Integration on Non-x86 Architectures

Using uraimo/run-on-arch-action:

name: Build
on:
  push:
    paths-ignore:
      - README.md

jobs:
  test_non_x86:
    name: Test asdf-openssl-${{ matrix.asdf-openssl-version }} / debian-buster / ${{ matrix.arch }}
    strategy:
      fail-fast: false
      matrix:
        include:
          - asdf-openssl-version: ref:version-1-6
            arch: armv7
          - asdf-openssl-version: ref:version-1-2
            arch: aarch64

    runs-on: ubuntu-latest
    steps:
      - name: Checkout Asdf-openssl project
        uses: actions/checkout@v2

      - uses: uraimo/run-on-arch-action@v2
        name: Install Asdf-openssl & run tests
        with:
          arch: ${{ matrix.arch }}
          distro: buster

          dockerRunArgs: |
            --volume "${HOME}/.cache:/root/.cache"

          setup: mkdir -p "${HOME}/.cache"

          shell: /usr/bin/env bash

          install: |
            set -uexo pipefail
            # Install asdf and dependencies
            apt-get update -q -y
            apt-get -qq install -y build-essential curl git
            git clone https://github.com/asdf-vm/asdf.git "${HOME}/.asdf" --branch v0.10.2

          env: |
            GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

          run: |
            set -uexo pipefail
            . "${HOME}/.asdf/asdf.sh"

            # Install asdf-openssl and dependencies
            git clone https://github.com/VadimDor/asdf-openssl.git ~/asdf-openssl --branch main --depth 1
            asdf plugin add asdf-openssl ~/asdf-openssl
            asdf asdf-openssl install-deps -y

            # Install Asdf-openssl
            asdf install asdf-openssl ${{ matrix.asdf-openssl-version }}
            asdf local asdf-openssl ${{ matrix.asdf-openssl-version }}

            # Run tests
            asdf-openssl develop -y
            asdf-openssl test
            asdf-openssl examples

Stable binaries

asdf-openssl-lang.org supplies pre-compiled stable binaries of Asdf-openssl for:

Linux:

  • x86_64 (gnu libc)
  • x86 (gnu libc)

Unstable nightly binaries

asdf-openssl-lang/nightlies supplies pre-compiled unstable binaries of Asdf-openssl for:

Linux:

  • x86_64 (gnu libc)
  • x86 (gnu libc)
  • aaarch64 (gnu libc)
  • armv7l (gnu libc)

macOS:

  • x86_64

Updating asdf and asdf-openssl

asdf update
asdf plugin update asdf-openssl main

Testing

This project uses bats for unit testing. Please follow existing patterns and add unit tests for your changeset. Dev dependencies for unit tests are installed via:

cd ~/.asdf/plugins/asdf-openssl
npm install --include=dev

Run tests with:

npm run test

Linting

This project uses lintball to auto-format code. Please ensure your changeset passes linting. Enable the githooks with:

git config --local core.hooksPath .githooks

Want to get support for "asdf-openssl plugin"?

Want to learn more about OPA?

  • Go to project homepage to get started with documentation and tutorials, for news about it, community, policy and roadmaps.
  • Check out the ADOPTERS.md file for a list of production adopters. Does your organization use "asdf-openssl plugin" in production? Support it by submitting a PR to add your organization to the list with a short description of your use cases (or at list star this repository :) )!

Contributing

First and foremost, all contributions and pull requests are welcome!

  • The steps involved when making a contribution are explained in the Contributing Guide to learn how to make your first contribution.
  • File a GitHub Issue to request features or report bugs. We look forward to your contributions!
  • The contributors list is located here.

Keep in touch

Fork this repo, then run:

rm -rf ~/.asdf/plugins/asdf-openssl
git clone git@github.com:<your-username>/asdf-openssl.git ~/.asdf/plugins/asdf-openssl

Thanks goes to these contributors!

Star History 🌟🏆🙌

Star History Chart

Discussions []

Feel free to give any ideas for future improvements here, ask any questions you have here

🔐Reporting Security Vulnerabilities🧱🛎️

Please report vulnerabilities by any channel.We will send a confirmation message to acknowledge that we have received the report and then we will send additional messages to follow up once the issue has been investigated.

Metrics []

Code of Conduct []

This project follows the 👉Contributor Covenant Code of Conduct.

License []

See LICENSE📜 © Vadim Dor

TDLR; You can do whatever you like with this: use it in private or commercial settings, redistribute and modify it. But you must display this license and credit the author. There is no warranty that this app will work as expected, and the author cannot be held liable for anything that goes wrong. For more info, see TLDR Legal's Explanation of MIT

[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FVadimDor%2F.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2FVadimDor%2F?ref=badge_large)

[⬆️ Back to Top](#'asdf-openssl plugin')







Thank you for Visiting

TODO: adapt these sections above

[badge-twitter]: https://img.shields.io/badge/Twitter-@-active?logo=twitter [docs]: https://VadimDor.github.io/asdf-openssl/docs/ [downloads]: https://VadimDor.github.io/asdf-openssl/downloads/ [gate]: https://github.com/VadimDor/asdf-openssl/actions/workflows/main.yml [slack]: https://VadimDor.github.io/asdf-openssl/slack-invitation/ [twitter]: https://twitter.com/VadimDor [website]: https://VadimDor.github.io/asdf-openssl

Author

Author