Merge remote-tracking branch 'refs/remotes/origin/master'
commit
ec4fa25bd8
|
@ -1,5 +1,7 @@
|
|||
/.inventory-cache
|
||||
/.vault-secret.gpg
|
||||
.fact-cache
|
||||
/secure.yaml
|
||||
/victoria-metrics-*.tar.gz
|
||||
/victoria-metrics-*/
|
||||
/tmp/
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
encryptionsalt: v1:es1H1lzWTlU=:v1:8fNjYuxDn2RXRmjS:VXwcnewu1R69V1kbBWLCUAzHCa5w9g==
|
||||
config:
|
||||
openstack:authUrl: https://os-api.hostvds.com/identity
|
||||
openstack:tenantName: hostvds-b3897be3-8920-4fb0-955d-340a162da6dd
|
||||
openstack:userDomainName: Default
|
||||
openstack:projectDomainId: default
|
||||
openstack:userName: hostvds-b3897be3-8920-4fb0-955d-340a162da6dd
|
||||
openstack:password:
|
||||
secure: v1:qPzbLlSFUUeMiXBR:M4UE/NM5fvlYd08dPeT4Ov3LK2Cjle97Ge845fTXh0B7AWzOPWYakt7ssA==
|
||||
openstack:region: us-east2
|
|
@ -0,0 +1,8 @@
|
|||
name: dch
|
||||
main: pulumi/main.py
|
||||
runtime:
|
||||
name: python
|
||||
options:
|
||||
toolchain: uv
|
||||
typechecker: pyright
|
||||
virtualenv: .venv
|
|
@ -0,0 +1,9 @@
|
|||
clouds:
|
||||
hostvds:
|
||||
region_name: us-east2
|
||||
auth:
|
||||
username: hostvds-b3897be3-8920-4fb0-955d-340a162da6dd
|
||||
project_name: hostvds-b3897be3-8920-4fb0-955d-340a162da6dd
|
||||
auth_url: https://os-api.hostvds.com/identity
|
||||
user_domain_name: Default
|
||||
project_domain_id: default
|
|
@ -60,6 +60,8 @@ dch_proxy_sites:
|
|||
match: invoiceninja.pyrocufflink.net
|
||||
- backend: kubernetes
|
||||
match: dynk8s-provisioner.pyrocufflink.net
|
||||
- backend: kubernetes
|
||||
match: metrics.pyrocufflink.blue
|
||||
|
||||
dch_proxy_backends:
|
||||
bitwarden:
|
||||
|
|
|
@ -16,13 +16,4 @@ root_authorized_keys: |
|
|||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBw1T18jnBfR5reKAACOs/LMcs+jbclj6Eh8z56kJE7+ dustin@luma
|
||||
{% endif %}
|
||||
|
||||
sudo_use_pam_ssh_agent: true
|
||||
sudo_authorized_ssh_keys: |
|
||||
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIF4yQAS0bAQ9Ymxgxv828MsX0z4ff/Fs//0PQOtPexRJAAAABHNzaDo= dustin@rosalina.pyrocufflink.blue
|
||||
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAINal4+Gn/KuyP6YTsQuW4cphfDcjrS428osVIqnqMfagAAAABHNzaDo= dustin@luma.pyrocufflink.blue
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDD3Ebb7dyEyCylgEjmhFxvGqbPkT+0KSpI+xEGXLFnn jenkins
|
||||
# Default flags include -n, which makes Ansible complain about a "missing
|
||||
# become password," even though it would never actually prompt for one.
|
||||
ansible_become_flags: -H
|
||||
|
||||
fileserver_sftp_only_match: 'Group !server?admins,*'
|
||||
|
|
|
@ -0,0 +1,51 @@
|
|||
blackbox_modules:
|
||||
http:
|
||||
http:
|
||||
headers:
|
||||
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
|
||||
Accept-Charset: utf-8
|
||||
Accept-Language: en-US
|
||||
method: GET
|
||||
prober: http
|
||||
timeout: 5s
|
||||
|
||||
vmagent_remotewrite_url: https://metrics.pyrocufflink.blue/insert/1/prometheus/api/v1/write
|
||||
|
||||
vmagent_scrape_configs:
|
||||
- job_name: cloud-vmagent
|
||||
static_configs:
|
||||
- targets:
|
||||
- localhost:8429
|
||||
|
||||
- job_name: blackbox-metrics
|
||||
static_configs:
|
||||
- targets:
|
||||
- localhost:9115
|
||||
|
||||
- job_name: websites
|
||||
scrape_interval: 4m
|
||||
metrics_path: /probe
|
||||
params:
|
||||
module:
|
||||
- http
|
||||
static_configs:
|
||||
- targets:
|
||||
- https://dustin.hatch.name/
|
||||
- https://darkchestofwonders.us/
|
||||
- http://nratonpass.com/
|
||||
- http://pyrocufflink.net/
|
||||
- http://ebonfire.com/
|
||||
- http://chmod777.sh/
|
||||
- https://nextcloud.pyrocufflink.net/index.php
|
||||
- https://bitwarden.pyrocufflink.net/
|
||||
- https://git.pyrocufflink.net/
|
||||
- https://tabitha.biz/
|
||||
- https://dustinandtabitha.com/
|
||||
- https://hatchlearningcenter.org/
|
||||
relabel_configs:
|
||||
- source_labels: [__address__]
|
||||
target_label: __param_target
|
||||
- source_labels: [__param_target]
|
||||
target_label: instance
|
||||
- target_label: __address__
|
||||
replacement: localhost:9115
|
|
@ -0,0 +1,9 @@
|
|||
ansible_become_method: sudo
|
||||
sudo_use_pam_ssh_agent: true
|
||||
sudo_authorized_ssh_keys: |
|
||||
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIF4yQAS0bAQ9Ymxgxv828MsX0z4ff/Fs//0PQOtPexRJAAAABHNzaDo= dustin@rosalina.pyrocufflink.blue
|
||||
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAINal4+Gn/KuyP6YTsQuW4cphfDcjrS428osVIqnqMfagAAAABHNzaDo= dustin@luma.pyrocufflink.blue
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDD3Ebb7dyEyCylgEjmhFxvGqbPkT+0KSpI+xEGXLFnn jenkins
|
||||
# Default flags include -n, which makes Ansible complain about a "missing
|
||||
# become password," even though it would never actually prompt for one.
|
||||
ansible_become_flags: -H
|
19
hosts
19
hosts
|
@ -7,6 +7,9 @@ file0.pyrocufflink.blue
|
|||
|
||||
[bitwarden_rs]
|
||||
|
||||
[blackbox-exporter:children]
|
||||
remote-blackbox
|
||||
|
||||
[btop]
|
||||
chromie.pyrocufflink.blue
|
||||
|
||||
|
@ -175,6 +178,9 @@ web0.pyrocufflink.blue
|
|||
[radius:children]
|
||||
samba-dc
|
||||
|
||||
[remote-blackbox]
|
||||
vps-04485add.vps.ovh.us
|
||||
|
||||
[repohost]
|
||||
file0.pyrocufflink.blue
|
||||
|
||||
|
@ -199,6 +205,10 @@ smtp1.pyrocufflink.blue
|
|||
|
||||
[squid]
|
||||
|
||||
[sudo:children]
|
||||
pyrocufflink
|
||||
vps
|
||||
|
||||
[synapse]
|
||||
|
||||
[unifi]
|
||||
|
@ -207,6 +217,15 @@ smtp1.pyrocufflink.blue
|
|||
vmhost0.pyrocufflink.blue
|
||||
vmhost1.pyrocufflink.blue
|
||||
|
||||
[vmagent:children]
|
||||
remote-blackbox
|
||||
|
||||
[vps]
|
||||
vps-04485add.vps.ovh.us
|
||||
|
||||
[vps:children]
|
||||
hostvds
|
||||
|
||||
[wheelhost]
|
||||
file0.pyrocufflink.blue
|
||||
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
plugin: openstack.cloud.openstack
|
||||
only_clouds:
|
||||
- hostvds
|
||||
cache: true
|
||||
cache_plugin: jsonfile
|
||||
cache_connection: .inventory-cache
|
||||
compose:
|
||||
ansible_user: '"root"'
|
||||
ansible_host: &ipv4
|
||||
(openstack.addresses[openstack.addresses|first]
|
||||
| selectattr('version', 'eq', 4)
|
||||
| first
|
||||
).addr
|
||||
ansible_ssh_host: *ipv4
|
||||
keyed_groups:
|
||||
- key: openstack.metadata.groups|split(',')
|
||||
prefix: ''
|
||||
separator: ''
|
|
@ -0,0 +1,3 @@
|
|||
*.egg-info/
|
||||
__pycache__/
|
||||
*.py[co]
|
|
@ -0,0 +1 @@
|
|||
version: 1
|
|
@ -0,0 +1 @@
|
|||
{"user.cache_control":"","user.content_disposition":"","user.content_encoding":"","user.content_language":"","user.content_type":"text/plain; charset=utf-8","user.metadata":null,"md5":"EaRWdV65+nlqCnYlI4a4Wg=="}
|
|
@ -0,0 +1,33 @@
|
|||
import pulumi_openstack as os
|
||||
|
||||
key_pair = os.compute.Keypair(
|
||||
'default',
|
||||
name='dustin--rosalina',
|
||||
public_key='ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJsL5fSylmiJmBtW0DH/viAAmtU2E/2M17GPvysiyRs+',
|
||||
)
|
||||
|
||||
flavor = os.compute.get_flavor(
|
||||
vcpus=1,
|
||||
ram=1024,
|
||||
)
|
||||
|
||||
image = os.images.get_image(
|
||||
name='AlmaLinux-9-amd64',
|
||||
)
|
||||
|
||||
instance = os.compute.Instance(
|
||||
'vps',
|
||||
flavor_id=flavor.id,
|
||||
image_id=image.id,
|
||||
key_pair=key_pair.id,
|
||||
networks=[
|
||||
{'name': 'Internet-01'},
|
||||
],
|
||||
metadata={
|
||||
'os_distro': 'alma', # Sets the icon in the HostVDS Control Panel
|
||||
'groups': 'remote-blackbox',
|
||||
},
|
||||
security_groups=[
|
||||
'allow_all',
|
||||
],
|
||||
)
|
|
@ -0,0 +1 @@
|
|||
import dch.vps
|
|
@ -0,0 +1,39 @@
|
|||
[project]
|
||||
name = "dch-configpolicy"
|
||||
authors = [
|
||||
{name = "Dustin C. Hatch", email = "dustin@hatch.name"},
|
||||
]
|
||||
description = "Dustin's configuration policy"
|
||||
requires-python = ">=3.12"
|
||||
license = {text = "BSD-3-Clause"}
|
||||
classifiers = [
|
||||
"License :: OSI Approved :: BSD License",
|
||||
"Programming Language :: Python :: 3",
|
||||
]
|
||||
dependencies = [
|
||||
"pulumi>=3.146.0",
|
||||
"pulumi-openstack>=5.0.2",
|
||||
]
|
||||
dynamic = ["version"]
|
||||
|
||||
[build-system]
|
||||
requires = ["setuptools", "setuptools-scm"]
|
||||
build-backend = "setuptools.build_meta"
|
||||
|
||||
[tool.setuptools.packages.find]
|
||||
where = ["pulumi"]
|
||||
|
||||
[tool.setuptools_scm]
|
||||
|
||||
[tool.pyright]
|
||||
venvPath = '.'
|
||||
venv = '.venv'
|
||||
|
||||
[tool.black]
|
||||
line-length = 79
|
||||
skip-string-normalization = true
|
||||
|
||||
[dependency-groups]
|
||||
dev = [
|
||||
"pyright>=1.1.391",
|
||||
]
|
|
@ -1,3 +1,6 @@
|
|||
blackbox_modules: {}
|
||||
blackbox_config:
|
||||
modules: '{{ blackbox_modules }}'
|
||||
blackbox_container_image: '{{ blackbox_container_image_name }}:{{ blackbox_container_image_tag }}'
|
||||
blackbox_container_image_name: quay.io/prometheus/blackbox-exporter
|
||||
blackbox_container_image_tag: latest
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
systemd:
|
||||
daemon_reload: true
|
||||
|
||||
- name: restart blackbox_exporter
|
||||
- name: restart blackbox-exporter
|
||||
service:
|
||||
name: blackbox_exporter
|
||||
name: blackbox-exporter
|
||||
state: restarted
|
||||
|
||||
- name: reload blackbox_exporter
|
||||
- name: reload blackbox-exporter
|
||||
service:
|
||||
name: blackbox_exporter
|
||||
name: blackbox-exporter
|
||||
state: reloaded
|
||||
|
|
|
@ -1,3 +1,26 @@
|
|||
- name: ensure blackbox container is present
|
||||
podman_image:
|
||||
name: '{{ blackbox_container_image_name }}'
|
||||
tag: '{{ blackbox_container_image_tag }}'
|
||||
state: present
|
||||
pull: '{{ blackbox_exporter_pull_image|d(false)|bool }}'
|
||||
notify:
|
||||
- reload systemd
|
||||
- restart blackbox-exporter
|
||||
tags:
|
||||
- container
|
||||
|
||||
- name: ensure blackbox-exporter system container is configured
|
||||
template:
|
||||
src: blackbox-exporter.container.j2
|
||||
dest: /etc/containers/systemd/blackbox-exporter.container
|
||||
mode: u=rw,go=r
|
||||
owner: root
|
||||
group: root
|
||||
notify:
|
||||
- reload systemd
|
||||
- restart blackbox-exporter
|
||||
|
||||
- name: ensure /etc/prometheus directory exists
|
||||
file:
|
||||
path: /etc/prometheus
|
||||
|
@ -6,7 +29,7 @@
|
|||
group: root
|
||||
state: directory
|
||||
|
||||
- name: ensure blackbox_exporter is configured
|
||||
- name: ensure blackbox-exporter is configured
|
||||
copy:
|
||||
dest: /etc/prometheus/blackbox.yml
|
||||
content: |
|
||||
|
@ -15,19 +38,22 @@
|
|||
owner: root
|
||||
group: root
|
||||
notify:
|
||||
- reload blackbox_exporter
|
||||
- reload blackbox-exporter
|
||||
|
||||
- name: ensure blackbox_exporter starts at boot
|
||||
- name: flush handlers
|
||||
meta: flush_handlers
|
||||
|
||||
- name: ensure blackbox-exporter starts at boot
|
||||
service:
|
||||
name: blackbox_exporter
|
||||
name: blackbox-exporter
|
||||
enabled: true
|
||||
tags:
|
||||
- service
|
||||
- name: flush_handlers
|
||||
meta: flush_handlers
|
||||
- name: ensure blackbox_exporter is running
|
||||
- name: ensure blackbox-exporter is running
|
||||
service:
|
||||
name: blackbox_exporter
|
||||
name: blackbox-exporter
|
||||
state: started
|
||||
tags:
|
||||
- service
|
||||
|
|
|
@ -1,55 +1,4 @@
|
|||
- name: load installation variables
|
||||
include_vars: install.yml
|
||||
tags:
|
||||
- always
|
||||
|
||||
- name: load architecture variables
|
||||
include_vars: '{{ item }}'
|
||||
with_first_found:
|
||||
- '{{ ansible_architecture }}.yml'
|
||||
- arch-defaults.yml
|
||||
tags:
|
||||
- always
|
||||
|
||||
- name: ensure blackbox_exporter release archive is available
|
||||
delegate_to: localhost
|
||||
become: false
|
||||
get_url:
|
||||
url: '{{ blackbox_xptr_tar_url }}'
|
||||
checksum: 'sha256:{{ blackbox_xptr_cksm_url }}'
|
||||
dest: '{{ playbook_dir }}/tmp/{{ blackbox_xptr_tar_name }}'
|
||||
tags:
|
||||
- download
|
||||
|
||||
- name: ensure blackbox_exporter archive is unpacked locally
|
||||
delegate_to: localhost
|
||||
become: false
|
||||
unarchive:
|
||||
src: '{{ playbook_dir }}/tmp/{{ blackbox_xptr_tar_name }}'
|
||||
dest: '{{ playbook_dir }}/tmp/'
|
||||
remote_src: true
|
||||
creates: '{{ blackbox_xptr_extract_dir }}/blackbox_exporter'
|
||||
tags:
|
||||
- unarchive
|
||||
|
||||
- name: ensure blackbox_exporter is installed
|
||||
copy:
|
||||
src: '{{ blackbox_xptr_extract_dir }}/blackbox_exporter'
|
||||
dest: /usr/local/sbin/blackbox_exporter
|
||||
mode: u=rwx,go=rx
|
||||
diff: false
|
||||
notify:
|
||||
- restart blackbox_exporter
|
||||
|
||||
- name: ensure blackbox_exporter systemd unit is installed
|
||||
file:
|
||||
src: blackbox_exporter.service
|
||||
dest: /etc/systemd/system/blackbox_exporter.services
|
||||
mode: u=rw,go=r
|
||||
notify:
|
||||
- reload systemd
|
||||
- restart blackbox_exporter
|
||||
tags:
|
||||
- service
|
||||
- systemd
|
||||
|
||||
- name: ensure podman is installed
|
||||
package:
|
||||
name: podman
|
||||
state: present
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
[Unit]
|
||||
Description=Blackbox exporter
|
||||
Documentation=https://github.com/prometheus/blackbox_exporter/blob/master/README.md
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Container]
|
||||
Image={{ blackbox_container_image }}
|
||||
Pull=never
|
||||
Exec=--config.file=/etc/prometheus/blackbox.yml
|
||||
Mount=type=bind,source=/etc/prometheus,target=/etc/prometheus,readonly=true
|
||||
ReadOnly=yes
|
||||
ReadOnlyTmpfs=yes
|
||||
NoNewPrivileges=yes
|
||||
User=215
|
||||
Group=215
|
||||
PublishPort=9115:9115
|
||||
|
||||
[Service]
|
||||
Restart=always
|
||||
RestartSec=1s
|
||||
ExecReload=/usr/bin/podman kill --cidfile=%t/%N.cid -s HUP
|
|
@ -1,14 +0,0 @@
|
|||
blackbox_xptr_version: 0.22.0
|
||||
|
||||
blackbox_xptr_base_url:
|
||||
https://github.com/prometheus/blackbox_exporter/releases/download
|
||||
blackbox_xptr_archive:
|
||||
blackbox_exporter-{{ blackbox_xptr_version }}.linux-{{ blackbox_xptr_arch }}
|
||||
blackbox_xptr_tar_name: >-
|
||||
{{ blackbox_xptr_archive }}.tar.gz
|
||||
blackbox_xptr_tar_url: >-
|
||||
{{ blackbox_xptr_base_url }}/v{{ blackbox_xptr_version }}/{{ blackbox_xptr_tar_name }}
|
||||
blackbox_xptr_cksm_url: >-
|
||||
{{ blackbox_xptr_base_url }}/v{{ blackbox_xptr_version }}/sha256sums.txt
|
||||
blackbox_xptr_extract_dir: >-
|
||||
{{ playbook_dir }}/tmp/{{ blackbox_xptr_archive }}
|
|
@ -1,3 +1,8 @@
|
|||
vmagent_container_image_name: docker.io/victoriametrics/vmagent
|
||||
vmagent_container_image_tag: latest
|
||||
|
||||
vmagent_ca_certs: {}
|
||||
|
||||
vmagent_remotewrite_url: http://[::1]:8428/api/v1/write
|
||||
|
||||
vmagent_scrape_interval: 1m
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
../../../../kube-root-ca.crt
|
|
@ -1,13 +0,0 @@
|
|||
[Unit]
|
||||
Description=Victoria Metrics vmagent
|
||||
|
||||
[Service]
|
||||
Type=exec
|
||||
Environment=httpListenAddr=[::1]:8429
|
||||
Environment=loggerDisableTimestamps=true
|
||||
EnvironmentFile=-/etc/sysconfig/vmagent
|
||||
ExecStart=/usr/bin/vmagent -enableTCP6 -envflag.enable
|
||||
User=victoriametrics
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -8,6 +8,7 @@
|
|||
state: restarted
|
||||
|
||||
- name: reload vmagent
|
||||
uri:
|
||||
url: http://[::1]:8429/-/reload
|
||||
service:
|
||||
name: vmagent
|
||||
state: reloaded
|
||||
changed_when: true
|
||||
|
|
|
@ -1,13 +1,27 @@
|
|||
- name: ensure victoria metrics user exists
|
||||
user:
|
||||
name: victoriametrics
|
||||
system: true
|
||||
home: /var/lib/victoria-metrics
|
||||
createhome: false
|
||||
shell: /sbin/nologin
|
||||
- name: ensure vmagent container image is present
|
||||
podman_image:
|
||||
name: '{{ vmagent_container_image_name }}'
|
||||
tag: '{{ vmagent_container_image_tag }}'
|
||||
state: present
|
||||
pull: '{{ vmagent_pull_image|d(false)|bool }}'
|
||||
notify:
|
||||
- restart vmagent
|
||||
tags:
|
||||
- user
|
||||
- container-image
|
||||
|
||||
- name: ensure vmagent system container is configured
|
||||
template:
|
||||
src: vmagent.container.j2
|
||||
dest: /etc/containers/systemd/vmagent.container
|
||||
owner: root
|
||||
group: root
|
||||
mode: u=rw,go=r
|
||||
notify:
|
||||
- reload systemd
|
||||
- restart vmagent
|
||||
tags:
|
||||
- container
|
||||
- systemd
|
||||
|
||||
- name: ensure /etc/sysconfig directory exists
|
||||
file:
|
||||
|
@ -48,20 +62,21 @@
|
|||
|
||||
- name: ensure additional ca certificates are installed
|
||||
copy:
|
||||
src: '{{ item }}'
|
||||
dest: /etc/victoria-metrics/{{ item | basename }}
|
||||
content: '{{ item.1 }}'
|
||||
dest: /etc/victoria-metrics/{{ item.0 }}.crt
|
||||
mode: u=rw,go=r
|
||||
owner: root
|
||||
group: root
|
||||
with_fileglob:
|
||||
- ca-certs/{{ inventory_hostname }}/*.crt
|
||||
- ca-certs/*.crt
|
||||
loop: '{{ vmagent_ca_certs|dictsort }}'
|
||||
notify:
|
||||
- reload vmagent
|
||||
tags:
|
||||
- cert
|
||||
- scrape-config
|
||||
|
||||
- name: flush handlers
|
||||
meta: flush_handlers
|
||||
|
||||
- name: ensure vmagent starts at boot
|
||||
service:
|
||||
name: vmagent
|
||||
|
|
|
@ -1,11 +1,4 @@
|
|||
- name: ensure vmagent systemd unit is installed
|
||||
copy:
|
||||
src: vmagent.service
|
||||
dest: /etc/systemd/system/vmagent.service
|
||||
mode: '0644'
|
||||
notify:
|
||||
- reload systemd
|
||||
- restart vmagent
|
||||
tags:
|
||||
- service
|
||||
- systemd
|
||||
- name: ensure podman is installed
|
||||
package:
|
||||
name: podman
|
||||
state: present
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
[Unit]
|
||||
Description=Victoria Metrics vmagent
|
||||
After=network.target
|
||||
Wants=network.target
|
||||
|
||||
[Container]
|
||||
Image={{ vmagent_container_image_name }}:{{ vmagent_container_image_tag }}
|
||||
Pull=never
|
||||
Exec=-enableTCP6 -envflag.enable
|
||||
Environment=loggerDisableTimestamps=true
|
||||
EnvironmentFile=/etc/sysconfig/vmagent
|
||||
Mount=type=bind,source=/etc/victoria-metrics,target=/etc/victoria-metrics,readonly=true
|
||||
Mount=type=bind,source=/var/lib/victoria-metrics,target=/var/lib/victoria-metrics,chown=true,relabel=shared
|
||||
WorkingDir=/var/lib/victoria-metrics/vmagent
|
||||
ReadOnly=yes
|
||||
ReadOnlyTmpfs=yes
|
||||
NoNewPrivileges=yes
|
||||
User=212
|
||||
Group=212
|
||||
Network=host
|
||||
|
||||
[Service]
|
||||
Restart=always
|
||||
RestartSec=1s
|
||||
ExecReload=/usr/bin/podman kill --cidfile=%t/%N.cid -s HUP
|
||||
StateDirectory=victoria-metrics victoria-metrics/vmagent
|
|
@ -4,4 +4,7 @@ vmhost_required_packages:
|
|||
- libvirt-daemon-driver-storage-core
|
||||
- python3-libvirt
|
||||
- python3-lxml
|
||||
- qemu-kvm
|
||||
- qemu-audio-spice
|
||||
- qemu-device-display-qxl
|
||||
- qemu-device-display-virtio-vga
|
||||
- qemu-system-x86-core
|
||||
|
|
|
@ -1,8 +1,14 @@
|
|||
- hosts: all
|
||||
- hosts: sudo
|
||||
roles:
|
||||
- role: sudo
|
||||
tags:
|
||||
- sudo
|
||||
- hosts: '!sudo'
|
||||
roles:
|
||||
- role: doas
|
||||
tags:
|
||||
- doas
|
||||
- hosts: all
|
||||
tasks:
|
||||
- name: ensure users exist
|
||||
user:
|
||||
|
|
|
@ -0,0 +1,238 @@
|
|||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[[package]]
|
||||
name = "arpeggio"
|
||||
version = "2.0.2"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/12/c4/516bb54456f85ad1947702ea4cef543a59de66d31a9887dbc3d9df36e3e1/Arpeggio-2.0.2.tar.gz", hash = "sha256:c790b2b06e226d2dd468e4fbfb5b7f506cec66416031fde1441cf1de2a0ba700", size = 766643 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/f7/4f/d28bf30a19d4649b40b501d531b44e73afada99044df100380fd9567e92f/Arpeggio-2.0.2-py2.py3-none-any.whl", hash = "sha256:f7c8ae4f4056a89e020c24c7202ac8df3e2bc84e416746f20b0da35bb1de0250", size = 55287 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "attrs"
|
||||
version = "24.3.0"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/48/c8/6260f8ccc11f0917360fc0da435c5c9c7504e3db174d5a12a1494887b045/attrs-24.3.0.tar.gz", hash = "sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff", size = 805984 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/89/aa/ab0f7891a01eeb2d2e338ae8fecbe57fcebea1a24dbb64d45801bfab481d/attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308", size = 63397 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "dch-configpolicy"
|
||||
version = "0.1.dev1011+g81663a6.d20250119"
|
||||
source = { editable = "." }
|
||||
dependencies = [
|
||||
{ name = "pulumi" },
|
||||
{ name = "pulumi-openstack" },
|
||||
]
|
||||
|
||||
[package.dev-dependencies]
|
||||
dev = [
|
||||
{ name = "pyright" },
|
||||
]
|
||||
|
||||
[package.metadata]
|
||||
requires-dist = [
|
||||
{ name = "pulumi", specifier = ">=3.146.0" },
|
||||
{ name = "pulumi-openstack", specifier = ">=5.0.2" },
|
||||
]
|
||||
|
||||
[package.metadata.requires-dev]
|
||||
dev = [{ name = "pyright", specifier = ">=1.1.391" }]
|
||||
|
||||
[[package]]
|
||||
name = "debugpy"
|
||||
version = "1.8.12"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/68/25/c74e337134edf55c4dfc9af579eccb45af2393c40960e2795a94351e8140/debugpy-1.8.12.tar.gz", hash = "sha256:646530b04f45c830ceae8e491ca1c9320a2d2f0efea3141487c82130aba70dce", size = 1641122 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/ba/e6/0f876ecfe5831ebe4762b19214364753c8bc2b357d28c5d739a1e88325c7/debugpy-1.8.12-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:7e94b643b19e8feb5215fa508aee531387494bf668b2eca27fa769ea11d9f498", size = 2500846 },
|
||||
{ url = "https://files.pythonhosted.org/packages/19/64/33f41653a701f3cd2cbff8b41ebaad59885b3428b5afd0d93d16012ecf17/debugpy-1.8.12-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:086b32e233e89a2740c1615c2f775c34ae951508b28b308681dbbb87bba97d06", size = 4222181 },
|
||||
{ url = "https://files.pythonhosted.org/packages/32/a6/02646cfe50bfacc9b71321c47dc19a46e35f4e0aceea227b6d205e900e34/debugpy-1.8.12-cp312-cp312-win32.whl", hash = "sha256:2ae5df899732a6051b49ea2632a9ea67f929604fd2b036613a9f12bc3163b92d", size = 5227017 },
|
||||
{ url = "https://files.pythonhosted.org/packages/da/a6/10056431b5c47103474312cf4a2ec1001f73e0b63b1216706d5fef2531eb/debugpy-1.8.12-cp312-cp312-win_amd64.whl", hash = "sha256:39dfbb6fa09f12fae32639e3286112fc35ae976114f1f3d37375f3130a820969", size = 5267555 },
|
||||
{ url = "https://files.pythonhosted.org/packages/cf/4d/7c3896619a8791effd5d8c31f0834471fc8f8fb3047ec4f5fc69dd1393dd/debugpy-1.8.12-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:696d8ae4dff4cbd06bf6b10d671e088b66669f110c7c4e18a44c43cf75ce966f", size = 2485246 },
|
||||
{ url = "https://files.pythonhosted.org/packages/99/46/bc6dcfd7eb8cc969a5716d858e32485eb40c72c6a8dc88d1e3a4d5e95813/debugpy-1.8.12-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:898fba72b81a654e74412a67c7e0a81e89723cfe2a3ea6fcd3feaa3395138ca9", size = 4218616 },
|
||||
{ url = "https://files.pythonhosted.org/packages/03/dd/d7fcdf0381a9b8094da1f6a1c9f19fed493a4f8576a2682349b3a8b20ec7/debugpy-1.8.12-cp313-cp313-win32.whl", hash = "sha256:22a11c493c70413a01ed03f01c3c3a2fc4478fc6ee186e340487b2edcd6f4180", size = 5226540 },
|
||||
{ url = "https://files.pythonhosted.org/packages/25/bd/ecb98f5b5fc7ea0bfbb3c355bc1dd57c198a28780beadd1e19915bf7b4d9/debugpy-1.8.12-cp313-cp313-win_amd64.whl", hash = "sha256:fdb3c6d342825ea10b90e43d7f20f01535a72b3a1997850c0c3cefa5c27a4a2c", size = 5267134 },
|
||||
{ url = "https://files.pythonhosted.org/packages/38/c4/5120ad36405c3008f451f94b8f92ef1805b1e516f6ff870f331ccb3c4cc0/debugpy-1.8.12-py2.py3-none-any.whl", hash = "sha256:274b6a2040349b5c9864e475284bce5bb062e63dce368a394b8cc865ae3b00c6", size = 5229490 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "dill"
|
||||
version = "0.3.9"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/70/43/86fe3f9e130c4137b0f1b50784dd70a5087b911fe07fa81e53e0c4c47fea/dill-0.3.9.tar.gz", hash = "sha256:81aa267dddf68cbfe8029c42ca9ec6a4ab3b22371d1c450abc54422577b4512c", size = 187000 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/46/d1/e73b6ad76f0b1fb7f23c35c6d95dbc506a9c8804f43dda8cb5b0fa6331fd/dill-0.3.9-py3-none-any.whl", hash = "sha256:468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a", size = 119418 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "grpcio"
|
||||
version = "1.66.2"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/71/d1/49a96df4eb1d805cf546247df40636515416d2d5c66665e5129c8b4162a8/grpcio-1.66.2.tar.gz", hash = "sha256:563588c587b75c34b928bc428548e5b00ea38c46972181a4d8b75ba7e3f24231", size = 12489713 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/6b/5c/c4da36b7a77dbb15c4bc72228dff7161874752b2c6bddf7bb046d9da1b90/grpcio-1.66.2-cp312-cp312-linux_armv7l.whl", hash = "sha256:802d84fd3d50614170649853d121baaaa305de7b65b3e01759247e768d691ddf", size = 5002933 },
|
||||
{ url = "https://files.pythonhosted.org/packages/a0/d5/b631445dff250a5301f51ff56c5fc917c7f955cd02fa55379f158a89abeb/grpcio-1.66.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:80fd702ba7e432994df208f27514280b4b5c6843e12a48759c9255679ad38db8", size = 10793953 },
|
||||
{ url = "https://files.pythonhosted.org/packages/c8/1c/2179ac112152e92c02990f98183edf645df14aa3c38b39f1a3a60358b6c6/grpcio-1.66.2-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:12fda97ffae55e6526825daf25ad0fa37483685952b5d0f910d6405c87e3adb6", size = 5499791 },
|
||||
{ url = "https://files.pythonhosted.org/packages/0b/53/8d7ab865fbd983309c8242930f00b28a01047f70c2b2e4c79a5c92a46a08/grpcio-1.66.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:950da58d7d80abd0ea68757769c9db0a95b31163e53e5bb60438d263f4bed7b7", size = 6109606 },
|
||||
{ url = "https://files.pythonhosted.org/packages/86/e9/3dfb5a3ff540636d46b8b723345e923e8c553d9b3f6a8d1b09b0d915eb46/grpcio-1.66.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e636ce23273683b00410f1971d209bf3689238cf5538d960adc3cdfe80dd0dbd", size = 5762866 },
|
||||
{ url = "https://files.pythonhosted.org/packages/f1/cb/c07493ad5dd73d51e4e15b0d483ff212dfec136ee1e4f3b49d115bdc7a13/grpcio-1.66.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:a917d26e0fe980b0ac7bfcc1a3c4ad6a9a4612c911d33efb55ed7833c749b0ee", size = 6446819 },
|
||||
{ url = "https://files.pythonhosted.org/packages/ff/5f/142e19db367a34ea0ee8a8451e43215d0a1a5dbffcfdcae8801f22903301/grpcio-1.66.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:49f0ca7ae850f59f828a723a9064cadbed90f1ece179d375966546499b8a2c9c", size = 6040273 },
|
||||
{ url = "https://files.pythonhosted.org/packages/5c/3b/12fcd752c55002e4b0e0a7bd5faec101bc0a4e3890be3f95a43353142481/grpcio-1.66.2-cp312-cp312-win32.whl", hash = "sha256:31fd163105464797a72d901a06472860845ac157389e10f12631025b3e4d0453", size = 3537988 },
|
||||
{ url = "https://files.pythonhosted.org/packages/f1/70/76bfea3faa862bfceccba255792e780691ff25b8227180759c9d38769379/grpcio-1.66.2-cp312-cp312-win_amd64.whl", hash = "sha256:ff1f7882e56c40b0d33c4922c15dfa30612f05fb785074a012f7cda74d1c3679", size = 4275553 },
|
||||
{ url = "https://files.pythonhosted.org/packages/72/31/8708a8dfb3f1ac89926c27c5dd17412764157a2959dbc5a606eaf8ac71f6/grpcio-1.66.2-cp313-cp313-linux_armv7l.whl", hash = "sha256:3b00efc473b20d8bf83e0e1ae661b98951ca56111feb9b9611df8efc4fe5d55d", size = 5004245 },
|
||||
{ url = "https://files.pythonhosted.org/packages/8b/37/0b57c3769efb3cc9ec97fcaa9f7243046660e7ed58c0faebc4ef315df92c/grpcio-1.66.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1caa38fb22a8578ab8393da99d4b8641e3a80abc8fd52646f1ecc92bcb8dee34", size = 10756749 },
|
||||
{ url = "https://files.pythonhosted.org/packages/bf/5a/425e995724a19a1b110340ed653bc7c5de8019d9fc84b3798a0f79c3eb31/grpcio-1.66.2-cp313-cp313-manylinux_2_17_aarch64.whl", hash = "sha256:c408f5ef75cfffa113cacd8b0c0e3611cbfd47701ca3cdc090594109b9fcbaed", size = 5499666 },
|
||||
{ url = "https://files.pythonhosted.org/packages/2e/e4/86a5c5ec40a6b683671a1d044ebca433812d99da8fcfc2889e9c43cecbd4/grpcio-1.66.2-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c806852deaedee9ce8280fe98955c9103f62912a5b2d5ee7e3eaa284a6d8d8e7", size = 6109578 },
|
||||
{ url = "https://files.pythonhosted.org/packages/2f/86/a86742f3deaa22385c3bff984c5947fc62d47d3fab26c508730037d027e5/grpcio-1.66.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f145cc21836c332c67baa6fc81099d1d27e266401565bf481948010d6ea32d46", size = 5763274 },
|
||||
{ url = "https://files.pythonhosted.org/packages/c3/61/b9a2a4345dea0a354c4ed8ac7aacbdd0ff986acbc8f92680213cf3d2faa3/grpcio-1.66.2-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:73e3b425c1e155730273f73e419de3074aa5c5e936771ee0e4af0814631fb30a", size = 6450416 },
|
||||
{ url = "https://files.pythonhosted.org/packages/50/b9/ad303ce75d8cd71d855a661519aa160ce42f27498f589f1ae6d9f8c5e8ac/grpcio-1.66.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:9c509a4f78114cbc5f0740eb3d7a74985fd2eff022971bc9bc31f8bc93e66a3b", size = 6040045 },
|
||||
{ url = "https://files.pythonhosted.org/packages/ac/b3/8db1873e3240ef1672ba87b89e949ece367089e29e4d221377bfdd288bd3/grpcio-1.66.2-cp313-cp313-win32.whl", hash = "sha256:20657d6b8cfed7db5e11b62ff7dfe2e12064ea78e93f1434d61888834bc86d75", size = 3537126 },
|
||||
{ url = "https://files.pythonhosted.org/packages/a2/df/133216989fe7e17caeafd7ff5b17cc82c4e722025d0b8d5d2290c11fe2e6/grpcio-1.66.2-cp313-cp313-win_amd64.whl", hash = "sha256:fb70487c95786e345af5e854ffec8cb8cc781bcc5df7930c4fbb7feaa72e1cdf", size = 4278018 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "nodeenv"
|
||||
version = "1.9.1"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/43/16/fc88b08840de0e0a72a2f9d8c6bae36be573e475a6326ae854bcc549fc45/nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f", size = 47437 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9", size = 22314 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "parver"
|
||||
version = "0.5"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "arpeggio" },
|
||||
{ name = "attrs" },
|
||||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/cc/e5/1c774688a90f0b76e872e30f6f1ba3f5e14056cd0d96a684047d4a986226/parver-0.5.tar.gz", hash = "sha256:b9fde1e6bb9ce9f07e08e9c4bea8d8825c5e78e18a0052d02e02bf9517eb4777", size = 26908 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/0f/4c/f98024021bef4d44dce3613feebd702c7ad8883f777ff8488384c59e9774/parver-0.5-py3-none-any.whl", hash = "sha256:2281b187276c8e8e3c15634f62287b2fb6fe0efe3010f739a6bd1e45fa2bf2b2", size = 15172 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pip"
|
||||
version = "24.3.1"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/f4/b1/b422acd212ad7eedddaf7981eee6e5de085154ff726459cf2da7c5a184c1/pip-24.3.1.tar.gz", hash = "sha256:ebcb60557f2aefabc2e0f918751cd24ea0d56d8ec5445fe1807f1d2109660b99", size = 1931073 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/ef/7d/500c9ad20238fcfcb4cb9243eede163594d7020ce87bd9610c9e02771876/pip-24.3.1-py3-none-any.whl", hash = "sha256:3790624780082365f47549d032f3770eeb2b1e8bd1f7b2e02dace1afa361b4ed", size = 1822182 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "protobuf"
|
||||
version = "4.25.5"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/67/dd/48d5fdb68ec74d70fabcc252e434492e56f70944d9f17b6a15e3746d2295/protobuf-4.25.5.tar.gz", hash = "sha256:7f8249476b4a9473645db7f8ab42b02fe1488cbe5fb72fddd445e0665afd8584", size = 380315 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/00/35/1b3c5a5e6107859c4ca902f4fbb762e48599b78129a05d20684fef4a4d04/protobuf-4.25.5-cp310-abi3-win32.whl", hash = "sha256:5e61fd921603f58d2f5acb2806a929b4675f8874ff5f330b7d6f7e2e784bbcd8", size = 392457 },
|
||||
{ url = "https://files.pythonhosted.org/packages/a7/ad/bf3f358e90b7e70bf7fb520702cb15307ef268262292d3bdb16ad8ebc815/protobuf-4.25.5-cp310-abi3-win_amd64.whl", hash = "sha256:4be0571adcbe712b282a330c6e89eae24281344429ae95c6d85e79e84780f5ea", size = 413449 },
|
||||
{ url = "https://files.pythonhosted.org/packages/51/49/d110f0a43beb365758a252203c43eaaad169fe7749da918869a8c991f726/protobuf-4.25.5-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:b2fde3d805354df675ea4c7c6338c1aecd254dfc9925e88c6d31a2bcb97eb173", size = 394248 },
|
||||
{ url = "https://files.pythonhosted.org/packages/c6/ab/0f384ca0bc6054b1a7b6009000ab75d28a5506e4459378b81280ae7fd358/protobuf-4.25.5-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:919ad92d9b0310070f8356c24b855c98df2b8bd207ebc1c0c6fcc9ab1e007f3d", size = 293717 },
|
||||
{ url = "https://files.pythonhosted.org/packages/05/a6/094a2640be576d760baa34c902dcb8199d89bce9ed7dd7a6af74dcbbd62d/protobuf-4.25.5-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:fe14e16c22be926d3abfcb500e60cab068baf10b542b8c858fa27e098123e331", size = 294635 },
|
||||
{ url = "https://files.pythonhosted.org/packages/33/90/f198a61df8381fb43ae0fe81b3d2718e8dcc51ae8502c7657ab9381fbc4f/protobuf-4.25.5-py3-none-any.whl", hash = "sha256:0aebecb809cae990f8129ada5ca273d9d670b76d9bfc9b1809f0a9c02b7dbf41", size = 156467 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pulumi"
|
||||
version = "3.146.0"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "debugpy" },
|
||||
{ name = "dill" },
|
||||
{ name = "grpcio" },
|
||||
{ name = "pip" },
|
||||
{ name = "protobuf" },
|
||||
{ name = "pyyaml" },
|
||||
{ name = "semver" },
|
||||
{ name = "six" },
|
||||
]
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/2a/d5/8bc81fbfcac45a1bb4bc0be1d12005c7d970b7fed612cd2b5e015bf8447b/pulumi-3.146.0-py3-none-any.whl", hash = "sha256:d41d1fe147e733cd9d9dea9869a96a069e413b666545d2b1538526d6eec0e2ac", size = 297309 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pulumi-openstack"
|
||||
version = "5.0.2"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "parver" },
|
||||
{ name = "pulumi" },
|
||||
{ name = "semver" },
|
||||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/ac/4e/969787c418ef1048ccfc29903d1d65226831ad6e14050a262beaca8ce1d5/pulumi_openstack-5.0.2.tar.gz", hash = "sha256:ffabd4cc755aeee435f0914d15ead5b0cf5d2a2fb223e1f96269b575519950ea", size = 344986 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/3c/71/c783f5f81f9348854a69239e4f9e597a03254c1bbff2e434862c873d985e/pulumi_openstack-5.0.2-py3-none-any.whl", hash = "sha256:ad0bbb4c976e5b605013c5c1f9e0657d0fdc4fa3a4f45bab11dff410821ea268", size = 540442 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pyright"
|
||||
version = "1.1.392.post0"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "nodeenv" },
|
||||
{ name = "typing-extensions" },
|
||||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/66/df/3c6f6b08fba7ccf49b114dfc4bb33e25c299883fd763f93fad47ef8bc58d/pyright-1.1.392.post0.tar.gz", hash = "sha256:3b7f88de74a28dcfa90c7d90c782b6569a48c2be5f9d4add38472bdaac247ebd", size = 3789911 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/e7/b1/a18de17f40e4f61ca58856b9ef9b0febf74ff88978c3f7776f910071f567/pyright-1.1.392.post0-py3-none-any.whl", hash = "sha256:252f84458a46fa2f0fd4e2f91fc74f50b9ca52c757062e93f6c250c0d8329eb2", size = 5595487 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pyyaml"
|
||||
version = "6.0.2"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873 },
|
||||
{ url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302 },
|
||||
{ url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154 },
|
||||
{ url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223 },
|
||||
{ url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542 },
|
||||
{ url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164 },
|
||||
{ url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611 },
|
||||
{ url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591 },
|
||||
{ url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338 },
|
||||
{ url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309 },
|
||||
{ url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679 },
|
||||
{ url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428 },
|
||||
{ url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361 },
|
||||
{ url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523 },
|
||||
{ url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660 },
|
||||
{ url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597 },
|
||||
{ url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527 },
|
||||
{ url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "semver"
|
||||
version = "2.13.0"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/31/a9/b61190916030ee9af83de342e101f192bbb436c59be20a4cb0cdb7256ece/semver-2.13.0.tar.gz", hash = "sha256:fa0fe2722ee1c3f57eac478820c3a5ae2f624af8264cbdf9000c980ff7f75e3f", size = 45816 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/0b/70/b84f9944a03964a88031ef6ac219b6c91e8ba2f373362329d8770ef36f02/semver-2.13.0-py2.py3-none-any.whl", hash = "sha256:ced8b23dceb22134307c1b8abfa523da14198793d9787ac838e70e29e77458d4", size = 12901 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "six"
|
||||
version = "1.17.0"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "typing-extensions"
|
||||
version = "4.12.2"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/df/db/f35a00659bc03fec321ba8bce9420de607a1d37f8342eee1863174c69557/typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8", size = 85321 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438 },
|
||||
]
|
Loading…
Reference in New Issue