Class: KubeDeployTools::ArtifactRegistry::Driver::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/kube_deploy_tools/artifact_registry/driver_base.rb

Direct Known Subclasses

Artifactory, GCS

Instance Method Summary collapse

Constructor Details

#initialize(config:) ⇒ Base

Returns a new instance of Base.



9
10
11
# File 'lib/kube_deploy_tools/artifact_registry/driver_base.rb', line 9

def initialize(config:)
  @config = config
end

Instance Method Details

#download(project:, build_number:, flavor:, name:, pre_apply_hook:, output_dir:) ⇒ Object

download should retrieve the artifact namespaced with the given project and build number and identified by the name and flavor. The artifact should be put into the output directory. An optional pre-apply hook will process each artifact at the end.



25
26
27
# File 'lib/kube_deploy_tools/artifact_registry/driver_base.rb', line 25

def download(project:, build_number:, flavor:, name:, pre_apply_hook:, output_dir:)
  raise "#{self.class}#download not implemented"
end

#get_latest_build_number(project) ⇒ Object

get_latest_build_number should find the artifact from the most recent build



31
32
33
# File 'lib/kube_deploy_tools/artifact_registry/driver_base.rb', line 31

def get_latest_build_number(project)
  raise "#{self.class}#get_latest_build_number not implemented"
end

#upload(local_dir:, name:, flavor:, project:, build_number:) ⇒ Object

upload should publish the artifact identified by the given name and flavor in the input directory to the corresponding location in the artifact registry. The project and build number should be included in the namespace of the artifact registry path for this artifact.



17
18
19
# File 'lib/kube_deploy_tools/artifact_registry/driver_base.rb', line 17

def upload(local_dir:, name:, flavor:, project:, build_number:)
  raise "#{self.class}#publish not implemented"
end