Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate ansible-conjur-host-identity #38

Merged
merged 7 commits into from
Sep 29, 2020
Merged
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
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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we get extra credit if ansible-lint is added to .codeclimate.yml. :) I don't know how hard this would be to add, but there would have to be an ansible-lint ignore for any of our Conjur secrets/policy YAML files.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would love to, but running codeclimate like we do, it seems we are limited to a set of plugins that doesn't include ansible-lint. We'd have to add it directly in the Jenkinsfile.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ansible-Lint can be included in Molecule tests! I files a follow-up issue, #46

# 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