tis-inspec icon

InSpec

Paquet d’installation silencieuse pour InSpec

6.8.1.1-1

  • package: tis-inspec
  • name: InSpec
  • version: 6.8.1.1-1
  • categories: Development
  • maintainer: WAPT Team,Tranquil IT,Amel FRADJ
  • licence: opensource_free,wapt_public
  • target_os: windows
  • architecture: x64
  • signature_date:
  • size: 319.50 Mo
  • homepage : https://www.chef.io/products/chef-inspec

package           : tis-inspec
version           : 6.8.1.1-1
architecture      : x64
section           : base
priority          : optional
name              : InSpec
categories        : Development
maintainer        : WAPT Team,Tranquil IT,Amel FRADJ
description       : Chef InSpec is an open-source testing framework for infrastructure with a human-readable language for specifying compliance, security and other policy requirements. When compliance is code, you can integrate automated tests that check for adherence to policy into any stage of your deployment pipeline
depends           : 
conflicts         : 
maturity          : PROD
locale            : 
target_os         : windows
min_wapt_version  : 2.3
sources           : 
installed_size    : 
impacted_process  : 
description_fr    : Chef InSpec est un cadre de test open-source pour l'infrastructure, doté d'un langage lisible par l'homme pour spécifier les exigences en matière de conformité, de sécurité et d'autres politiques. Lorsque la conformité est un code, vous pouvez intégrer des tests automatisés qui vérifient le respect de la politique à n'importe quelle étape de votre pipeline de déploiement
description_pl    : Chef InSpec to platforma testowa typu open source dla infrastruktury z czytelnym dla człowieka językiem do określania zgodności, bezpieczeństwa i innych wymagań dotyczących polityki. Gdy zgodność jest kodem, można zintegrować zautomatyzowane testy, które sprawdzają zgodność z polityką na dowolnym etapie potoku wdrażania
description_de    : Chef InSpec ist ein Open-Source-Testframework für Infrastrukturen mit einer für Menschen lesbaren Sprache zur Spezifikation von Compliance-, Sicherheits- und anderen Richtlinienanforderungen. Wenn Compliance Code ist, können Sie automatisierte Tests, die die Einhaltung von Richtlinien überprüfen, in jede Phase Ihrer Bereitstellungspipeline integrieren
description_es    : Chef InSpec es un marco de pruebas de código abierto para infraestructuras con un lenguaje legible por humanos para especificar requisitos de cumplimiento, seguridad y otras políticas. Cuando la conformidad es un código, puede integrar pruebas automatizadas que comprueben el cumplimiento de las políticas en cualquier fase de su proceso de despliegue
description_pt    : O Chef InSpec é uma estrutura de testes de código aberto para infra-estruturas com uma linguagem legível por humanos para especificar a conformidade, a segurança e outros requisitos de política. Quando a conformidade é código, pode integrar testes automatizados que verificam a adesão à política em qualquer fase do seu pipeline de implementação
description_it    : Chef InSpec è un framework di testing open-source per l'infrastruttura con un linguaggio leggibile dall'uomo per specificare i requisiti di conformità, sicurezza e altri criteri. Quando la conformità è un codice, è possibile integrare test automatizzati che verificano l'aderenza ai criteri in qualsiasi fase della pipeline di distribuzione
description_nl    : Chef InSpec is een open-source test framework voor infrastructuur met een menselijk leesbare taal voor het specificeren van compliance, beveiliging en andere beleidseisen. Wanneer compliance code is, kun je geautomatiseerde tests die controleren op naleving van het beleid integreren in elke fase van je deployment pijplijn
description_ru    : Chef InSpec - это фреймворк для тестирования инфраструктуры с открытым исходным кодом и человекочитаемым языком для указания требований к соответствию, безопасности и других политик. Когда соответствие требованиям - это код, вы можете интегрировать автоматизированные тесты, проверяющие соблюдение политики, в любой этап конвейера развертывания
audit_schedule    : 
editor            : 
keywords          : 
licence           : opensource_free,wapt_public
homepage          : https://www.chef.io/products/chef-inspec
package_uuid      : 1caf59e2-15bf-47ec-9bed-13c342e8e9fe
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : 68033d5fe23dfe0ca0aceafcb8ee15fd489c0ad6e322019ea6d24d211bf3fb7f
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2024-09-25T08:02:30.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature         : tgyJKZJ5BxkhTeXwsLmfyNsfXpzL4KgcFHn0oGBT7m/mUS5oFiYpZaSymjytiMcJQCyackKnzz1wXzutXl6pPb4BD0EaiRpA92LmBcv3oUfIApmRQCupwZT5Tqsgak4v+EIxjuer6T1aZD6m9/GRejlJaVvxocnBawSDrD1yShJEeLzNojvVK0EJyJOX0D/c4ctGVen0oD5QkVlOn5/GTjufWbtVl3kcavnwCUplTbFMWy3ppOXM5RSS6GkqnRzWFgm4Mxd9WJjiwKvVYiWuPAkY2STeGUIJeD4XW5m0/hwhc36ixNMz/742w5vk+iZN3MOXNWZu47129VDJd2GzFA==

