Skip to content

Commit

Permalink
Migrate ansible-conjur-host-identity (#38)
Browse files Browse the repository at this point in the history
* Migrate ansible-conjur-host-identity project files

- Migrated all relevent project files
- Migrated Github issue templates
- Migrated misc. files

* Migrate ansible-conjur-host-identity tests

Moved collection tests and host-identity tests to seperate
sub-directories and modified our CI test script to take a
single param for running either

* Modify test directory references in automation

The test directories need to reflect the new
project test heirarchy, otherwise they will not be
able to access the correct resources.

* Fix sanity-test errors for Conjur Role

* Update test runner script

- Modified test-runner script to take certain flags
- Test runner now validates input
- Fixed an issue with the `gitleaks.toml`

* Add Conjur Role information to README.md

* Create role subdirectory

Per Ansible Collection documentation,
the conjur_host_identity role
has been moved to a `role`
subdirectory. A `tests` subdirectory has been added
for this role, and all relevant tests moved there.
  • Loading branch information
BradleyBoutcher authored Sep 29, 2020
1 parent 8581438 commit 01b0c87
Show file tree
Hide file tree
Showing 66 changed files with 1,160 additions and 50 deletions.
162 changes: 162 additions & 0 deletions .codeclimate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
# This is our default .CodeClimate.yml, broken out by language. Uncomment the
# sections at the bottom that apply to your project. ACTION comments indicate
# places where config might need to be tweaked.

version: "2"

plugins:

# ---------------
# Cross-language plugins. Should always be on.

duplication: # Looks for similar and identical code blocks
enabled: true
config:
languages:
go:
java:
javascript:
php:
python:
python_version: 3 # ACTION Comment this out if using Python 2
ruby:
swift:
typescript:

fixme: # Flags any FIXME, TODO, BUG, XXX, HACK comments so they can be fixed
enabled: true
config:
strings:
- FIXME
- TODO
- HACK
- XXX
- BUG

# ---------------
# Commonly-used languages - run time is minimal and all of these will work
# whether files of that language are found or not. In general, leave uncommented

# Markdown
markdownlint:
enabled: true

# Go
gofmt:
enabled: true
golint:
enabled: true
govet:
enabled: true

# Ruby
flog:
enabled: true
reek:
enabled: true
rubocop:
enabled: true
channel: rubocop-0-79 # As of March 10, 2020, rubocop 0.80.1 is the latest
# However, it does not work with CodeClimate - throws
# an Invalid JSON error.
# ACTION uncomment bundler-audit below if using Gemfile/Gemfile.lock
# ACTION uncomment brakeman below if using Rails

# Shell scripts
shellcheck:
enabled: true

# ---------------
# Other languages - will work with or without language files present. Again,
# runtime is minimal, so OK to leave uncommented.

# CoffeeScript
coffeelint:
enabled: true

# CSS
csslint:
enabled: true

# Groovy
codenarc:
enabled: true

# Java
pmd:
enabled: true
sonar-java:
enabled: true
config:
sonar.java.source: "7" # ACTION set this to the major version of Java used
# ACTION uncomment checkstyle below if Java code exists in repo

# Node.js
nodesecurity:
enabled: true
# ACTION uncomment eslint below if JavaScript already exists and .eslintrc
# file exists in repo

# PHP
phan:
enabled: true
config:
file_extensions: "php"
phpcodesniffer:
enabled: true
config:
file_extensions: "php,inc,lib"
# Using Wordpress standards as our one PHP repo is a Wordpress theme
standards: "PSR1,PSR2,WordPress,WordPress-Core,WordPress-Extra"
phpmd:
enabled: true
config:
file_extensions: "php,inc,lib"
rulesets: "cleancode,codesize,controversial,naming,unusedcode"
sonar-php:
enabled: true

# Python
bandit:
enabled: true
pep8:
enabled: true
radon:
enabled: true
# config:
# python_version: 2 # ACTION Uncomment these 2 lines if using Python 2
sonar-python:
enabled: true

# ---------------
# Configuration Required Language specific - these will error and abort the
# codeclimate run if they are turned on and certain files or configuration are
# missing. Should be commented out unless the project already includes the
# necessary files that the linter looks at

# Ruby - requires presence of Gemfile and Gemfile.lock
# bundler-audit:
# enabled: true

# Rails - requires detecting a Rails application
# brakeman:
# enabled: true

# Chef - requires detecting a cookbook
# foodcritic:
# enabled: true

# Java - might require Java code? Errored when run without
# checkstyle:
# enabled: true

# JavaScript - requires an eslintrc to be created and added to project
# eslint:
# enabled: true
# channel: "eslint-6"

# ---------------
# List any files/folders to exclude from checking. Wildcards accepted. Leave
# commented if no files to exclude as an empty array will error
exclude_patterns:
- ".gitignore"
42 changes: 42 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
name: Bug
about: Create a bug report to help us improve
title: ''
labels: kind/bug, component/ansible
assignees: ''

---

## Summary
A clear and concise description of what the bug is.

## Steps to Reproduce
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

## Expected Results
A clear and concise description of what you expected to happen.

## Actual Results (including error logs, if applicable)
A clear and concise description of what actually did happen.

## Reproducible
* [ ] Always
* [ ] Sometimes
* [ ] Non-Reproducible

## Version/Tag number
What version of the product are you running? Any version info that you can share is helpful.
For example, you might give the version from Docker logs, the Docker tag, a specific download URL,
the output of the `/info` route, etc.

## Environment setup
Can you describe the environment in which this product is running? Is it running on a VM / in a container / in a cloud?
Which cloud provider? Which container orchestrator (including version)?
The more info you can share about your runtime environment, the better we may be able to reproduce the issue.

## Additional Information
Add any other context about the problem here.
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: kind/enhancement, component/ansible
assignees: ''

---

## Is your feature request related to a problem? Please describe.

A clear and concise description of what the problem is. Ex. `I would like to see [...] because [...]`.
Please include the intended use case and what the feature would improve on so that we can prioritize
the feature accordingly.

## Describe the solution you would like

A clear and concise description of what the desired end result(s) would be.

## Describe alternatives you have considered

A clear and concise description of any alternative solutions or features that may be related to this that
you have considered.

## Additional context

Add any other context information about the feature request here.
25 changes: 19 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,12 +1,25 @@
# System directories files
.DS_Store
.idea/

# We don't care about test outputs
tests/junit/
tests/conjur.pem
tests/access_token
# Test output
tests/*/junit/
tests/*/conjur.pem
tests/*/access_token
**/test-files/output
junit

# We should never check in pycache directories
# Pycache directories and files
**/__pycache__/
.pytest_cache
*.pyc

# Distributable files should not be included in the repo
# Distributable directories files
*.tar.gz
vendor/

# Temporary files
*.log
.cache
*.retry
*.tmp
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

## [Unreleased]

### Added
- The [Conjur Ansible role](https://galaxy.ansible.com/cyberark/conjur-host-identity) has been
migrated to this collection, where it will be maintained moving forward.
[cyberark/ansible-conjur-host-identity#30](https://github.com/cyberark/ansible-conjur-host-identity/issues/30)

## [1.0.7] - 2020-08-20

### Changed
Expand Down
17 changes: 16 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Contributing to the Ansible Conjur Collection

Thanks for your interest in the Ansible Conjur collection.
For general contribution and community guidelines, please see the [community repo](https://github.com/cyberark/community).

## Pull Request Workflow

Expand All @@ -24,3 +24,18 @@ of this plugin:
- Create the release on GitHub for that tag
- Build the release package with `./ci/build_release`
- Attach package to Github Release

### Testing

To run a specific set of tests:

```sh-session
$ cd tests
$ ./test.sh -d <role or plugin name>
```
To run all tests:

```sh-session
$ cd tests
$ ./test.sh -a
```
17 changes: 14 additions & 3 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,20 @@ pipeline {
}

stage('Run tests') {
steps {
sh './ci/test.sh'
junit 'tests/junit/*'
parallel {
stage("Test conjur_lookup Plugin") {
steps {
sh './ci/test.sh -d conjur_variable'
junit 'tests/conjur_variable/junit/*'
}
}

stage("Test conjur_host_identity Role") {
steps {
sh './ci/test.sh -d conjur_host_identity'
junit 'roles/conjur_host_identity/tests/junit/*'
}
}
}
}

Expand Down
Loading

0 comments on commit 01b0c87

Please sign in to comment.