Skip to content

Commit

Permalink
Add Terraform/Cargo repository creation commands (#1111)
Browse files Browse the repository at this point in the history
  • Loading branch information
sverdlov93 authored Feb 18, 2024
1 parent 0ba95cf commit d03c56e
Show file tree
Hide file tree
Showing 5 changed files with 134 additions and 29 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- uses: actions/checkout@v4

- name: Setup Python3
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.x"

Expand Down
153 changes: 128 additions & 25 deletions artifactory/commands/repository/repository.go
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,8 @@ var localRepoHandlers = map[string]repoHandler{
Alpine: localAlpineHandler,
Generic: localGenericHandler,
Swift: localSwiftHandler,
Terraform: localTerraformHandler,
Cargo: localCargoHandler,
}

func localMavenHandler(servicesManager artifactory.ArtifactoryServicesManager, jsonConfig []byte, isUpdate bool) error {
Expand Down Expand Up @@ -620,6 +622,36 @@ func localSwiftHandler(servicesManager artifactory.ArtifactoryServicesManager, j
return err
}

func localTerraformHandler(servicesManager artifactory.ArtifactoryServicesManager, jsonConfig []byte, isUpdate bool) error {
params := services.NewTerraformLocalRepositoryParams()
err := json.Unmarshal(jsonConfig, &params)
if errorutils.CheckError(err) != nil {
return err
}

if isUpdate {
err = servicesManager.UpdateLocalRepository().Terraform(params)
} else {
err = servicesManager.CreateLocalRepository().Terraform(params)
}
return err
}

func localCargoHandler(servicesManager artifactory.ArtifactoryServicesManager, jsonConfig []byte, isUpdate bool) error {
params := services.NewCargoLocalRepositoryParams()
err := json.Unmarshal(jsonConfig, &params)
if errorutils.CheckError(err) != nil {
return err
}

if isUpdate {
err = servicesManager.UpdateLocalRepository().Cargo(params)
} else {
err = servicesManager.CreateLocalRepository().Cargo(params)
}
return err
}

func localGenericHandler(servicesManager artifactory.ArtifactoryServicesManager, jsonConfig []byte, isUpdate bool) error {
params := services.NewGenericLocalRepositoryParams()
err := json.Unmarshal(jsonConfig, &params)
Expand Down Expand Up @@ -665,6 +697,8 @@ var remoteRepoHandlers = map[string]repoHandler{
Alpine: remoteAlpineHandler,
Generic: remoteGenericHandler,
Swift: remoteSwiftHandler,
Terraform: remoteTerraformHandler,
Cargo: remoteCargoHandler,
}

func remoteMavenHandler(servicesManager artifactory.ArtifactoryServicesManager, jsonConfig []byte, isUpdate bool) error {
Expand Down Expand Up @@ -1059,6 +1093,34 @@ func remoteSwiftHandler(servicesManager artifactory.ArtifactoryServicesManager,
return err
}

func remoteCargoHandler(servicesManager artifactory.ArtifactoryServicesManager, jsonConfig []byte, isUpdate bool) error {
params := services.NewCargoRemoteRepositoryParams()
err := json.Unmarshal(jsonConfig, &params)
if errorutils.CheckError(err) != nil {
return err
}
if isUpdate {
err = servicesManager.UpdateRemoteRepository().Cargo(params)
} else {
err = servicesManager.CreateRemoteRepository().Cargo(params)
}
return err
}

func remoteTerraformHandler(servicesManager artifactory.ArtifactoryServicesManager, jsonConfig []byte, isUpdate bool) error {
params := services.NewTerraformRemoteRepositoryParams()
err := json.Unmarshal(jsonConfig, &params)
if errorutils.CheckError(err) != nil {
return err
}
if isUpdate {
err = servicesManager.UpdateRemoteRepository().Terraform(params)
} else {
err = servicesManager.CreateRemoteRepository().Terraform(params)
}
return err
}

func remoteGenericHandler(servicesManager artifactory.ArtifactoryServicesManager, jsonConfig []byte, isUpdate bool) error {
params := services.NewGenericRemoteRepositoryParams()
err := json.Unmarshal(jsonConfig, &params)
Expand Down Expand Up @@ -1102,6 +1164,8 @@ var federatedRepoHandlers = map[string]repoHandler{
Generic: federatedGenericHandler,
Yum: federatedYumHandler,
Swift: federatedSwiftHandler,
Terraform: federatedTerraformHandler,
Cargo: federatedCargoHandler,
}

func federatedMavenHandler(servicesManager artifactory.ArtifactoryServicesManager, jsonConfig []byte, isUpdate bool) error {
Expand Down Expand Up @@ -1430,6 +1494,30 @@ func federatedSwiftHandler(servicesManager artifactory.ArtifactoryServicesManage
return servicesManager.CreateFederatedRepository().Swift(params)
}

func federatedTerraformHandler(servicesManager artifactory.ArtifactoryServicesManager, jsonConfig []byte, isUpdate bool) error {
params := services.NewTerraformFederatedRepositoryParams()
err := json.Unmarshal(jsonConfig, &params)
if errorutils.CheckError(err) != nil {
return err
}
if isUpdate {
return servicesManager.UpdateFederatedRepository().Terraform(params)
}
return servicesManager.CreateFederatedRepository().Terraform(params)
}

func federatedCargoHandler(servicesManager artifactory.ArtifactoryServicesManager, jsonConfig []byte, isUpdate bool) error {
params := services.NewCargoFederatedRepositoryParams()
err := json.Unmarshal(jsonConfig, &params)
if errorutils.CheckError(err) != nil {
return err
}
if isUpdate {
return servicesManager.UpdateFederatedRepository().Cargo(params)
}
return servicesManager.CreateFederatedRepository().Cargo(params)
}

func federatedYumHandler(servicesManager artifactory.ArtifactoryServicesManager, jsonConfig []byte, isUpdate bool) error {
params := services.NewYumFederatedRepositoryParams()
err := json.Unmarshal(jsonConfig, &params)
Expand All @@ -1443,31 +1531,32 @@ func federatedYumHandler(servicesManager artifactory.ArtifactoryServicesManager,
}

var virtualRepoHandlers = map[string]repoHandler{
Maven: virtualMavenHandler,
Gradle: virtualGradleHandler,
Ivy: virtualIvyHandler,
Sbt: virtualSbtHandler,
Helm: virtualHelmHandler,
Rpm: virtualRpmHandler,
Nuget: virtualNugetHandler,
Cran: virtualCranHandler,
Gems: virtualGemsHandler,
Npm: virtualNpmHandler,
Bower: virtualBowerHandler,
Debian: virtualDebianHandler,
Pypi: virtualPypiHandler,
Docker: virtualDockerHandler,
Gitlfs: virtualGitLfsHandler,
Go: virtualGoHandler,
Yum: virtualYumHandler,
Conan: virtualConanHandler,
Chef: virtualChefHandler,
Puppet: virtualPuppetHandler,
Conda: virtualCondaHandler,
P2: virtualP2Handler,
Alpine: virtualAlpineHandler,
Generic: virtualGenericHandler,
Swift: virtualSwiftHandler,
Maven: virtualMavenHandler,
Gradle: virtualGradleHandler,
Ivy: virtualIvyHandler,
Sbt: virtualSbtHandler,
Helm: virtualHelmHandler,
Rpm: virtualRpmHandler,
Nuget: virtualNugetHandler,
Cran: virtualCranHandler,
Gems: virtualGemsHandler,
Npm: virtualNpmHandler,
Bower: virtualBowerHandler,
Debian: virtualDebianHandler,
Pypi: virtualPypiHandler,
Docker: virtualDockerHandler,
Gitlfs: virtualGitLfsHandler,
Go: virtualGoHandler,
Yum: virtualYumHandler,
Conan: virtualConanHandler,
Chef: virtualChefHandler,
Puppet: virtualPuppetHandler,
Conda: virtualCondaHandler,
P2: virtualP2Handler,
Alpine: virtualAlpineHandler,
Generic: virtualGenericHandler,
Swift: virtualSwiftHandler,
Terraform: virtualTerraformHandler,
}

func virtualMavenHandler(servicesManager artifactory.ArtifactoryServicesManager, jsonConfig []byte, isUpdate bool) error {
Expand Down Expand Up @@ -1806,6 +1895,20 @@ func virtualSwiftHandler(servicesManager artifactory.ArtifactoryServicesManager,
return err
}

func virtualTerraformHandler(servicesManager artifactory.ArtifactoryServicesManager, jsonConfig []byte, isUpdate bool) error {
params := services.NewTerraformVirtualRepositoryParams()
err := json.Unmarshal(jsonConfig, &params)
if errorutils.CheckError(err) != nil {
return err
}
if isUpdate {
err = servicesManager.UpdateVirtualRepository().Terraform(params)
} else {
err = servicesManager.CreateVirtualRepository().Terraform(params)
}
return err
}

func virtualGenericHandler(servicesManager artifactory.ArtifactoryServicesManager, jsonConfig []byte, isUpdate bool) error {
params := services.NewGenericVirtualRepositoryParams()
err := json.Unmarshal(jsonConfig, &params)
Expand Down
2 changes: 2 additions & 0 deletions artifactory/commands/repository/template.go
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,8 @@ const (
Conda = "conda"
P2 = "p2"
Swift = "swift"
Terraform = "terraform"
Cargo = "cargo"

// Repo layout Refs
BowerDefaultRepoLayout = "bower-default"
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ require (
gopkg.in/warnings.v0 v0.1.2 // indirect
)

replace github.com/jfrog/jfrog-client-go => github.com/jfrog/jfrog-client-go v1.28.1-0.20240214141548-6691c4323f52
replace github.com/jfrog/jfrog-client-go => github.com/jfrog/jfrog-client-go v1.28.1-0.20240218093454-1c352a93c23d

// replace github.com/jfrog/build-info-go => github.com/jfrog/build-info-go v1.8.9-0.20231220102935-c8776c613ad8

Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,8 @@ github.com/jfrog/build-info-go v1.9.21 h1:bcD0SEC2lEilhjE+aDB3xlvA8zsr4Kw/bFzvr9
github.com/jfrog/build-info-go v1.9.21/go.mod h1:Vxv6zmx4e1NWsx40OHaDWCCYDeYAq2yXzpJ4nsDChbE=
github.com/jfrog/gofrog v1.6.0 h1:jOwb37nHY2PnxePNFJ6e6279Pgkr3di05SbQQw47Mq8=
github.com/jfrog/gofrog v1.6.0/go.mod h1:SZ1EPJUruxrVGndOzHd+LTiwWYKMlHqhKD+eu+v5Hqg=
github.com/jfrog/jfrog-client-go v1.28.1-0.20240214141548-6691c4323f52 h1:eDwEWEKfz9gigNJNF60ioZFG3R/33Qq2z+5lH/FfO9Q=
github.com/jfrog/jfrog-client-go v1.28.1-0.20240214141548-6691c4323f52/go.mod h1:fV5wrs86ihQkFKfMKpGxMbNf3mbVT4LUf320C1T9C2M=
github.com/jfrog/jfrog-client-go v1.28.1-0.20240218093454-1c352a93c23d h1:59C2AOjdp5Wp/WoeQZkOGbAtKnhY1a9YhrnAdeVbVYs=
github.com/jfrog/jfrog-client-go v1.28.1-0.20240218093454-1c352a93c23d/go.mod h1:fV5wrs86ihQkFKfMKpGxMbNf3mbVT4LUf320C1T9C2M=
github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4=
github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
Expand Down

0 comments on commit d03c56e

Please sign in to comment.