Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 18 additions & 12 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,22 @@ ruby_version_segments = Gem::Version.new(RUBY_VERSION.dup).segments
minor_version = ruby_version_segments[0..1].join('.')

group :development do
gem "fast_gettext", '1.1.0', require: false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.1.0')
gem "fast_gettext", require: false if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.1.0')
gem "json_pure", '<= 2.0.1', require: false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.0.0')
gem "json", '= 1.8.1', require: false if Gem::Version.new(RUBY_VERSION.dup) == Gem::Version.new('2.1.9')
gem "json", '= 2.0.4', require: false if Gem::Requirement.create('~> 2.4.2').satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "json", '= 2.1.0', require: false if Gem::Requirement.create(['>= 2.5.0', '< 2.7.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "rb-readline", '= 0.5.5', require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "puppet-module-posix-default-r#{minor_version}", '~> 0.3', require: false, platforms: [:ruby]
gem "puppet-module-posix-dev-r#{minor_version}", '~> 0.3', require: false, platforms: [:ruby]
gem "puppet-module-win-default-r#{minor_version}", '~> 0.3', require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "puppet-module-win-dev-r#{minor_version}", '~> 0.3', require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "github_changelog_generator", require: false, git: 'https://github.com/skywinder/github-changelog-generator', ref: '20ee04ba1234e9e83eb2ffb5056e23d641c7a018' if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.2.2')
gem "voxpupuli-test", '5.4.1', require: false
gem "faraday", '~> 1.0', require: false
gem "github_changelog_generator", require: false
gem "puppet-blacksmith", require: false
gem "puppet-strings", require: false
end
group :system_tests do
gem "beaker", *location_for(ENV['BEAKER_VERSION'] || '~> 4.29')
gem "beaker-abs", *location_for(ENV['BEAKER_ABS_VERSION'] || '~> 0.1')
gem "beaker-pe", require: false
gem "beaker-hostgenerator"
gem "beaker-rspec"
gem "beaker-docker"
gem "beaker-puppet"
gem "beaker-puppet_install_helper", require: false
gem "beaker-module_install_helper", require: false
end

puppet_version = ENV['PUPPET_GEM_VERSION']
Expand All @@ -37,6 +41,8 @@ hiera_version = ENV['HIERA_GEM_VERSION']

gems = {}

gems['rake'] = [require: false]
gems['puppetlabs_spec_helper'] = [require: false]
gems['puppet'] = location_for(puppet_version)

# If facter or hiera versions have been specified via the environment
Expand Down
31 changes: 14 additions & 17 deletions data/common.yaml
Original file line number Diff line number Diff line change
@@ -1,17 +1,14 @@
---
harbor::version: '2.1.2'
harbor::release: '2.1.0'
harbor::checksum: '37a84e078504546c24e6fb99f80f6d05'
harbor::version: '2.8.2'
harbor::release: '2.8.0'
harbor::checksum: 'dadf773143dcdcfa05a54a8826835d6d'
harbor::installer: 'offline'
harbor::with_notary: false
harbor::with_trivy: false
harbor::with_clair: false
harbor::with_chartmuseum: false
harbor::harbor_ha: false
harbor::hostname: "%{facts.fqdn}"
harbor::ui_url_protocol: 'http'
harbor::max_job_workers: 10
harbor::absolute_url: 'disabled'
harbor::logger_sweeper_duration: 1
harbor::customize_crt: 'on'
harbor::ssl_cert: '/data/cert/server.crt'
harbor::ssl_cert_key: '/data/cert/server.key'
Expand All @@ -37,25 +34,19 @@ harbor::db_host: 'postgresql'
harbor::db_password: 'root123'
harbor::db_port: 5432
harbor::db_user: 'postgres'
harbor::db_max_idle_connections: 50
harbor::db_max_open_conns: 100
harbor::db_max_idle_connections: 100
harbor::db_max_open_conns: 900
harbor::external_redis: false
harbor::redis_host: 'redis'
harbor::redis_port: 6379
harbor::redis_password: ''
harbor::redis_registry_db_index: 1
harbor::redis_jobservice_db_index: 2
harbor::redis_chartmuseum_db_index: 3
harbor::redis_clair_db_index: 4
harbor::redis_trivy_db_index: 5
harbor::trivy_ignore_unfixed: false
harbor::trivy_skip_update: false
harbor::trivy_offline_scan: false
harbor::trivy_insecure: false
harbor::clair_db_host: 'postgresql'
harbor::clair_db_password: 'root123'
harbor::clair_db_port: 5432
harbor::clair_db_username: 'postgres'
harbor::clair_db: 'postgres'
harbor::clair_updaters_interval: 12
harbor::uaa_ca_cert: ''
harbor::registry_storage_provider_name: 'filesystem'
harbor::registry_storage_provider_config: ''
Expand All @@ -66,5 +57,11 @@ harbor::webhook_job_max_retry: 10
harbor::metrics: false
harbor::metrics_port: 9090
harbor::metrics_path: /metrics
harbor::upload_purging_enabled: true
harbor::upload_purging_age: 168h
harbor::upload_purging_interval: 24h
harbor::upload_purging_dryrun: false
harbor::cache_enabled: false
harbor::cache_expire_hours: 24
harbor::backup_enabled: false
harbor::backup_directory: '/tmp'
140 changes: 0 additions & 140 deletions lib/puppet/provider/harbor_user_settings/swagger.rb
Original file line number Diff line number Diff line change
Expand Up @@ -42,146 +42,6 @@ def auth_mode=(_value)
end
end

def email_from
api_instance = do_login
config = get_config(api_instance)
config.email_from.value
end

def email_from=(_value)
api_instance = do_login
configurations = {
"email_from": resource[:email_from],
}
begin
api_instance[:legacy_client].configurations_put(configurations)
rescue Harbor2LegacyClient::ApiError => e
puts "Exception when calling ProductsApi->configurations_put for email_from: #{e}"
rescue Harbor1Client::ApiError => e
puts "Exception when calling ProductsApi->configurations_put for email_from: #{e}"
end
end

def email_host
api_instance = do_login
config = get_config(api_instance)
config.email_host.value
end

def email_host=(_value)
api_instance = do_login
configurations = {
"email_host": resource[:email_host],
}
begin
api_instance[:legacy_client].configurations_put(configurations)
rescue Harbor2LegacyClient::ApiError => e
puts "Exception when calling ProductsApi->configurations_put for email_host: #{e}"
rescue Harbor1Client::ApiError => e
puts "Exception when calling ProductsApi->configurations_put for email_host: #{e}"
end
end

def email_port
api_instance = do_login
config = get_config(api_instance)
config.email_port.value
end

def email_port=(_value)
api_instance = do_login
configurations = {
"email_port": resource[:email_port],
}
begin
api_instance[:legacy_client].configurations_put(configurations)
rescue Harbor2LegacyClient::ApiError => e
puts "Exception when calling ProductsApi->configurations_put for email_port: #{e}"
rescue Harbor1Client::ApiError => e
puts "Exception when calling ProductsApi->configurations_put for email_port: #{e}"
end
end

def email_identity
api_instance = do_login
config = get_config(api_instance)
config.email_identity.value
end

def email_identity=(_value)
api_instance = do_login
configurations = {
"email_identity": resource[:email_identity],
}
begin
api_instance[:legacy_client].configurations_put(configurations)
rescue Harbor2LegacyClient::ApiError => e
puts "Exception when calling ProductsApi->configurations_put for email_identity: #{e}"
rescue Harbor1Client::ApiError => e
puts "Exception when calling ProductsApi->configurations_put for email_identity: #{e}"
end
end

def email_username
api_instance = do_login
config = get_config(api_instance)
config.email_username.value
end

def email_username=(_value)
api_instance = do_login
configurations = {
"email_username": resource[:email_username],
}
begin
api_instance[:legacy_client].configurations_put(configurations)
rescue Harbor2LegacyClient::ApiError => e
puts "Exception when calling ProductsApi->configurations_put for email_username: #{e}"
rescue Harbor1Client::ApiError => e
puts "Exception when calling ProductsApi->configurations_put for email_username: #{e}"
end
end

def email_ssl
api_instance = do_login
config = get_config(api_instance)
config.email_ssl.value
end

def email_ssl=(_value)
api_instance = do_login
configurations = {
"email_ssl": resource[:email_ssl],
}
begin
api_instance[:legacy_client].configurations_put(configurations)
rescue Harbor2LegacyClient::ApiError => e
puts "Exception when calling ProductsApi->configurations_put for email_ssl: #{e}"
rescue Harbor1Client::ApiError => e
puts "Exception when calling ProductsApi->configurations_put for email_ssl: #{e}"
end
end

def email_insecure
api_instance = do_login
config = get_config(api_instance)
config.email_insecure.value
end

def email_insecure=(_value)
api_instance = do_login
configurations = {
"email_insecure": resource[:email_insecure],
}
begin
api_instance[:legacy_client].configurations_put(configurations)
rescue Harbor2LegacyClient::ApiError => e
puts "Exception when calling ProductsApi->configurations_put for email_insecure: #{e}"
rescue Harbor1Client::ApiError => e
puts "Exception when calling ProductsApi->configurations_put for email_insecure: #{e}"
end
end

def ldap_url
api_instance = do_login
config = get_config(api_instance)
Expand Down
36 changes: 0 additions & 36 deletions lib/puppet/type/harbor_user_settings.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,42 +23,6 @@
newvalues('db_auth', 'ldap_auth', 'uaa_auth', 'oidc_auth')
end

newproperty(:email_from) do
desc 'The sender name for Email notification'
defaultto 'admin <sample_admin@mydomain.com>'
end

newproperty(:email_host) do
desc 'The hostname of SMTP server that sends Email notification'
defaultto 'smtp.mydomain.com'
end

newproperty(:email_port) do
desc 'The port of SMTP server'
defaultto 25
end

newproperty(:email_identity) do
desc 'By default it is empty so the email_username is picked'
end

newproperty(:email_username) do
desc 'The username for authentication against SMTP server'
defaultto 'sample_admin@mydomain.com'
end

newproperty(:email_ssl) do
desc 'When set to true the system will access Email server via TLS by default. If set to false, it still will handle "STARTTLS" from server side'
defaultto false
newvalues(true, false)
end

newproperty(:email_insecure) do
desc 'Whether or not the certificate will be verified when Harbor tries to access the email server'
defaultto false
newvalues(true, false)
end

newproperty(:ldap_url) do
desc 'The URL of LDAP server'
end
Expand Down
1 change: 0 additions & 1 deletion lib/puppet_x/walkamongus/harbor/client.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ def self.do_login
end

def self.do_login_api_v2(client_config)
require 'harbor1_client'
require 'harbor2_client'
require 'harbor2_legacy_client'
Harbor2Client.configure do |config|
Expand Down
36 changes: 18 additions & 18 deletions manifests/config.pp
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
$hostname,
$ui_url_protocol,
$max_job_workers,
$absolute_url,
$logger_sweeper_duration,
$customize_crt,
$ssl_cert,
$ssl_cert_key,
Expand Down Expand Up @@ -38,18 +38,12 @@
$redis_password,
$redis_registry_db_index,
$redis_jobservice_db_index,
$redis_chartmuseum_db_index,
$redis_clair_db_index,
$redis_trivy_db_index,
$trivy_ignore_unfixed,
$trivy_skip_update,
$trivy_offline_scan,
$trivy_insecure,
$trivy_github_token,
$clair_db_host,
$clair_db_password,
$clair_db_port,
$clair_db_username,
$clair_db,
$clair_updaters_interval,
$uaa_ca_cert,
$registry_storage_provider_name,
$registry_storage_provider_config,
Expand All @@ -60,6 +54,12 @@
$metrics,
$metrics_port,
$metrics_path,
$upload_purging_enabled,
$upload_purging_age,
$upload_purging_interval,
$upload_purging_dryrun,
$cache_enabled,
$cache_expire_hours,
){

assert_private()
Expand All @@ -69,7 +69,7 @@
'hostname' => $hostname,
'ui_url_protocol' => $ui_url_protocol,
'max_job_workers' => $max_job_workers,
'absolute_url' => $absolute_url,
'logger_sweeper_duration' => $logger_sweeper_duration,
'customize_crt' => $customize_crt,
'ssl_cert' => $ssl_cert,
'ssl_cert_key' => $ssl_cert_key,
Expand All @@ -95,14 +95,9 @@
'redis_password' => $redis_password,
'trivy_ignore_unfixed' => $trivy_ignore_unfixed,
'trivy_skip_update' => $trivy_skip_update,
'trivy_offline_scan' => $trivy_offline_scan,
'trivy_insecure' => $trivy_insecure,
'trivy_github_token' => $trivy_github_token,
'clair_db_host' => $clair_db_host,
'clair_db_password' => $clair_db_password,
'clair_db_port' => $clair_db_port,
'clair_db_username' => $clair_db_username,
'clair_db' => $clair_db,
'clair_updaters_interval' => $clair_updaters_interval,
'uaa_ca_cert' => $uaa_ca_cert,
'registry_storage_provider_name' => $registry_storage_provider_name,
'registry_storage_provider_config' => $registry_storage_provider_config,
Expand All @@ -118,12 +113,17 @@
'external_redis' => $external_redis,
'redis_registry_db_index' => $redis_registry_db_index,
'redis_jobservice_db_index' => $redis_jobservice_db_index,
'redis_chartmuseum_db_index' => $redis_chartmuseum_db_index,
'redis_clair_db_index' => $redis_clair_db_index,
'redis_trivy_db_index' => $redis_trivy_db_index,
'webhook_job_max_retry' => $webhook_job_max_retry,
'metrics' => $metrics,
'metrics_port' => $metrics_port,
'metrics_path' => $metrics_path,
'upload_purging_enabled' => $upload_purging_enabled,
'upload_purging_age' => $upload_purging_age,
'upload_purging_interval' => $upload_purging_interval,
'upload_purging_dryrun' => $upload_purging_dryrun,
'cache_enabled' => $cache_enabled,
'cache_expire_hours' => $cache_expire_hours,
}

file { '/opt/harbor/harbor.yml':
Expand Down
Loading