Categories
SysOps

How to configure HashiCorp repository

Configure HashiCorp repository.

Download repository key.

$ wget --quiet --output-document - https://apt.releases.hashicorp.com/gpg | \
  sudo gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/hashicorp-archive-keyring.gpg --import
gpg: keyring '/usr/share/keyrings/hashicorp-archive-keyring.gpg' created
gpg: key DA418C88A3219F7B: public key "HashiCorp Security (HashiCorp Package Signing) <security+packaging@hashicorp.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1

Inspect key permissions.

$ ls -l /usr/share/keyrings/hashicorp-archive-keyring.gpg
-rw------- 1 root root 2345 Jul 13 23:56 /usr/share/keyrings/hashicorp-archive-keyring.gpg

Ensure that it can be read by internal apt user.

$ sudo chmod 644 /usr/share/keyrings/hashicorp-archive-keyring.gpg

Configure HashiCorp repository.

$ cat << EOF | sudo tee /etc/apt/sources.list.d/hashicorp.list
deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main
EOF
deb [signed-by/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com jammy main

Update package index.

$ sudo apt update
Get:1 https://apt.releases.hashicorp.com jammy InRelease [11.1 kB]
Get:2 https://apt.releases.hashicorp.com jammy/main amd64 Packages [58.9 kB]
Hit:3 http://pl.archive.ubuntu.com/ubuntu jammy InRelease
Hit:4 http://pl.archive.ubuntu.com/ubuntu jammy-updates InRelease
Hit:5 http://pl.archive.ubuntu.com/ubuntu jammy-backports InRelease
Hit:6 http://pl.archive.ubuntu.com/ubuntu jammy-security InRelease
Fetched 70.1 kB in 1s (76.8 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.

List HashiCorp packages.

$ grep Package: /var/lib/apt/lists/apt.releases.hashicorp.com_dists_jammy_main_binary-amd64_Packages| sort -u
Package: boundary
Package: consul
Package: consul-enterprise
Package: consul-esm
Package: consul-k8s
Package: consul-template
Package: consul-terraform-sync
Package: consul-terraform-sync-enterprise
Package: hcdiag
Package: nomad
Package: nomad-autoscaler
Package: nomad-autoscaler-enterprise
Package: nomad-enterprise
Package: packer
Package: terraform
Package: terraform-ls
Package: vagrant
Package: vault
Package: vault-enterprise
Package: vault-enterprise-hsm
Package: waypoint

Display package information.

$ apt info boundary
Package: boundary                                                                              
Version: 0.9.1-1                                                                               
Priority: optional                                                                             
Section:                                                                                                                                                                                       
Maintainer: HashiCorp                                                                          
Installed-Size: 122 MB                                                                         
Depends: openssl                               
Homepage: https://github.com/hashicorp/boundary                                                
Download-Size: 91.4 MB                                                                                                                                                                         
APT-Sources: https://apt.releases.hashicorp.com jammy/main amd64 Packages                                                                                                                      
Description: HashiCorp Boundary - Identity-based access management for dynamic infrastructure                                                                                                  
                                                                                               
N: There are 31 additional records. Please use the '-a' switch to see them.
$ apt info consul
                    
Package: consul                                                                                                                                                                                
Version: 1.12.2-1                                                                              
Priority: optional                                                                             
Section:                                                                                       
Maintainer: HashiCorp
Installed-Size: 118 MB
Depends: openssl
Homepage: https://github.com/hashicorp/consul
Download-Size: 44.2 MB
APT-Sources: https://apt.releases.hashicorp.com jammy/main amd64 Packages
Description: Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.

N: There are 116 additional records. Please use the '-a' switch to see them.
$ apt info consul-enterprise
Package: consul-enterprise
Version: 1.12.2+ent-2
Priority: optional
Section:
Maintainer: HashiCorp
Installed-Size: 128 MB
Depends: openssl
Homepage: https://github.com/hashicorp/consul
Download-Size: 48.4 MB
APT-Sources: https://apt.releases.hashicorp.com jammy/main amd64 Packages
Description: Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.

N: There are 112 additional records. Please use the '-a' switch to see them.
$ apt info consul-esm
Package: consul-esm
Version: 0.6.1-1
Priority: optional
Section:
Maintainer: HashiCorp
Installed-Size: 16.8 MB
Depends: openssl
Homepage: https://github.com/hashicorp/consul-esm
Download-Size: 5,866 kB
APT-Sources: https://apt.releases.hashicorp.com jammy/main amd64 Packages
Description: Template rendering, notifier, and supervisor for @hashicorp Consul, Nomad and Vault data.
$ apt info consul-k8s
Package: consul-k8s
Version: 0.43.0
Priority: extra
Section: default
Maintainer: HashiCorp <support@hashicorp.com>
Installed-Size: 60.6 MB
Depends: openssl
Homepage: https://github.com/hashicorp/consul-k8s
License: MPL-2.0
Vendor: HashiCorp
Download-Size: 25.3 MB
APT-Sources: https://apt.releases.hashicorp.com jammy/main amd64 Packages
Description: First-class support for Consul and Kubernetes. Run Consul on Kubernetes, integrate Connect, sync services, and more.

N: There are 7 additional records. Please use the '-a' switch to see them.
$ apt info consul-template
Package: consul-template
Version: 0.29.1-1
Priority: optional
Section:
Maintainer: HashiCorp
Installed-Size: 14.1 MB
Depends: openssl
Homepage: https://github.com/hashicorp/consul-template
Download-Size: 5,409 kB
APT-Sources: https://apt.releases.hashicorp.com jammy/main amd64 Packages
Description: Template rendering, notifier, and supervisor for @hashicorp Consul, Nomad and Vault data.

N: There are 7 additional records. Please use the '-a' switch to see them.
$ apt info consul-terraform-sync
Package: consul-terraform-sync
Version: 0.6.0-1
Priority: optional
Section:
Maintainer: HashiCorp
Installed-Size: 28.0 MB
Depends: openssl
Homepage: https://github.com/hashicorp/consul-terraform-sync
Download-Size: 9,489 kB
APT-Sources: https://apt.releases.hashicorp.com jammy/main amd64 Packages
Description: Consul Terraform Sync is a service-oriented tool for managing network infrastructure near real-time.

N: There are 13 additional records. Please use the '-a' switch to see them.
$ apt info consul-terraform-sync-enterprise
Package: consul-terraform-sync-enterprise
Version: 0.6.0+ent-2
Priority: optional
Section:
Maintainer: HashiCorp
Installed-Size: 28.9 MB
Depends: openssl
Homepage: https://github.com/hashicorp/consul-terraform-sync
Download-Size: 9,798 kB
APT-Sources: https://apt.releases.hashicorp.com jammy/main amd64 Packages
Description: Consul Terraform Sync is a service-oriented tool for managing network infrastructure near real-time.

N: There are 11 additional records. Please use the '-a' switch to see them.
$ apt info hcdiag
Package: hcdiag
Version: 0.3.1-1
Priority: optional
Section:
Maintainer: HashiCorp
Installed-Size: 7,361 kB
Homepage: https://github.com/hashicorp/hcdiag
Download-Size: 3,089 kB
APT-Sources: https://apt.releases.hashicorp.com jammy/main amd64 Packages
Description: hcdiag is a CLI tool for gathering diagnostic information from HashiCorp products. 

N: There is 1 additional record. Please use the '-a' switch to see it
$ apt info nomad
Package: nomad
Version: 1.3.2-1
Priority: optional
Section:
Maintainer: HashiCorp
Installed-Size: 88.5 MB
Depends: openssl
Homepage: https://github.com/hashicorp/nomad
Download-Size: 38.5 MB
APT-Sources: https://apt.releases.hashicorp.com jammy/main amd64 Packages
Description: Nomad is an easy-to-use, flexible, and performant workload orchestrator that can deploy a mix of microservice, batch, containerized, and non-containerized applications.

N: There are 77 additional records. Please use the '-a' switch to see them.
$ apt info nomad-autoscaler
Package: nomad-autoscaler
Version: 0.3.7-1
Priority: optional
Section:
Maintainer: HashiCorp
Installed-Size: 56.3 MB
Depends: openssl
Homepage: https://github.com/hashicorp/nomad-autoscaler
Download-Size: 22.4 MB
APT-Sources: https://apt.releases.hashicorp.com jammy/main amd64 Packages
Description: Nomad Autoscaler brings autoscaling to your Nomad workloads.
$ apt info nomad-autoscaler-enterprise
Package: nomad-autoscaler-enterprise
Version: 0.3.7+ent-1
Priority: optional
Section:
Maintainer: HashiCorp
Installed-Size: 56.5 MB
Depends: openssl
Homepage: https://github.com/hashicorp/nomad-autoscaler
Download-Size: 22.5 MB
APT-Sources: https://apt.releases.hashicorp.com jammy/main amd64 Packages
Description: Nomad Autoscaler brings autoscaling to your Nomad workloads.
$ apt info nomad-enterprise
Package: nomad-enterprise
Version: 1.3.2+ent-1
Priority: optional
Section:
Maintainer: HashiCorp
Installed-Size: 96.8 MB
Depends: openssl
Homepage: https://github.com/hashicorp/nomad
Download-Size: 41.7 MB
APT-Sources: https://apt.releases.hashicorp.com jammy/main amd64 Packages
Description: Nomad is an easy-to-use, flexible, and performant workload orchestrator that can deploy a mix of microservice, batch, containerized, and non-containerized applications.

N: There are 69 additional records. Please use the '-a' switch to see them.
$ apt info packer
Package: packer
Version: 1.8.2-1
Priority: optional
Section:
Maintainer: HashiCorp
Installed-Size: 158 MB
Depends: openssl
Homepage: https://www.packer.io/docs
Download-Size: 34.9 MB
APT-Sources: https://apt.releases.hashicorp.com jammy/main amd64 Packages
Description: HashiCorp Packer - A tool for creating identical machine images for multiple platforms from a single source configuration

N: There are 22 additional records. Please use the '-a' switch to see them.
$ apt info terraform
Package: terraform
Version: 1.2.5
Priority: extra
Section: default
Maintainer: HashiCorp <support@hashicorp.com>
Installed-Size: 62.9 MB
Depends: openssl, passwd
Homepage: https://www.terraform.io/
License: MPL-2.0
Vendor: HashiCorp
Download-Size: 19.9 MB
APT-Sources: https://apt.releases.hashicorp.com jammy/main amd64 Packages
Description: Terraform enables you to safely and predictably create, change, and improve infrastructure. It is an open source tool that codifies APIs into declarative configuration files that
 can be shared amongst team members, treated as code, edited, reviewed, and versioned. Please submit issues to https://github.com/hashicorp/terraform/issues

N: There are 63 additional records. Please use the '-a' switch to see them.
$ apt info terraform-ls
Package: terraform-ls
Version: 0.28.1
Priority: extra
Section: default
Maintainer: HashiCorp <support@hashicorp.com>
Installed-Size: 16.3 MB
Depends: openssl
Homepage: https://github.com/hashicorp/terraform-ls
License: MPL-2.0
Vendor: HashiCorp
Download-Size: 9,437 kB
APT-Sources: https://apt.releases.hashicorp.com jammy/main amd64 Packages
Description: Terraform Language Server

N: There are 26 additional records. Please use the '-a' switch to see them.
$ apt info vagrant
Package: vagrant
Version: 2.2.19+dfsg-1ubuntu1
Priority: optional
Section: universe/admin
Origin: Ubuntu
Maintainer: Ubuntu Developers 
Original-Maintainer: Debian Ruby Team 
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 3,559 kB
Depends: libarchive-tools, curl, openssh-client, rsync, ruby, ruby-bcrypt-pbkdf, ruby-childprocess, ruby-ed25519, ruby-erubi, ruby-i18n, ruby-listen, ruby-log4r, ruby-mime-types, ruby-net-ssh
, ruby-net-sftp, ruby-net-scp, ruby-rexml, ruby-zip, ruby-vagrant-cloud
Recommends: vagrant-libvirt
Suggests: virtualbox (>= 4.0)
Breaks: virtualbox (>= 6.2)
Homepage: https://www.vagrantup.com
Ruby-Versions: all
Download-Size: 473 kB
APT-Sources: http://de.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
Description: Tool for building and distributing virtualized development environments
 This package provides the tools to create and configure lightweight,
 reproducible, and portable virtual environments.
 .
 Vagrant upstream uses Oracle’s VirtualBox by default to create its virtual
 machines. On Debian, Vagrant will use libvirt/KVM by default as VirtualBox is
 not part of Debian main, but will use VirtualBox if it's installed.

N: There are 11 additional records. Please use the '-a' switch to see them.
$ apt info vault
Package: vault
Version: 1.11.0-1
Priority: optional
Section:
Maintainer: HashiCorp
Installed-Size: 200 MB
Depends: openssl
Homepage: https://github.com/hashicorp/vault
Download-Size: 76.0 MB
APT-Sources: https://apt.releases.hashicorp.com jammy/main amd64 Packages
Description: Vault is a tool for secrets management, encryption as a service, and privileged access management.

N: There are 79 additional records. Please use the '-a' switch to see them.
$ apt info vault-enterprise
Package: vault-enterprise
Version: 1.11.0+ent-1
Priority: optional
Section:
Maintainer: HashiCorp
Installed-Size: 214 MB
Depends: openssl
Homepage: https://github.com/hashicorp/vault
Download-Size: 81.6 MB
APT-Sources: https://apt.releases.hashicorp.com jammy/main amd64 Packages
Description: Vault is a tool for secrets management, encryption as a service, and privileged access management.

N: There are 85 additional records. Please use the '-a' switch to see them.
$ apt info vault-enterprise-hsm
Package: vault-enterprise-hsm
Version: 1.11.0+ent-1
Priority: optional
Section:
Maintainer: HashiCorp
Installed-Size: 215 MB
Depends: openssl
Homepage: https://github.com/hashicorp/vault
Download-Size: 77.6 MB
APT-Sources: https://apt.releases.hashicorp.com jammy/main amd64 Packages
Description: Vault is a tool for secrets management, encryption as a service, and privileged access management.

N: There are 23 additional records. Please use the '-a' switch to see them.
$ apt info waypoint
Package: waypoint
Version: 0.9.0
Priority: extra
Section: default
Maintainer: HashiCorp <support@hashicorp.com>
Installed-Size: 177 MB
Depends: openssl, passwd
Homepage: https://www.waypointproject.io/
License: MPL-2.0
Vendor: HashiCorp
Download-Size: 114 MB
APT-Sources: https://apt.releases.hashicorp.com jammy/main amd64 Packages
Description: Waypoint is a tool to build, deploy, and release any application on any platform. Please submit issues to https://github.com/hashicorp/waypoint/issues

N: There are 30 additional records. Please use the '-a' switch to see them.