# -*- coding: utf-8 -*-
from setuphelpers import *

r"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()

"""
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls


def install():
    # Declaring local variables
    bin_name = glob.glob('inspec-*.msi')[0]
    # Installing the software
    
    install_msi_if_needed(bin_name)




# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
import glob
import re




def update_package():
    # Declaring local variables
    package_updated = False
    
    proxies = get_proxies_from_wapt_console()
    if not proxies:
        proxies = get_proxies()

  
    # URL des notes de version
    url_base = "https://docs.chef.io/release_notes_inspec/"
    
    # Récupération de la page
    response = requests.get(url_base, allow_redirects=True, proxies=proxies)

    # Extraire toutes les balises <ul> dans la section id="table-of-contents"
    divs = bs_find_all(response.text, "ul", proxies=proxies)
    
    # Expression régulière pour capturer les versions du type #x.x.x
    version_pattern = re.compile(r"#(\d+\.\d+\.\d+)")

    # Boucle sur les balises <ul> pour trouver la première version
    for div in divs:
        # Trouver toutes les balises <a> dans chaque <ul>
        links = bs_find_all(str(div), "a", proxies=proxies)
        for link in links:
            # Extraire l'attribut href ou le texte du lien
            href_value = link.get('href', '')  # Récupère l'attribut href du lien
            match = version_pattern.search(href_value)
            if match:
                # Extraire la première version rencontrée (qui devrait être la plus récente)
                latest_version = match.group(1)
                break
    
    # Vérifier si la dernière version a été récupérée
    if latest_version:
        # Construire l'URL de téléchargement en utilisant latest_version
        download_url = f"https://packages.chef.io/files/stable/inspec/{latest_version}/windows/2016/inspec-{latest_version}-1-x64.msi"
        latest_bin = download_url.split('/')[-1]

    # Downloading latest binaries
    print("Download URL is: %s" % download_url)
    if not isfile(latest_bin):
        print("Downloading: %s" % latest_bin)
        wget(download_url, latest_bin, proxies=proxies)
        package_updated = True
    else:
        print("Binary is present: %s" % latest_bin)


    # Deleting outdated binaries
    for f in glob.glob('*.msi'):
        if f != latest_bin:
            remove_file(f)

        
    version = get_version_from_binary(latest_bin)
    # Mettre à jour le package
    control.set_software_version(version)
    control.save_control_to_wapt()    
        

38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
31ef52bdec7437ddf3d31c47e5d3b36fcdc1a355149598f04cee9bcc96ed4fee : WAPT/control
68033d5fe23dfe0ca0aceafcb8ee15fd489c0ad6e322019ea6d24d211bf3fb7f : WAPT/icon.png
f98264f2cce6333144e5873fabc78946a262234d495bd78e502f5bf29227bc3e : inspec-6.8.1-1-x64.msi
3827662948bd53328cf793b88696957dba1fc44634e62224f6591476f7ec19a9 : luti.json
e2c54642a56f5a1a60eac331cac1bf5b4669d9a9d2b347802ff46c76eabbb914 : setup.py
1c1dac7962ca7036efa2a3ac501af905285b88df527f82d20d2e67e19c172cc0 : update_package.py